问题标签 [diff3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
283 浏览

perl - 如何在 Subversion 中为 diff 和 diff3 使用一个脚本?

我有一个 Perl 脚本,它根据文件的内容确定要使用的外部差异。我也想用它来确定外部 diff3。

了解如何调用我的脚本的最佳方法是什么?

我打算捕获最后三个参数,并验证它们是否都是文件,以使用 diff3 选项,但我希望有一个更干净的方法。

0 投票
2 回答
7240 浏览

git - 与 Git 和 KDiff3 进行三向比较

是否可以设置 Git 以便我可以在 KDiff3 中使用三向比较?

我有两个完全不同的分支,无法自动合并它们,我只需要检查每个合并点,我认为最好的方法是检查我想要来自另一个分支的更改的分支并说

然后在 KDiff3 中选择合并文件。在浏览完文件后,我将提交。

我已将 merge.conflictstyle 和 diff.conflictstyle 设置为 diff3,但 KDiff3 仍然以双向 diff 开始。这可能吗?我猜如果 Git 也将共同祖先的哈希作为参数发送,这是可能的,但是是吗?

关于如何使用 SVN 和 BC3 执行此操作的讨论,但我找不到 Git 和 KDiff3 的任何内容。

0 投票
1 回答
856 浏览

merge - GNU diff3(三路合并)给出了意想不到的结果

假设文件 MINE 和 YOURS 是 OLD 的后代。

FILE_MINE=

FILE_OLD=

文件_你的=

命令diff3 -m MIND OLD YOURS给出:

diff3 无法解决 MINE 和 YOURS 进行了相同的更改。

为什么?而且,有没有办法解决这个问题?

用这个逗你的大脑:

diff OLD MIND并且diff OLD YOURS在他们的输出中有相同的帅哥。

这些帅哥不应该在三路合并期间“取消”吗?

0 投票
2 回答
1681 浏览

windows - 类似 diff3 的 Windows 程序?

我是 linux 用户,通常我使用 kdiff3 来比较彼此之间的 3 个(文本)文件(例如,当有 svn 冲突时)。我知道有各种程序可以做到这一点(如 diff3 或 meld),但没有适用于 windows 的程序。

是否有适用于 Windows 的 3 文件差异?

0 投票
2 回答
352 浏览

svn - Subversion 配置:diff3-has-program-arg 有什么用?

Subversion 有选项diff3-has-program-arg

diff3确实支持该--diff-program选项,但我看不到在哪里配置要调用的程序。

  • 我该怎么做呢?
  • 我为什么要这样做?
0 投票
1 回答
190 浏览

linux - 通过命令行在 mercurial 合并上使用 diff3

我坐在 Putty 中一分为三的屏幕前,显示我的文件。我无法弄清楚我需要谷歌什么才能找到有关如何导航 KDIFF3 的命令行 UI 的文档。我试图弄清楚如何逐行或通过冲突进行冲突或完全获取整个文件。你们能帮我找一本手册或告诉我如何浏览这个 GUI 吗?

谢谢

0 投票
2 回答
521 浏览

svn - 合并时Araxis合并不显示文件名

我有与 Araxis 合并集成的 svn 命令行客户端,即使没有发现冲突,我也想手动合并。例如,当我运行时:所以在我的 ~/.subversion/config 文件中我设置了 diff3 外部编辑器:

但是当我跑步时

Araxis 合并不会在面板标题中显示实际文件名,所以我不知道我实际合并的文件。

有谁知道如何使 araxis 合并显示完整的文件名?

0 投票
1 回答
740 浏览

mercurial - hg 自动与 diff3 合并

考虑一个具有两个中心分支/克隆的 Hg 项目 - 例如 DEV 和 PRD。当有人将修补程序推送到 PRD 时,中央服务器上的自动脚本会转到 DEV 并提取新更改。然后它会尝试将修补程序合并到 DEV 中。

问题是集成到 Hg 中的合并工具很糟糕——一旦对同一个文件进行并行更改,它就会失败。举个例子:

如您所见,这里没有实际的冲突。如果我们在本地使用 kdiff 进行合并,它可以解决这个简单的情况而无需用户输入!

我想要一种让中央服务器来管理这些案例的方法。我想过在静默模式下使用 kdiff3,但我无法在其上安装 kdiff3(这是一个仅 CLI 的系统,我们甚至没有管理员访问权限),但也许有一种方法可以将 diff3 插入 hg merge 所以它可以解决这样的简单案例吗?我尝试在 hgrc 中设置“[ui] /n merge = diff3”,但它只是将三个版本吐出到标准输出。我错过了一些额外的配置吗?还是有更简单/更好的工具?

非常感谢

0 投票
1 回答
745 浏览

diff - 带有“<<<<<<< mine”和“>>>>>>>> yours”类型标记的带注释的差异文件

我正在尝试使用具有如下标记的 Linux diff 命令创建一个 diff 文件(取自 diff3 手册页):

这种格式对我来说非常直观,让我可以轻松地修复 vim 中的合并冲突,当我尝试使用 diff3 合并三个文件(我的、你的和原始的)时它工作得很好,但我想要普通 diff 的相同格式。我希望这很简单,但我无法得到它。我已经尝试了大多数主要选项(-e、--ed 等),甚至尝试创建 --changed-group-format 但没有成功。

希望这是我刚刚忽略的简单事情。

更新:

添加行、删除行和冲突行的两个文件差异示例:

在此处输入图像描述

0 投票
1 回答
349 浏览

git - git上的奇怪冲突

我读了一篇关于三向合并(diff3)的文章。它提供了一个关于如何检测冲突的示例。例子是:

它第一次计算 OA 和 OB 之后的差异:

之后diff3 parse

在它检测到冲突之后:

按照这种方法检测冲突,我尝试了一个简单的例子:最初我有文档:

我对用户 1 进行更新"a;",对"a=0;" 用户 2 进行更新"b;""b=0;" 得到以下结果:

当我合并这两个文档时,即使我不在同一位置(a and b are not at the same position)更改,我也会发生冲突!有人可以解释我为什么会有这种冲突?