Clearcase 自动交付合并

Clearcase 自动交付合并,clearcase,clearcase-automation,Clearcase,Clearcase Automation,我的要求是关于clearcase交付: 我想自动化交付无需手动干预/无交付失败流程: 交付时-如果存在任何合并问题 1.如果CC能够合并文件,它的好处是-让它合并, 2.如果CC无法合并-我不希望它失败,而是让我们不要合并该特定文件还原该文件的合并,继续下一个文件。 3.列出跳过的文件,以便以后手动合并 我怀疑我们能否在一个步骤中完成这项工作,但请告诉我这是否可行,并说明具体操作过程。您可以在合并过程中单击“全部跳过”,但您必须以某种方式解决这些问题。 最简单的方法是首先确保这些文件不被考虑合并

我的要求是关于clearcase交付: 我想自动化交付无需手动干预/无交付失败流程: 交付时-如果存在任何合并问题 1.如果CC能够合并文件,它的好处是-让它合并, 2.如果CC无法合并-我不希望它失败,而是让我们不要合并该特定文件还原该文件的合并,继续下一个文件。 3.列出跳过的文件,以便以后手动合并


我怀疑我们能否在一个步骤中完成这项工作,但请告诉我这是否可行,并说明具体操作过程。

您可以在合并过程中单击“全部跳过”,但您必须以某种方式解决这些问题。 最简单的方法是首先确保这些文件不被考虑合并,见下文

但是,没有一种本机方法可以自动化您描述的过程:

交付时,如果存在任何合并问题

如果CC能够合并文件,让它合并, 如果CC无法合并-我不希望它失败,相反,让我们不要合并该特定文件还原该文件的合并,继续下一个文件。 列出跳过的文件,以便以后手动合并。 您将需要编写一个脚本来管理这些案例,即使在这种情况下,它也无法用于UCM合并交付/重新基础,直到所有文件都被合并后才能完成,因此我在下面给出了红色箭头建议

该脚本基本上会使用a的输出来合并所有目录/文件,然后首先合并目录,然后逐个合并文件,应用您的策略

用于确保始终忽略某个文件

对于当前合并: 您可以通过显示版本树并右键单击源版本来模拟合并:合并到并选择“不合并”,绘制表示合并的合并箭头,如中所示。 这样做的目的是欺骗当前交付,使其相信此文件已被合并,即使在合并过程中没有进行任何修改,您只是在源版本和目标版本之间绘制了红色或合并箭头

对于未来的合并: 您可以更改与文件类型关联的合并管理器,以便永远不会合并该文件。 请参见,其中说明了如何创建新的特殊类型管理器:


然后,您可以使用将该合并管理器应用于特定的文件。

最初,我尝试了以下命令来获取文件列表以合并文件名,重命名活动以避免混淆:

cleartool findmerge活动:a@\a\u pvob活动:b@\a\u pvob-fcset-ftag接受\u交付\u流-类型d-合并-log c:\temp\am.log

cleartool findmerge活动:a@\a\U pvob活动:b@\a\U pvob-fcsets-ftag接受\U交付\U流-类型f-打印-日志c:\temp\af.log

所以它将命令列表返回到af.log文件,当我试图执行这些命令时,它甚至在一小时后挂起,一个命令是:


cleartool findmerge M:\WM2011\u DEV\u INTG\u WMOSBUILD\u 01\WM08\CPP\base\foundation\general\invupdates\InvUpdate.CPP-fver\main\Mainline\u Int\WM08\u Integration\WM09\u Integration\WM2010\u DEV\u INTG\main\u WM2012\u IND\9-log num-merge-cqe我想我不太清楚,让我清楚地描述一下我的问题:我想自动化交付无手动干预/无交付失败流程:交付时-如果有任何合并问题1.如果CC能够合并文件,让它合并,2.如果CC无法合并-我不希望它失败,而是让它不合并特定文件恢复该文件的合并,继续下一个文件。3.列出跳过的文件,以便以后手动合并。@vasu我已编辑了答案以解决您的特定问题,但由于没有真正的方法自动处理,我的原始答案的最后部分仍然相关谢谢verymuch VonC,我可以尝试这个选项。我还有一个疑问:使用findmerge是否可以打印/记录streamview级别而不是活动级别的所有合并文件activity@vasu是的,findmerge将打印要合并的文件和目录。您甚至可以要求findmerge合并UCM活动,它仍将打印目录和文件。但是,对于目录,它将停止在那里,这意味着它不会列出需要首先合并的目录中的任何文件。当findmerge列出要合并的文件时,这些文件是不需要合并的目录的一部分。再次感谢Von,我运行findmerge-print命令,它返回.log文件,当我尝试运行日志文件中的命令时,它只是挂起,我不确定原因,命令:cleartool findmerge*\InvUpdate.cpp-fver*\9-log num-merge-cqe输出:需要合并*\InvMgmtImpl.cpp[到*\27 from*\15 base*\26]对*\InvMgmtImpl.cpp的签出注释:就是这样,它挂起了。。。