在HG中获取更改后的文件类型和以前的版本



我目前正在使用为HG和SVN生成的提交日志收集一些信息。

SVN样本:


r1667884|kschenk|2015-03-20 05:37:55+0800(2015年3月20日,星期五)|1线

#126118#修复makefile中格式错误的if语句

汞样品:


**变更集:276992:8b564af029aa

书签:writercompare01

标签:提示

父级:266455:88565218dc235

用户:thb@openoffice.org

日期:2010年3月19日星期五00:16:57+0100

摘要:CWS writercompare01:#i10237#从Tzvetelina按原样更改**

我想知道以下内容:

  1. 如果上述提交信息与两个修订的差异有关,则哪个修订显示为修订(在svn 1667884中)Id和变更集(Hg 276992:8b564af029aa)Id。是提交前的修订还是提交后的修订Id?如果是第二个版本,如何在svn和HG中获得相关的先前版本?我可以使用hgdiff-c changesetid来获得以前的版本吗?

  2. 当考虑变更集时,第一个数字部分是否被视为修订id?

  3. 有没有任何命令可以用来获取更改后的类型(修改、删除、忽略等),例如:"M/openoffice/ttrunk/main/vcl/Module_vcl.mk")在HG中,以及如上所述每次提交更改的文件?

谢谢dr

我在这里说的是mercurial:

广告2)变更集ID(由全局唯一散列唯一本地有效的数字ID引用)表示一组变更。因此,如果您使用修订版276992:8b564af029aa签出您的存储库,那么它将包括包含所有更改的存储库(包括该更改集所做的更改)。

广告1)我认为这是一个不幸的术语,但你似乎称之为"提交后的修订id"。

您可以使用mercurials revset术语来浏览历史。如果是您感兴趣的上一次提交,并且hg diff -c changesetID的输出适合您,请使用hg diff -c changesetID^(注意后面的^)。另见hg help revset

广告3)在这里,mercurials模板引擎非常强大:请参阅hg help templates,了解如何根据需要定制日志输出——它允许进行出色的微调。如果hg log -rXXX --stat的输出对你来说不够,我建议你的案例使用一个模板,比如:

hg log -rXXX --template="{file_adds % 'A {file}n'}{file_mods % 'M {file}n}{file_dels, 'R {file}n'}"

其中XXX是要查询的变更集ID;它模拟CCD_ 7的输出。此外,还可以在模板中使用file_copies。请注意,当调查变更集而不是工作目录的状态时,"被忽略的文件"的概念没有多大意义。如果您想要构成某个修订版、已更改或未更改的所有文件的列表,可以使用hg manifest

最新更新