【发布时间】:2014-01-07 00:51:38
【问题描述】:
因此,我在 clearcase 中的两个分支之间创建差异日志/补丁的典型方法是简单地创建两个视图并执行典型的 unix 差异。但我必须假设有一种更清晰的方式(也是“1-liner”)。
所以知道如何获取分支上所有已修改文件的列表:
cleartool find . -type f -branch "brtype(<BRANCH_NAME>)" -print
并知道如何获取两个单独文件的差异格式输出:
cleartool diff FILE FILE@@/main/PARENT_BRANCH_PATH/LATEST
那么是否有人看到以下任何问题以获取分支中已更改的所有文件的差异?
cleartool find . -type f -branch "brtype(CHILD_BRANCH)" -exec 'cleartool diff -ser $CLEARCASE_PN `echo $CLEARCASE_XPN | sed "s/CHILD_BRANCH/LATEST/"` ' > diff.log
非常欢迎任何修改和cmets
提前致谢!
更新:任何关于如何使其成为 unix 统一差异的想法也将不胜感激。
update2:所以我想我有我的解决方案,感谢 VonC 向我发送了正确的方向:
cleartool find . -type f -branch "brtype(CHILD_BRANCH)" -exec 'cleartool get -to $CLEARCASE_PN.prev `echo $CLEARCASE_XPN | sed "s/CHILD_BRANCH/LATEST/"`; diff -u $CLEARCASE_PN.prev $CLEARCASE_PN; rm -f $CLEARCASE_PN.prev' > CHILD_BRANCH.diff
输出似乎有效,我可以毫无怨言地通过 kompare 读取文件。
【问题讨论】:
-
我已经编辑了我的答案以解决您问题的最后一部分。
-
看起来不错。我在下面的答案中包含了您的解决方案,以提高知名度。