changeset 45893:f4065c3f09b8

histedit: don't crash if commit message is empty If the commit message is empty, histedit will crash before this patch because it assumes that `summary.splitlines()` is non-empty. One of our users at work ran into this crash for a commit that was created by an internal system. I don't think we have a good way of testing this because it's hard to create a commit with an empty commit message. I've added a comment to help prevent regressions. Differential Revision: https://phab.mercurial-scm.org/D9325
author Martin von Zweigbergk <martinvonz@google.com>
date Mon, 16 Nov 2020 10:56:54 -0800
parents 06b64fabf91c
children 9dc1351d0b5f
files hgext/histedit.py
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/histedit.py	Mon Nov 02 11:03:56 2020 +0100
+++ b/hgext/histedit.py	Mon Nov 16 10:56:54 2020 -0800
@@ -533,7 +533,8 @@
             summary = cmdutil.rendertemplate(
                 ctx, ui.config(b'histedit', b'summary-template')
             )
-        summary = summary.splitlines()[0]
+        # Handle the fact that `''.splitlines() => []`
+        summary = summary.splitlines()[0] if summary else b''
         line = b'%s %s %s' % (self.verb, ctx, summary)
         # trim to 75 columns by default so it's not stupidly wide in my editor
         # (the 5 more are left for verb)