2010-07-28 86 views
4

我的意思是我需要通過一些數字或字符串來識別一組應用的修補程序,以便快速檢查是否與沒有任何同步的其他人具有相同的代碼版本。如何識別darcs存儲庫中的修訂版本?

是否有一些內置darcs解決方案?

回答

5

有沒有簡短的標識符 - 這是便宜的櫻桃採摘darcs給你的缺點之一。首先運行darcs optimize --reorder,然後查看darcs changes --context的輸出,但您可以獲得較長的標識符 - 但具有相同內容的兩個回購站可能會按不同順序列出上下文中的內容,因此它仍不完美。您可以對輸出進行排序並對其進行比較。

所以,總體來說

darcs optimize --reorder 
darcs changes --context | sort | md5sum 

會給你一個版本標識符的一個合理的近似。

darcs optimize --reorder這一步並不是絕對必要的,如果沒有它,您可能會得到不同的結果,當回購實際上包含相同的一組補丁。

1

您也可以使用darcs pulldarcs push來查看是否有任何補丁未同步。

$ darcs pull --dry-run ; darcs push --dry-run 


Would pull from "/home/masse/temp/2013/01/09/tests/project"... 
Would pull the following changes: 
Wed Jan 9 16:39:50 EET 2013 [email protected] 
    * Canonical order for colors 

Making no changes: this is a dry run. 
Would push to "/home/masse/temp/2013/01/09/tests/project"... 
No recorded local changes to push! 
+0

使用'darcs pull'和'darcs push'是我認爲檢查差異的常用方法。由於這兩個命令都是交互式的,你也可以運行它們並查看結果,可能按'c'獲得補丁數量,然後退出而不用拖拉任何東西。 – 2013-08-15 01:03:31

相關問題