在git中,我可以使用“git commit --verbose”在消息编辑器中向我显示差异。 mercurial中我没有看到任何选项。是否有一个mercurial插件在消息编辑器或类似的东西中显示差异?
答案 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)
不是直接但你可以合并:
hg commit -l filename.txt
德尔> hg commit
?” hg commit
时编辑器出现时,您会看到
用:hg -q outgoing --style ~/out-style.txt | sort -u
hg outgoing -v |grep files: |cut -c 14- |tr ' ' '\n' |sort -u
所以:生成一个包含正确信息的文件(要推送的文件列表)作为提交消息。
答案 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”