Git 包破坏了 bash 完成?

Git 包破坏了 bash 完成?

我准备尝试安装 git 包。在 Synaptic 的依赖项选项卡中,它写道:

  • 休息时间: bash 完成 (<1:1.9-1)
  • 休息时间:bash 完成[斜体]

我安装了存储库提供的最新版本的 bash-completion(版本 1:2.8-1ubuntu1)。

我读过 git 附带一些改编的自动完成功能,我想这个功能实际上不会阻止 bash 中的完成工作,对吧?

此外,该apt-get -s install git命令不会输出有关 bash-completion 包的任何内容。

所以我的问题是:

  • 由于我已经安装了最新版本的 bash-completion 软件包,那么在安装 git 的特定情况下会发生什么情况?
  • 在这个特定的上下文中,斜体的第二行意味着什么?这两行有何不同,并且没有合并为一行 '休息时间: bash-completion' 行?

编辑(附加信息)

  • 我有 Linux Mint 19.1(Ubuntu 18.04 基础)
  • 存储库提供 git 1:2.17.1-1ubuntu0.4

答案1

你正在看到这个突触错误,这导致它错误解析“破坏”依赖项。这两个包实际上并不不兼容。

您应该能够使用其他工具安装 git,例如sudo apt-get install git在终端中。不会对bash-completion包裹有任何影响。我可以确认至少在 Ubuntu 16.04 和 18.04 上安装git和软件包没有问题,并且这确实允许 bash 智能地完成 git 命令。bash-completion


git包与该包的旧版本不兼容bash-completion,因此它声明了一个依赖项Breaks: bash-completion (<< 1:1.90-1),这意味着该 git 包与任何早bash-completion1:1.90-1.这是一个古老的版本,当前支持的任何 Ubuntu 版本中都不存在:最旧的支持版本 (xenial) 具有1:2.1-4.2ubuntu1.不兼容的原因是该git包提供了自己的 bash 完成脚本文件,并且 bash 完成脚本的结构在旧版本的bash-completion.

相关内容