1

我想从 Bash 脚本中找到 ClearCase 中签出文件的父级。例如,如果我输入,ct ls我会得到:

$ ct ls some_file
some_file@@/main/some/branch/CHECKEDOUT from some_file@@/main/some/branch/6   Rule: CHECKEDOUT

我想some_file@@/main/some/branch/6从脚本中找到父版本 ( )。当然,我可以使用 awk 或类似的文本处理工具,但我认为这是一个非常丑陋的解决方案,并且可以很容易地破坏更多奇特的文件名(例如,如果它有空格或字符串“from”)。

4

1 回答 1

0

使用(cleartool describe)的 " %PSn" 格式fmt_ccase

 cleartool describe -fmt "%PSn" some_file@@/main/some/branch/CHECKEDOUT

 %PSn

Predecessor Short name :
对于一个版本,前一版本的版本 ID 的缩写形式:branch-pathname/version-number
对于其他对象,空字符串。

请注意,对于@@/main/0所有元素、文件或目录都有),它也将返回一个空字符串。


OP petersohn 提到类似于:

cleartool describe -short -pred some_file@@/main/some/branch/CHECKEDOUT
于 2012-12-06T08:45:54.563 回答