[PATCH] cmdutil: show diffs in commit message with ui.verbosecommit option

Jordi Gutiérrez Hermoso jordigh at octave.org
Wed Jul 10 10:24:27 CDT 2013

# HG changeset patch
# User Jordi Gutiérrez Hermoso <jordigh at octave.org>
# Date 1373469596 14400
#      Wed Jul 10 11:19:56 2013 -0400
# Node ID c1e50af1f27f672550f9deca7c9983e1a93375a3
# Parent  83d0df2ddf3f2a07ed347afcfa30ddacc18b4c3d
cmdutil: show diffs in commit message with ui.verbosecommit option

The following adds an option, ui.verbosecommit, which displays the
entire diff about to be committed in the text editor window, prefixed
with "HG:". This is useful as a final reminder of what's about to be
committed once the commit message is written.

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -1838,6 +1838,11 @@
     edittext.extend([_("HG: added %s") % f for f in added])
     edittext.extend([_("HG: changed %s") % f for f in modified])
     edittext.extend([_("HG: removed %s") % f for f in removed])
+    edittext.append("HG: ")
+    if repo.ui.config("ui","verbosecommit"):
+        diff = ctx.diff()
+        edittext.extend([_("HG: %s") % l
+                         for f in diff for l in f.split("\n")])
     if not added and not modified and not removed:
         edittext.append(_("HG: no files changed"))
diff --git a/mercurial/help/config.txt b/mercurial/help/config.txt
--- a/mercurial/help/config.txt
+++ b/mercurial/help/config.txt
@@ -1244,6 +1244,10 @@
     Increase the amount of output printed. True or False. Default is False.
+    Put more information prefixed with "HG: " in commit messages when
+    editing them, such as the diff that's about to be committed.

More information about the Mercurial-devel mailing list