2009-07-07 123 views
3

我試圖編寫svn版本庫中更改/添加的文件列表,以便與phing一起使用,使用以下命令。svn比較版本的修訂範圍

svn diff --no-diff-deleted --summarize -r 50:HEAD path/to/workingcopy 

當我反向修正範圍(-r開關​​),像這樣:

svn diff --no-diff-deleted --summarize -r HEAD:50 path/to/workingcopy 

..我得到不同的結果。雖然這是我需要的行爲,但我不明白(也許我錯過了一些東西)。例如:

假設頭版本有一個帶有一些文件的新目錄:第二個命令將只列出新目錄,而第一個命令也會列出其中的所有新文件。至少,這是我認爲它經過一些測試後的結果。

我找不到任何關於此事的明確文件。有人可以解釋修訂範圍的順序意味着什麼嗎?謝謝!

回答

6

在第一種情況下,您將獲得修訂版本50和頭部之間所做的所有更改。這是你自然期待的,所以我不會進一步解釋。然而,相反的範圍更有趣一些。這是您需要向Head申請修訂版本50的區別。簡而言之,它是指定如何撤消所有已完成的更改。你說「第二個命令將只列出新目錄」,這是正確的:它告訴你刪除目錄,這會自然刪除它的內容。