cleartool findmerge和标签

时间:2017-01-11 20:31:51

标签: merge clearcase cleartool

我正在尝试为Base ClearCase编写一个脚本,该脚本将查找给定分支和标签上的所有文件,并执行这些文件与另一个分支的简单合并,然后使用不同的标签标记新合并的文件。

例如,在分支\main\Proj\Proj_INT1上标记为Ver4的给定文件,我想将文件合并到\main\Proj分支,并用Ver4X标记它们(如果它们是需要合并)。

我知道我可以使用-fver "\main\Proj\Proj_INT1\Ver4"来查找我要合并的文件版本,但我不确定如何将合并与应用标签结合起来。

从文档中看,看起来不可能cleartool findmerge ... -merge -exec "cleartool mklabel ...",所以我当前正在尝试cleartool findmerge ... -log <out_file.log> -print,然后解析生成的日志以获取所有文件版本。但是,假设findmerge命令在目录处停止,我需要多次重复此操作,直到所有目录和文件都合并为止(尝试编写和解析cleartool输出时有点头疼)。

是否有惯用或简单的方法来执行合并然后标记文件?也许我可以执行合并并让cleartool生成一个日志,显示合并文件的版本(所以我然后可以标记)?

此外,如果我执行cleartool findmerge ... -merge操作,它如何处理非平凡的合并?我不期待任何非平凡的合并,但我想跳过一个如果遇到非平凡的合并,则错误或完全停止合并。

1 个答案:

答案 0 :(得分:1)

正如我在&#34; ClearCase: When using clearfsimport to perform a reset merge, how can I keep it from creating evil twins?&#34;中所提到的,你需要:

    首先
  • findmerge个文件夹(-type d),然后是文件(-type f
  • 使用findmerge -abort来解决任何会导致findmerge失败的手动合并。

我没有使用findmerge ... -merge,而是使用-exec "cleartool merge $CLEARCASE_PN..."语法使用import os import hashlib def hash_function(input_str): """Run pbkdf2_hmac with a 20byte salt, and 120,000 round on the input.""" salt = os.urandom(20) return hashlib.pbkdf2_hmac('sha256', input_str, salt, 120000)

相关问题