Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Merge Mercurial合并期间重复的代码_Merge_Mercurial - Fatal编程技术网

Merge Mercurial合并期间重复的代码

Merge Mercurial合并期间重复的代码,merge,mercurial,Merge,Mercurial,我们有相当多的ASP.Net(C#)网站使用Mercurial。偶尔,合并会出现“某些”问题,少量行被复制到结果文件中;但是,合并过程中未发现合并冲突 复制的行通常是非常“通用”的行,如块闭包(大括号、结束标记等)。在某些情况下,它们会导致编译器错误;在其他情况下,它们会导致JS故障;在其他情况下,只是无效的标记导致浏览器兼容性问题 我们有许多人在项目上进行协作,他们经常在合并回一个“主要”分支(一个用于测试站点,另一个用于生产站点)之前,彼此分支,在分支之间合并,等等 当两个分支独立启动,在某

我们有相当多的ASP.Net(C#)网站使用Mercurial。偶尔,合并会出现“某些”问题,少量行被复制到结果文件中;但是,合并过程中未发现合并冲突

复制的行通常是非常“通用”的行,如块闭包(大括号、结束标记等)。在某些情况下,它们会导致编译器错误;在其他情况下,它们会导致JS故障;在其他情况下,只是无效的标记导致浏览器兼容性问题

我们有许多人在项目上进行协作,他们经常在合并回一个“主要”分支(一个用于测试站点,另一个用于生产站点)之前,彼此分支,在分支之间合并,等等

当两个分支独立启动,在某个点合并,然后两个分支独立合并回测试站点主分支时,问题似乎最常见。我们假设,由于要合并到测试中的第二个分支没有被合并到测试中的历史记录,因此它包含了第一个分支合并中已经合并的所有更改集,并且在某些情况下,没有检测到重复项,因为上下文太通用,无法正确放置它,只包含它

这个问题有名字吗?这是一个已知的问题吗?是否有避免这种情况的程序?这似乎是一个常见的问题,但我似乎找不到任何关于它的信息

我们已经考虑过添加钩子来禁止合并,如果一个祖先的后代已经合并到目标分支中,但是考虑到项目的大小和涉及的分支的数量,这可能会非常缓慢

我们还考虑添加钩子来实施某种“深度和沿袭”控制,这样合并只能发生在父分支上,而不能发生在兄弟、表亲或祖父母分支上,但这将极大地破坏几个人的协作和工作流程

想法

但是,合并过程中未发现合并冲突

嗯,我想说有人在解决冲突方面做得非常糟糕

这怎么可能?他们不懒惰,对吗

我在玩
graft
,我的diff工具做了一些愚蠢的事情。 例如,文件index.html,在默认分支中:

</div>
</div>
</body></html>
但是B与
默认值合并

<p>a</div>
<br></div>
</body></html>
a

几个小时后,我知道hg-graft不像merge那样工作。我需要将分支B的两个提交传递到
hg-graft


可能您的问题与此无关,我猜您的团队只使用
hgmerge
。但我仍然相信,一定有人在某种程度上错误地合并了内容。

你能举出一个完整的例子来说明你的问题吗?一个简短的shell脚本,创建一个显示问题的回购协议就足够了。我不确定。我们的大多数问题都与非常复杂的文件和分支模式有关。我不确定我能否通过一个简单的例子实现这一点。但是,我要试一试。人们使用不同的行尾吗?是的,设计师主要使用Mac,程序员主要使用Windows,因此行尾在文件中经常不一致。我们的程序清楚地告诉人们要合并,而不要提及嫁接。我问过的人甚至不知道贪污的存在,所以他们似乎不太可能利用贪污来偷懒。
<p></div>
</div>
</body></html>
<p>a</div>
</div>    
</body></html>
<p>a</div>
</div>
<br></div>
</body></html>
<p>a</div>
<br></div>
</body></html>