如果您想成功重新创建特定的代码(标签)版本,我发现必须从VOB开始应用标签。我认为你不必从VOB名称开始,但你做到了: - (
我的VOB中有很多程序。例如:
VOBname\programs\Java\Program1\files...
VOBname\programs\Java\Program2\files...
VOBname\programs\VB\Program1\files...
VOBname\programs\VB\Program2\files...
我想要做的是有一个脚本或程序,它接受两个参数,路径和标签,并将该标签应用于该路径中的正确目录和文件。
它不应该将标签应用于其他非相关目录(即,如果我标记Java \ Program1,它也不应该标记Java \ Program 2。
我还需要反过来 - 如果有人错误地应用了标签,那么我需要从路径中删除标签。
很久以前,这个功能似乎已经被整合到GUI或脚本中,但是我没有看到一个可用的功能。当然,您可以手动执行此操作,但这需要更长的时间,尤其是如果您有一条很长的路径。
我知道你可以标记一个目录和该目录下的所有内容,但是如果你从VOB开始,那将标记所有内容(我不想要的)。
答案 0 :(得分:1)
最简单的解决方案是:
递归地应用路径
中的标签cd /path
cleartool mklabel -replace -recurse LABEL
对于给定路径,提取父文件夹,并标记:
avob/
avob/aParentFolder
avob/aParentFolder/aParentSubFolder
根据您的脚本语言,提取父文件夹可以像perl File::Basename
my($filename, $directories, $suffix) = fileparse($path);
# On Unix returns ("baz", "/foo/bar/", "")
fileparse("/foo/bar/baz");