克鲁斯堡试图锚定你的补丁,但内容相互矛盾

时间:2013-12-02 16:42:41

标签: patch atlassian-crucible

我正在尝试使用Crucible和CVS进行预先审核。当我上传补丁时,它说

Crucible tried to anchor your patch, but there was conflicting content

显然这是一个常见问题。 hits in jira.

我的所有文件都有关键字标签$ Log:NameOfTheFile.java,v $,这似乎是罪魁祸首。如果我删除标记并提交,问题就会消失 - 我可以将预先提交的补丁上传到Crucible。但是,我不想从我的文件中删除所有关键字标签。

还有其他解决方法吗? One page说我可以手动编辑差异。如何??

1 个答案:

答案 0 :(得分:0)

问题是CVS在结帐时扩展关键字 。因此,CVS中的文件副本具有未扩展标记,但PC上的副本具有扩展标记。这是导致锚失败的原因。在$ Log $的情况下,扩展在标记之后添加三行。要使锚点工作,您必须编辑补丁,使这三行消失。你有两个选择

  1. 生成包含所有行的补丁,cvs diff -u100000,然后编辑补丁以删除$ Log $之后的三个行,或
  2. 生成具有有限上下文的补丁,cvs diff -u,然后编辑补丁以从所有“@@”行中减去3。例如,如果补丁包含“@@ -116,63 +109,50 @@”,则需要将其更改为“@@ -113,63 +106,50 @@”
  3. 当您查看CVS文件中的日志时,这与off by one bug有关。