Automation 使用mercurial获得修订之间的差异序列
我希望看到mercurial存储库中同一文件的连续(不相同)版本之间的差异序列。显然,我可以通过解析Automation 使用mercurial获得修订之间的差异序列,automation,mercurial,Automation,Mercurial,我希望看到mercurial存储库中同一文件的连续(不相同)版本之间的差异序列。显然,我可以通过解析hglog的结果,提取变更集,然后一次读取这两行,并在循环中发出hg diff-r$first\u changset-r$second\u变更集来实现这一点 但是-有没有更直接/优雅/图形化的方法实现同样的效果 注意:虽然没有注释,但至少不是默认情况下的注释。我希望能够看到同一变更集的所有变更集中在一起。最快的方法是使用hg export,例如: hg export -r reva:revb 这
hglog
的结果,提取变更集,然后一次读取这两行,并在循环中发出hg diff-r$first\u changset-r$second\u变更集来实现这一点
但是-有没有更直接/优雅/图形化的方法实现同样的效果
注意:虽然没有注释,但至少不是默认情况下的注释。我希望能够看到同一变更集的所有变更集中在一起。最快的方法是使用hg export
,例如:
hg export -r reva:revb
这实际上会给你一个重要的补丁,但是额外的元信息通常是有用的
具有最可配置输出的最通用解决方案是带有模板的hg log
,例如:
hg log -r reva:revb -T '{diff()}\n'
diff()
模板函数采用可选参数来指定包含和排除模式。有关详细信息,请参见hg帮助模板
请注意,这也适用于-G
,并将在差异旁边绘制依赖关系图。即使图形是线性的,这也有助于找到差异的开始和结束。显然,您还可以向模板添加更多信息,例如修订号、哈希、提交消息和作者
正常情况下,hg diff-c
用于显示修订版产生的差异,但不幸的是,当您有多个修订版时,这不起作用。我是否可以仅对那些更改存储库中单个文件的修订版起作用?您可以使用修订集仅包括影响该文件的修订版,例如,reva:revb和文件(模式)
。