如何使用ClearCase列出我所有的签入记录?

18

使用cleartool,是否可以获取给定源代码目录树中我所做的所有检入列表?如果可能,我想看到检入时间和文件版本。我正在使用Windows。

提前感谢。

3个回答

19

这需要使用 cleartool find 命令:

  • 使用 -exec 指令描述找到的版本
  • 使用 -fmt 更好地格式化结果
  • 使用 -created_by 查询语言运算符将结果限制为只有你的签入版本。

您可以显示所有签入文件的所有版本,也可以显示每个签入版本的一个文件(即“元素”)。在您的情况下,要查看何时进行了签入操作,您需要列出这些版本。

类似于:

REM Windows syntax
cleartool find . -ver "created_by(myLogin)" -exec "cleartool descr -fmt \"%En : %Sn made %Vd\n\" \"%CLEARCASE_XPN%\""

# Linux syntax
cleartool find . -ver 'created_by(myLogin)' -exec 'cleartool descr -fmt "%En : %Sn made %Vd\n" "$CLEARCASE_XPN"'

'.'代表的是当前目录,用于查看您的版本。

%Sn将会给出分支/版本号,%Ln则仅会给出版本号。


2
@AmitP 嗯,是的...cc非常糟糕和丑陋。显然只使用git就可以了。我不知道我的同事们如何忍受这个丑陋的东西多年... - Alexander.Iljushkin
@VonC 当我运行上述命令时,出现了“未匹配的”错误。你有什么建议吗? - sandywho
@sandywho 你输入了什么命令?使用的是哪个版本的ClearCase?在哪个操作系统上?是在动态视图还是快照视图中? - VonC
@VonC 谢谢,它可以工作,但我在输出中看到一些错误信息:cleartool: 错误:无法访问 "./Makefile@@/main/Main_proj_int/sub_proj_int/user_view/0%": 没有那个文件或目录。cleartool: 错误:无法访问 "./Makefile@@/main/Main_proj_int/sub_proj_int/user_view/1%": 没有那个文件或目录。 - sandywho
1
@sandywho 抱歉,最后的%符号不应该出现。我已经编辑了答案来修复命令。 - VonC
显示剩余2条评论

11

我知道原问题是关于cleartool的,但许多人不知道您也可以使用ClearCase ReportBuilder GUI完成此操作。使用GUI(除了不必学习cleartool find语法之外),其优点在于您可以右键单击所选元素并立即弹出“与上一个版本进行比较”或“版本树”。这取决于您想要对输出执行什么操作。

ReportBuilder可在“Administration”文件夹下找到(所有程序 > IBM Rational ClearCase XXX > Administration > ReportBuilder)。您可能没有注意到它,因为它被隐藏在“Administration”下,但它不仅适用于管理员 - 对于任何使用ClearCase的人来说,有许多有用的查询。

在Report Builder中,转到Elements > Checkins Since Date by User,并选择要报告的目录、日期以及您的用户ID,然后单击“运行报告”。


0

我在DOS shell中使用了这个命令(而不是Cygwin),以便(1)忽略目录,(2)获取提交注释:

cleartool find . -ver "eltype(text_file) && created_by(your_login)" -exec "cleartool descr -fmt \"%n: %c\n\n--\n\n\" \"%CLEARCASE_XPN%\"" >> checkins.txt

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