2

我试图获取clearcase vob的完整历史记录来解析它并将其与gource一起使用以获取更改的可视化表示,但我找不到正确的命令来获取使用clearcase2gource python 脚本解析的简单日志历史记录。我不使用 UCM,没有流,只是普通的 cleacase。

使用此命令,我可以在路径中间获得带有 @@ 的元素:

cleartool lshistory -fmt "Element: %n| Date: %d| User:%u| Operation: %e| Object:%[type]p| SimpleType: %m| OperationKind: %o\n" -all /vobs/vob_name

使用这个命令,我得到这样的元素(在某些时候被删除):

Element: /vobs/vob_name/dir1@@/main/branch_dev/2/dir2/main/branch_pilot/1/file@@/main/branch_pilot/1| Date: 2008-04-15T16:58:28+02:00| User:reeasjp| Operation: create version| Object:compressed_file| SimpleType: version| OperationKind: checkin

由于中间有几个分支名称,这使得解析 gource 变得更加困难。

有没有什么方法可以通过简单的目录和文件名获取所有元素的完整历史记录?

提前致谢。

注意:在配置规范中,我只有“/main/LATEST”。

4

1 回答 1

0

问题是:

    e = d['Element']
    splitElement = e.split("@@")
    d['FileName'] = splitElement[0]
    d['StreamName'] = splitElement[1]
    # StreamName starts with /main/ which we aren't interested in.
    # Remove the /main/ (slice on 5 because there are 5 chars in /main/)
    d['StreamName'] = d['StreamName'][5:]
  • cleartool lshistory --all列出已删除元素的历史记录(在当前 ClearCase 视图中不再可见),因此有多个分支名称。

最简单的解决方案是:

  • 将输出重定向cleartool lshistory到文件,并且
  • 然后过滤掉所有不符合clearcase2gource.py预期的扩展路径:例如,仅用于测试,仅保留特定分支中的路径或/main仅保留路径,以查看是否效果更好。
  • 最后将该文件作为输入提供给clearcase2gource.py
于 2015-03-27T11:30:15.590 回答