我想从 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")。
使用fmt_ccase
的"%PSn
"格式(cleartool 描述)
cleartool describe -fmt "%PSn" some_file@@/main/some/branch/CHECKEDOUT
%PSn
前身简称:
对于版本,前置版本版本 ID 的缩写形式:branch-pathname/version-number
。
对于其他对象,为空字符串。
请注意,对于@@/main/0
(所有元素、文件或目录都有),它还将返回一个空字符串。
OP petersohn 提到它类似于:
cleartool describe -short -pred some_file@@/main/some/branch/CHECKEDOUT