2010-07-28 45 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

相关问题