# HG changeset patch # User Martin von Zweigbergk # Date 1620760946 25200 # Node ID b338d831d18c3512afbf442980fc4beb0885799e # Parent 294a0aa51b8bdd20ae8b47a209b36401a3d31a6f templates: fix `revset('parents()') % ...` in amend message template I don't understand why, but putting `revset('parents()') % {desc}` in the commit message template for amend resulted in a crash because `memctx.hex()` did `hex(self.node())` and its node was None. This patch fixes that. Martin von Zweigbergk Differential Revision: https://phab.mercurial-scm.org/D10707 diff -r 294a0aa51b8b -r b338d831d18c mercurial/context.py --- a/mercurial/context.py Thu Apr 15 19:54:03 2021 +0200 +++ b/mercurial/context.py Tue May 11 12:22:26 2021 -0700 @@ -1392,6 +1392,9 @@ def __bytes__(self): return bytes(self._parents[0]) + b"+" + def hex(self): + self._repo.nodeconstants.wdirhex + __str__ = encoding.strmethod(__bytes__) def __nonzero__(self): diff -r 294a0aa51b8b -r b338d831d18c tests/test-commit-amend.t --- a/tests/test-commit-amend.t Thu Apr 15 19:54:03 2021 +0200 +++ b/tests/test-commit-amend.t Tue May 11 12:22:26 2021 -0700 @@ -957,6 +957,7 @@ $ cat >> .hg/hgrc < [committemplate] > changeset.commit.amend = {desc}\n + > HG: {revset('parents()') % 'parent: {desc|firstline}\n'} > HG: M: {file_mods} > HG: A: {file_adds} > HG: R: {file_dels} @@ -971,6 +972,8 @@ $ HGEDITOR=cat hg commit --amend -e -m "expecting diff of foo" expecting diff of foo + HG: parent: editor should be suppressed + HG: M: HG: A: foo HG: R: @@ -985,6 +988,8 @@ $ HGEDITOR=cat hg commit --amend -e -m "expecting diff of foo and y" expecting diff of foo and y + HG: parent: expecting diff of foo + HG: M: HG: A: foo y HG: R: @@ -1003,6 +1008,8 @@ $ HGEDITOR=cat hg commit --amend -e -m "expecting diff of a, foo and y" expecting diff of a, foo and y + HG: parent: expecting diff of foo and y + HG: M: HG: A: foo y HG: R: a @@ -1027,6 +1034,8 @@ $ HGEDITOR=cat hg commit --amend -e -m "expecting diff of a, foo, x and y" expecting diff of a, foo, x and y + HG: parent: expecting diff of a, foo and y + HG: M: HG: A: foo y HG: R: a x @@ -1058,6 +1067,8 @@ $ HGEDITOR=cat hg commit --amend -e -m "cc should be excluded" -X cc cc should be excluded + HG: parent: expecting diff of a, foo, x and y + HG: M: HG: A: foo y HG: R: a x