问题标签 [three-way-merge]

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 投票
1 回答
92 浏览

svn - 从一个分支的工作副本合并到另一个分支(本地,不提交)

我的大部分经验是使用 Perforce,而我上次的 svn 经验是很久以前的事了,所以我对(乌龟)svn(再次)还不是很舒服。

我想将更改从工作副本转移到另一个相关分支中新签出的工作副本。

准确地说,考虑:

哪个是让我在 WC_A、trunk_revx 和 WC_B 之间进行三向合并而不提交任何内容的正确命令?合并(调用哪个 WC 文件夹?)或切换(再次调用哪里?)?

所有的条款都不一样,所以我有点迷茫;)

0 投票
2 回答
745 浏览

git - 在保留 3-Way 合并信息的同时解决 IDE 中的合并冲突

(我使用 SourceTree 作为我的 Git 工具,Beyond Compare 来解决合并冲突,并使用 Eclipse 作为我的 Java IDE。)

冲突非常复杂,我无法在合并工具中解决它,并且必须手动解决它(跨多个文件)。

理想情况下,我只想使用我的代码版本,查看 Beyond Compare 中的冲突,并使用它来建议我在 Eclipse 中的更改。

不起作用的事情:

  1. 如果我只是在 Eclipse 中打开有冲突的版本,那么代码不会编译,所以我失去了静态类型检查等的所有用处。
  2. 如果我只是在 Git (SourceTree) 中“使用 ours/mine 解决”以便我可以在 Eclipse 中打开它,那么我会丢失所有可以用来解决冲突的漂亮的三向合并信息。
  3. 用主版本对文件的 HEAD 版本进行简单的差异也不能解决我的问题 - 差异的信息太少。我想要三方面的信息。

我是以错误的方式接近这个吗?我应该使用不同的策略来解决冲突吗?是否有 Git 或 BC4 的功能可用于在编辑文件的特定版本时单独保留冲突信息?

0 投票
2 回答
360 浏览

python - python中的三向字典深度合并

我想合并两个字典AB,知道两个字典的共同先前状态C。我也需要在子词典中进行合并。在真正发生冲突的情况下,我需要提出一个例外。

1 - 在以下示例中,合并方法应了解 A 和 B 编辑了不同的项目,因此合并不应引发冲突

2 - 该功能需要能够处理新项目和已删除项目

3 - 当真正的冲突发生时,函数应该引发异常

4 - 函数应该递归工作

实现这种合并功能的最佳方法是什么?

0 投票
1 回答
256 浏览

merge - 使用 Meld 视觉差异和合并工具处理 [re]moved 行

我有一个关于 Meld 视觉差异和合并工具的问题,这可能是一个简单的误解。但是我如何采用在$REMOTE?

请参阅下面的屏幕截图以获取示例。我已经更改了导入的顺序并创建了合并冲突,所以现在我想从右侧拉出第一个更改,然后还有第二个更改将删除现在已经存在于导入顶部的那些行。我当然可以手动删除它们,但肯定有更简单的方法吗?

还是我的假设是错误的,即中间窗格是写入的结果$MERGED

三路合并截图

编辑:在这个人为的例子中,我实际上有一个删除操作,我可以用它来删除这些行。但是在现实世界的合并中,我尝试使用 meld 进行删除操作是灰色的,从右侧拉动操作也是如此。知道为什么 Meld 不允许我删除那些将被从右上方拉动而过时的行吗?

0 投票
1 回答
72 浏览

shell - 我可以使用 dwdiff 和 diff3 获得三路 *word* 差异吗?

我知道有GUI可以在三向差异中显示单词差异,并且有命令行工具可以显示双向单词突出显示差异。

但是,是否有一种命令行方式可以显示带有word-higlighting的三向差异,就像我可以使用 word-higlighted获得双向差异一样?diff -u a b | dwdiff -u

0 投票
1 回答
85 浏览

git - 独立合并/ git diff --no-index 的 3 路等效项

我们可以git在没有 git repos 的情况下使用 's diff 工具git diff --no-index <FILE-A> <FILE-B>

git给定三个输入文件(“我们的”、基本的和“他们的”),是否有类似的命令用于运行的合并算法?特别是它应该输出“diff3”风格(看到冲突中的“基础”是必不可少的)

我知道它不能像 git 的递归合并策略那样聪明,但我会对像“解决”策略这样的基本策略感到非常满意。