2009-10-07 98 views

回答

0

cvs log將返回所有這些。既然你不能說「的最後N個版本」(在這裏,我甚至不能說cvs log HEAD),有兩種選擇:

  1. 使用head -N一開始的N個最上面的線(Unix或Cygwin的唯一)

  2. 使用日期和cvs log -d DATE

0

由於CVS版本實現每個文件單獨,我想你必須通過每一個文件,並比較提交時間戳來確定哪一個是最新的。結合CVS不支持提交集的概念這一事實,您可以獲得一堆具有相同提交時間戳的文件。那麼哪一個是最新的?或者,也許你可以創建一個提交掛鉤,寫入日誌文件並使用它來確定最新的提交。

正如你可能知道的那樣,這些都不是特別給出的選擇路徑。我強烈建議,在模塊級別,您總是會與標籤進行比較。建立一個軟件過程,包括在做出足夠重要的改進時標記模塊(例如每日構建,部署到測試環境等),然後使用創建的標記作爲比較基準。

可以完成使用

  • cvs rdiff命令沒有工作拷貝版本比較對標籤的最新變化,或在工作副本頂級
  • cvs diff命令

請參閱CVS文檔以獲取完整參考。

8

我想也許你可以使用歷史命令。試試像這樣:

cvs history -c -D 2012-04-01 -a 

上面的例子顯示自指定日期以來的所有提交(指定所以列表的長度是有限的......)。

-c表示提交, -a表示所有用戶。

具有相同時間戳和用戶的提交顯然來自同一提交。然後,您可以繼續閱讀日誌消息犯了

cvs log -r <version> <file> 

只需選擇其中的一個文件從具體承諾。您也可以在歷史記錄輸出中找到該文件的版本。最後,看看我會使用的差異

cvs diff -D "<date 1>" -D "<date 2>" 

在這裏,「日期1」和「日期2」應該是提交之前和之後的時間戳。請注意(據我所知),如果您正在分支(??)上工作,這似乎不起作用。這將是我想提出的另一個問題的主題。

相關問題