我在另一个问题上看到了对CVSNT 自动生成的唯一提交 ID 的引用,该 ID 标记了每次提交。我认为我部门中的大多数人都在使用 CVSNT 或它的前端。
我在CVSNT 手册中找到了提交标识符,但没有说明如何确定文件特定修订版的 CVSNT 提交标识符是什么。有没有办法做到这一点?我想知道正在为其他人的签入生成哪些提交标识符,以便我可以将他们提交中涉及的文件组合在一起。
CVS 命令日志和 rlog 都显示文件的各个修订版本的提交标识符。我不知道使用此标识符获取检索信息的 CVS 命令,但我可以确认单个提交中的所有文件共享相同的标识符。
我有我自己的日志文件解析器,它使用 commit-id 将受单个提交影响的文件组合在一起(例如,更改历史记录按日期排序并将文件分组为单个提交)。
阅读您的链接后,您可能可以指定类似“log -r @commit-id”的内容来获取共享提交标识符的受影响文件的列表。命令行可能有更多的调整,但以下给出了一些成功(有点嘈杂):
c:\> cvs -q log -N "-r @fd049d34574117b"
=============================================================================
RCS file: /folder/file.xml,v
Working file: folder/file.xml
head: 1.3
branch:
locks: strict
access list:
keyword substitution: kv
total revisions: 4; selected revisions: 1
description:
=============================================================================
RCS file: /folder/file2.xml,v
Working file: /folder/file2.xml
head: 1.2
branch:
locks: strict
access list:
keyword substitution: kv
total revisions: 2; selected revisions: 0
description:
=============================================================================
请注意,第一个文件包含“选定的修订:1”,这意味着提交对应于文件的版本。
如果您不想推出自己的工具,请尝试寻找“cvs changeset”: