#1585·paru

`--no-ext-diff` 并未传递给 `git diff` 命令

作者: diniamo创建于 2026年8月24日更新于 2026年8月24日

受影响的版本 paru v2.1.0 - libalpm v16.0.1

描述 Paru 使用 git diff 为正在更新的 AUR 包生成 .diff 文件。在我看来,.diff 文件应该使用常规的差异比较语法,而不是外部差异工具提供的语法。即使我想使用外部差异工具,我也需要颜色,因为没有颜色时它是不可读的,但 paru 使用 --color=never 禁用了颜色。我认为最合理的解决方案是始终向 git diff 传递 --no-ext-diff 标志。 我尝试在自己的端上修复此问题,但据我所知,唯一的解决方法是使用传递给 git diff--no-ext-diff 标志(不是 git!),而 paru 却不允许我这样做。 Git 没有用于禁用选项的标志或环境变量(我只能将 diff.external 设置为空字符串,这会使 git diff 出错)。因此,要在我的端上解决此问题,唯一的方法是为 paru 创建一个 git 脚本,检查所使用的子命令是否为 diff,如果是,则附加 --no-ext-diff 标志,但这是一个巨大的恶意代码。 因此,如果出于某种原因, --no-ext-diff 不应该始终传递(在我看来,应该传递,正如我之前解释的那样),可以在 paru 中添加 GitDiffFlags 选项,以便用户可以传递它。

内容来源: Morganamilo/paru