[PATCH] chistedit: properly show verbose diffs

Jordi Gutiérrez Hermoso jordigh at octave.org
Thu Apr 4 14:47:49 UTC 2019


# HG changeset patch
# User Jordi Gutiérrez Hermoso <jordigh at octave.org>
# Date 1554388915 14400
#      Thu Apr 04 10:41:55 2019 -0400
# Node ID 704f79617827ab0c19a788715b797fcfe8557cea
# Parent  4ee906aa7b60fb6b113e4dc187fbb5a8f42e557c
chistedit: properly show verbose diffs

I'm not sure if that ever worked and it's an internal API breakage,
but `"verbose": True` is not correctly parsed, as most of these
options are parsed by diffopts, whereas verbose is a global option.

Setting the UI to verbose instead does work and does show a verbose
patch, with full commit message.

It also shows all files, which unfortunately are a bit hard to read on
a single line in the default verbose template. Thus, we also change
the default template to use the status template, which shows one file
per line as well as its modification state.

diff --git a/hgext/histedit.py b/hgext/histedit.py
--- a/hgext/histedit.py
+++ b/hgext/histedit.py
@@ -1230,8 +1230,9 @@ def addln(win, y, x, line, color=None):
 def patchcontents(state):
     repo = state['repo']
     rule = state['rules'][state['pos']]
+    repo.ui.verbose = True
     displayer = logcmdutil.changesetdisplayer(repo.ui, repo, {
-        'patch': True, 'verbose': True
+        "patch": True,  "template": "status"
     }, buffered=True)
     displayer.show(rule.ctx)
     displayer.close()


More information about the Mercurial-devel mailing list