使用ClearCase的cleartool findmerge命令进行自动合并

3
我正在撰写一个脚本来自动化一些合并操作,我想使用以下命令进行操作:
cleartool findmerge file_name -fver /main/branch_name/LATEST -merge -log NUL -c "Automatic merge"
问题是,有时我会收到这个消息,需要按Enter键才能继续执行过程:
Needs Merge "file_path" [to _branch_ from _another_branch_ base _yet_another_branch_]
有没有办法避免这种情况发生?
1个回答

4
findmerge存在问题,正如这篇技术文章所描述的那样,它可能会根据合并超链接的位置返回不一致的“需要合并”信息。
而且这个问题不太可能在短时间内得到解决:

这需要重大的架构改变,在接下来的18个月内不会得到解决。
请与 Rational 客户支持合作,了解 UCM 最佳实践,以克服这种限制。

我还没有找到一个简单的解决方案:
我通常首先在目录上运行 findmerge(使用 -type d),这样就不会出现额外的消息问题。然后,如果所有的目录都是合并的,我就会转到文件上,使用 -merge -abort(在第一个冲突处停止):由于您的合并本来就不应该有任何冲突,所以这种模式(-merge -abort)不太可能报告“需要合并”的消息。

1
@epzee:merge 可以工作... 前提是你知道要合并哪个文件或目录。这不是一个递归命令(这就是为什么 findmerge -merge 实际上存在的原因!) - VonC
1
@epzee:需要特别注意的是确保先合并目录,这意味着文件列表是准确的。然后逐个合并每个文件。如果该列表包含目录,则始终先合并目录。 - VonC
只是想让您知道,在Windows 7上使用ClearCase 8时,cleartool findmerge的-abort选项根本不起作用。 :-(无论是否指定-abort,如果存在非平凡合并,cleartool仍将打开图形合并工具。我不得不调用findmerge 3次。首先执行目录合并,然后查找但不执行所有其他合并,然后分析输出,然后仅在所有合并都包含子字符串*(automatic)时才第三次调用它。最近我发现即使是(automatic)*部分也不可靠...(续在下一篇文章中) - antred
@antred 真的很奇怪... 你是否向 IBM 支持团队提交了 PMR 来报告这个问题? - VonC
有时候,即使cleartool已经生成了自动打印输出,它仍然会打开图形合并工具,只是发现图形合并工具可以自行解决合并问题,但仍需要用户点击“确定”按钮来关闭该工具,这当然会使脚本化方法无法运行。啊,ClearCase,我发誓它最终会让我失去理智。 - antred
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接