我目前正在使用为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按原样更改**
我想知道以下内容:
-
如果上述提交信息与两个修订的差异有关,则哪个修订显示为修订(在svn 1667884中)Id和变更集(Hg 276992:8b564af029aa)Id。是提交前的修订还是提交后的修订Id?如果是第二个版本,如何在svn和HG中获得相关的先前版本?我可以使用hgdiff-c changesetid来获得以前的版本吗?
-
当考虑变更集时,第一个数字部分是否被视为修订id?
-
有没有任何命令可以用来获取更改后的类型(修改、删除、忽略等),例如:"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
。