我想从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”)。
答案 0 :(得分:0)
使用fmt_ccase
的“%PSn
”格式(cleartool describe)
cleartool describe -fmt "%PSn" some_file@@/main/some/branch/CHECKEDOUT
%PSn
前身短名称:
对于版本,前一版本的简短形式的版本ID:branch-pathname/version-number
对于其他对象,空字符串。
请注意,对于@@/main/0
(all elements, files or directories, have),它也会返回一个空字符串。
它类似于OP petersohn mentions:
cleartool describe -short -pred some_file@@/main/some/branch/CHECKEDOUT