有没有办法配置hg com
,以便在外部编辑器中弹出的提交消息文件中,而不是仅显示哪些文件已更改(在HG:
行中),它实际显示完全差异?我宁愿查看输出并在我的文本编辑器中同时编写提交消息,而不是事先单独在命令行上执行hg diff
。
答案 0 :(得分:5)
截至2016年,可以使用committemplate
配置选项执行此操作。将以下内容添加到hgrc
文件将在您键入提交消息时在编辑器窗口中包含内联的差异。
[committemplate]
changeset = {desc}\n\n
HG: {extramsg}
HG: user: {author}\n{ifeq(p2rev, "-1", "",
"HG: branch merge\n")
}HG: branch '{branch}'\n{if(currentbookmark,
"HG: bookmark '{currentbookmark}'\n") }{subrepos %
"HG: subrepo {subrepo}\n" }
{splitlines(diff()) % 'HG: {line}\n'}
请参阅hg help hgrc
并搜索committemplate
以获取更多信息。
答案 1 :(得分:2)
Mercurial没有将其作为内置功能,但在编辑器中很容易模拟(由提交启动)。
以下是使用VIM的示例:https://www.mercurial-scm.org/wiki/DiffsInCommitMessageInVIM
hgeditor脚本https://www.mercurial-scm.org/hg/hg-stable/raw-file/tip/hgeditor提供了更多示例。
基本的主旨是:
hg diff
重定向到临时文件答案 2 :(得分:1)
TortoiseHg开箱即用:提交消息的顶部面板及其下方,左侧窗格列出受影响的文件,右侧窗格显示差异,一个接一个。