我注意到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年初)時。
一起提交的更改也應該共享相同的時間戳,但這不太可靠。將時間戳與作者相結合應該更可靠一些,但仍然不完美。