Clearcase:列出2个基线之间所有已更改的文件

3

我想要知道在两个基线之间有哪些文件发生了更改。我需要得到一个文本列表。通过界面,我需要进入每个基线的活动中,在这个对话框中,我列出了文件,但无法将名称复制到文本编辑器中。

1个回答

2
正常的命令是:
cleartool diffbl -ver baseline1@\apvob baseline2@\apvob

但请注意,它将列出两个基线之间更改的所有版本,而不仅仅是元素(文件或目录)。
这意味着一个文件可能会被列出多次,因为在两个基线之间有多个版本的该文件已经发生了更改。 旧帖子提到了一个潜在的解决方案(未经测试),以便只列出元素(文件或目录)一次。
my %elem = map {
  tr|\\|/|; # Convert slashes to unix style.
  s|^<< M:/^/+/^/+/||; # Drop view tag and vob tag.
  s|\@\@.*||; # Drop branch and version id.
  $_ => 1; # Pick up the path.
} qx(cleartool diffbl -version -first $laterbl $olderbl);
print sort keys %elem;

OP neves 确认 这个想法是行得通的,包括:

cleartool diffbl -ver baseline_abc.123@\\MYVOB baseline_abc.358@\\MYVOB | \
  awk -F '\\' '{print $8}' |grep @@|sort| uniq|sed 's/@@//' 

谢谢!它运行得很好。在ClearCase中,另一个简单的事情却很难。这是我的bash脚本,只获取文件名:cleartool diffbl -ver baseline_abc.123@\MYVOB baseline_abc.358@\MYVOB |awk -F '\' '{print $8}' |grep @@|sort| uniq|sed 's/@@//' - neves
@neves 很好。我已经将你的一行命令包含在答案中,以增加可见性。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接