我注意到CVS的新版本使用commitid。如何使用CVS commitid功能?
我想这是最近的一个增加 - 因为'在那些日子里'没有这样的事情。
谷歌搜索我发现大多数与CVSNT有关的评论 - 但似乎承诺也存在于标准的开源CVS中。
如何利用commitid功能(在标准CVS中)?
例如:
- 如何显示到commitids之间的差异?
- 如何列出与特定提交ID相关联的文件/版本号?
我注意到CVS的新版本使用commitid。如何使用CVS commitid功能?
我想这是最近的一个增加 - 因为'在那些日子里'没有这样的事情。
谷歌搜索我发现大多数与CVSNT有关的评论 - 但似乎承诺也存在于标准的开源CVS中。
如何利用commitid功能(在标准CVS中)?
例如:
CVS本身似乎没有任何与commitid做任何事情,除了设置它。
这里的文件说什么(info cvs
):
在
commit
,独特的commitid被放置在 仓库里RCS文件。所有立即提交的文件获得相同的提交,一个字符串 只包含十六进制数字(通常在GNU CVS中为16,在 MirBSD和MirDebian GNU CVS中为19)。 FSF GNU CVS 1.11,MirOS GNU CVS 1.11, 和OpenBSD OpenCVS不支持提交。可以使用log
和status
命令检索到的commitid可以是 ;请参阅*注释日志::和 *注意文件状态::。
其他工具可以解析输出cvs log
并确定给定提交的提交。特别是,在单个cvs commit
命令中提交的更改将具有相同的提交ID。我可以想象它对于将CVS存储库转换为其他系统(如SVN或Git)的工具很有用。
但是这些工具必须允许由旧版CVS创建的存储库没有此功能。例如,我在CVS中维护的一个文件有211个提交,其中前186个没有提交;显然这是当我转向更新版本的CVS(2007年底或2008年初)时。
一起提交的更改也应该共享相同的时间戳,但这不太可靠。将时间戳与作者相结合应该更可靠一些,但仍然不完美。