问题标签 [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.
perl - 如何在 Subversion 中为 diff 和 diff3 使用一个脚本?
我有一个 Perl 脚本,它根据文件的内容确定要使用的外部差异。我也想用它来确定外部 diff3。
了解如何调用我的脚本的最佳方法是什么?
我打算捕获最后三个参数,并验证它们是否都是文件,以使用 diff3 选项,但我希望有一个更干净的方法。
git - 与 Git 和 KDiff3 进行三向比较
是否可以设置 Git 以便我可以在 KDiff3 中使用三向比较?
我有两个完全不同的分支,无法自动合并它们,我只需要检查每个合并点,我认为最好的方法是检查我想要来自另一个分支的更改的分支并说
然后在 KDiff3 中选择合并文件。在浏览完文件后,我将提交。
我已将 merge.conflictstyle 和 diff.conflictstyle 设置为 diff3,但 KDiff3 仍然以双向 diff 开始。这可能吗?我猜如果 Git 也将共同祖先的哈希作为参数发送,这是可能的,但是是吗?
有关于如何使用 SVN 和 BC3 执行此操作的讨论,但我找不到 Git 和 KDiff3 的任何内容。
merge - GNU diff3(三路合并)给出了意想不到的结果
假设文件 MINE 和 YOURS 是 OLD 的后代。
FILE_MINE=
FILE_OLD=
文件_你的=
命令diff3 -m MIND OLD YOURS
给出:
diff3 无法解决 MINE 和 YOURS 进行了相同的更改。
为什么?而且,有没有办法解决这个问题?
用这个逗你的大脑:
diff OLD MIND
并且diff OLD YOURS
在他们的输出中有相同的帅哥。
这些帅哥不应该在三路合并期间“取消”吗?
windows - 类似 diff3 的 Windows 程序?
我是 linux 用户,通常我使用 kdiff3 来比较彼此之间的 3 个(文本)文件(例如,当有 svn 冲突时)。我知道有各种程序可以做到这一点(如 diff3 或 meld),但没有适用于 windows 的程序。
是否有适用于 Windows 的 3 文件差异?
linux - 通过命令行在 mercurial 合并上使用 diff3
我坐在 Putty 中一分为三的屏幕前,显示我的文件。我无法弄清楚我需要谷歌什么才能找到有关如何导航 KDIFF3 的命令行 UI 的文档。我试图弄清楚如何逐行或通过冲突进行冲突或完全获取整个文件。你们能帮我找一本手册或告诉我如何浏览这个 GUI 吗?
谢谢
svn - 合并时Araxis合并不显示文件名
我有与 Araxis 合并集成的 svn 命令行客户端,即使没有发现冲突,我也想手动合并。例如,当我运行时:所以在我的 ~/.subversion/config 文件中我设置了 diff3 外部编辑器:
但是当我跑步时
Araxis 合并不会在面板标题中显示实际文件名,所以我不知道我实际合并的文件。
有谁知道如何使 araxis 合并显示完整的文件名?
mercurial - hg 自动与 diff3 合并
考虑一个具有两个中心分支/克隆的 Hg 项目 - 例如 DEV 和 PRD。当有人将修补程序推送到 PRD 时,中央服务器上的自动脚本会转到 DEV 并提取新更改。然后它会尝试将修补程序合并到 DEV 中。
问题是集成到 Hg 中的合并工具很糟糕——一旦对同一个文件进行并行更改,它就会失败。举个例子:
如您所见,这里没有实际的冲突。如果我们在本地使用 kdiff 进行合并,它可以解决这个简单的情况而无需用户输入!
我想要一种让中央服务器来管理这些案例的方法。我想过在静默模式下使用 kdiff3,但我无法在其上安装 kdiff3(这是一个仅 CLI 的系统,我们甚至没有管理员访问权限),但也许有一种方法可以将 diff3 插入 hg merge 所以它可以解决这样的简单案例吗?我尝试在 hgrc 中设置“[ui] /n merge = diff3”,但它只是将三个版本吐出到标准输出。我错过了一些额外的配置吗?还是有更简单/更好的工具?
非常感谢
diff - 带有“<<<<<<< mine”和“>>>>>>>> yours”类型标记的带注释的差异文件
我正在尝试使用具有如下标记的 Linux diff 命令创建一个 diff 文件(取自 diff3 手册页):
这种格式对我来说非常直观,让我可以轻松地修复 vim 中的合并冲突,当我尝试使用 diff3 合并三个文件(我的、你的和原始的)时它工作得很好,但我想要普通 diff 的相同格式。我希望这很简单,但我无法得到它。我已经尝试了大多数主要选项(-e、--ed 等),甚至尝试创建 --changed-group-format 但没有成功。
希望这是我刚刚忽略的简单事情。
更新:
添加行、删除行和冲突行的两个文件差异示例:
git - git上的奇怪冲突
我读了一篇关于三向合并(diff3)的文章。它提供了一个关于如何检测冲突的示例。例子是:
它第一次计算 OA 和 OB 之后的差异:
和
之后diff3 parse
:
在它检测到冲突之后:
按照这种方法检测冲突,我尝试了一个简单的例子:最初我有文档:
我对用户 1 进行更新"a;"
,对"a=0;"
用户 2 进行更新"b;"
,"b=0;"
得到以下结果:
当我合并这两个文档时,即使我不在同一位置(a and b are not at the same position
)更改,我也会发生冲突!有人可以解释我为什么会有这种冲突?