git commit - 在mercurial中等效的verver?

时间:2012-10-27 04:42:29

标签: git mercurial

在git中,我可以使用“git commit --verbose”在消息编辑器中向我显示差异。 mercurial中我没有看到任何选项。是否有一个mercurial插件在消息编辑器或类似的东西中显示差异?

4 个答案:

答案 0 :(得分:6)

简短回答:mercurial中没有git commit --verbose个等价物,但是可能会将其破解。

编辑文本在mercurial source中进行了硬编码,因此没有插件或配置可以直接更改它。

您可以做的最好的事情是破解hgrc中的ui.editor设置,直接在编辑器中添加文本。我创建了一个名为hg-commit-editor的脚本:

#!/bin/sh
echo 'HG: ------------------------ >8 ------------------------' >> $1
hg diff >> $1
editor $1
exit $?

然后将其设置为我的hgrc中的提交编辑器:

[ui]
editor = hg-commit-editor

这会在特殊行(source)之后将“hg diff”的输出附加到编辑文本文件的底部,因此它不会作为提交消息的一部分包含在内。

答案 1 :(得分:1)

不是直接但你可以合并:

所以:生成一个包含正确信息的文件(要推送的文件列表)作为提交消息。

答案 2 :(得分:1)

最简单的解决方案是下载this(使用左侧的raw链接),将其放入$PATH,然后将HGEDITOR环境变量设置为这个脚本。

执行hg commit时,您会在单独的窗口中看到差异。

另见https://www.mercurial-scm.org/wiki/hgeditor

@Mu Mind的脚本应该仍然有效,如果你希望它的行为与git commit --verbose一样接近,那可能更好。

答案 3 :(得分:0)

不完全相同的结果,但最近的迭代:

在提交之前,您可以hg diff在WC中查看差异,使用alias extension您可以为命令对创建别名“hg diff& hg commit”