有什麼方法可以列出CVS中兩個標籤之間已更改的所有文件?CVS:列出標籤(或日期)之間更改的所有文件
每次我們發佈一個版本時,我們都會在該版本的所有文件上應用一個標籤。我想查找所有發佈版本之間更改的文件。
如果我能找到在兩個日期之間改變的所有文件,它也可以工作。
有什麼方法可以列出CVS中兩個標籤之間已更改的所有文件?CVS:列出標籤(或日期)之間更改的所有文件
每次我們發佈一個版本時,我們都會在該版本的所有文件上應用一個標籤。我想查找所有發佈版本之間更改的文件。
如果我能找到在兩個日期之間改變的所有文件,它也可以工作。
我想這個命令將幫助:
cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs
其中RELEASE_1_0
和RELEASE_1_1
是你的標籤的名稱。
你可以找到關於CVS diff命令here
多一點信息,再加上它應該是相當簡單的創建一個腳本,使報告滿足您的需求更suitbable,例如:文件的數量改變,刪除創建等據我所知,最常用的cvs GUI工具(wincvs和tortoise)不提供這種開箱即用的東西。
希望它可以幫助;)
DLira的方法給出了很多細節,包括所有的變化。
只得到文件列表,這個工程:
cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 | grep "Index:" > diffs
抱歉,我忘記評論詳細程度以及如何得到您想要的內容。但你是對的! grep是一種很好的方式來獲得你所需要的。 ;) – 2008-09-26 16:28:29
的最佳工具,我發現這是一個名爲cvs2cl.pl一個perl腳本。這可以生成幾種不同格式的更改列表。它有很多不同的選擇,但我使用的標籤 - 標籤選項是這樣的:
cvs2cl.pl --delta dev_release_1_2_3:dev_release_1_6_8
或
cvs2cl.pl --delta dev_release_1_2_3:HEAD
我也做用相同的工具日期比較。
我更喜歡使用rdiff
和-s
選項
cvs rdiff -s -r RELEASE_1_0 -r RELEASE_1_1 module > diffs
rdiff
不需要沙箱; -s
爲您提供了所做更改的摘要。
我在這裏嘗試了大多數其他的選擇,並與其他人一起,我無法捕捉到所有的變化。謝謝! – Victor 2012-08-30 20:57:45
得到執行過一個版本和另一個改變使用標準CVS命令文件的列表:
cvs -q log -NSR -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt
或者,讓犯評論列表剛落-R
:
cvs -q log -NS -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt
如果您將V-1-0-69
和V-1-0-70
替換爲您正在比較的修訂版本。
要使用CVS得到兩個日期之間的文件列表:
cvs diff -N -c -D YYYY-MM-DD -D YYYY-MM-DD | grep "Index:" > diff.out
上接受日期-D標誌
的更多信息:http://docs.freebsd.org/info/cvs/cvs.info.Common_options.html
cvs log -d ">=DATE" -N -S -R > cvs.log
有能產生一個perl腳本調用cvs2cl不錯的格式化日誌版本,無論是作爲完成的報告,還是作爲文本或XML後處理:http://www.red-bean.com/cvs2cl/ – 2008-09-26 14:35:46
剛剛通過谷歌發現這一點,它爲我節省了大量工作,非常感謝! 我試圖通過'歷史'命令找出,忘記差異。 – 2008-11-12 20:35:45
`-N`在Windows機器上給出錯誤:`cvs [server aborted]:無法在基於NT的機器上使用保留文件名'nul' – 2017-01-10 09:33:44