[PATCH STABLE] histedit: show correct hash ID at verification error

FUJIWARA Katsunori foozy at lares.dti.ne.jp
Mon Feb 1 11:37:28 UTC 2016


# HG changeset patch
# User FUJIWARA Katsunori <foozy at lares.dti.ne.jp>
# Date 1454326160 -32400
#      Mon Feb 01 20:29:20 2016 +0900
# Branch stable
# Node ID 93b68ee56b6ae24eb29feb1df6faacadd4b9fde3
# Parent  88609cfa37455815e4d6acd45e2a8893720c065b
histedit: show correct hash ID at verification error

node.short() on 'ha' in verifyactions() causes broken hash ID, because
it is initialized with node.hex()-ed node value.

diff --git a/hgext/histedit.py b/hgext/histedit.py
--- a/hgext/histedit.py
+++ b/hgext/histedit.py
@@ -1315,12 +1315,12 @@ def verifyactions(actions, state, ctxs):
             if _constraints.noother in constraints and ha not in expected:
                 raise error.ParseError(
                     _('%s "%s" changeset was not a candidate')
-                     % (action.verb, node.short(ha)),
+                     % (action.verb, ha[:12]),
                     hint=_('only use listed changesets'))
             if _constraints.forceother in constraints and ha in expected:
                 raise error.ParseError(
                     _('%s "%s" changeset was not an edited list candidate')
-                     % (action.verb, node.short(ha)),
+                     % (action.verb, ha[:12]),
                     hint=_('only use listed changesets'))
             if _constraints.noduplicates in constraints and ha in seen:
                 raise error.ParseError(_(
diff --git a/tests/test-histedit-arguments.t b/tests/test-histedit-arguments.t
--- a/tests/test-histedit-arguments.t
+++ b/tests/test-histedit-arguments.t
@@ -171,7 +171,7 @@ Test that extra revisions are detected
   > pick c8e68270e35a 3 four
   > pick 08d98a8350f3 4 five
   > EOF
-  hg: parse error: pick "363035386362" changeset was not a candidate
+  hg: parse error: pick "6058cbb6cfd7" changeset was not a candidate
   (only use listed changesets)
   [255]
 
diff --git a/tests/test-histedit-base.t b/tests/test-histedit-base.t
--- a/tests/test-histedit-base.t
+++ b/tests/test-histedit-base.t
@@ -232,7 +232,7 @@ base on a previously picked changeset
   > base d273e35dcdf2 B
   > pick b2f90fd8aa85 I
   > EOF
-  hg: parse error: base "643237336533" changeset was not an edited list candidate
+  hg: parse error: base "d273e35dcdf2" changeset was not an edited list candidate
   (only use listed changesets)
 
   $ hg --config experimental.histeditng=False histedit 5 --commands - 2>&1 << EOF | fixbundle
diff --git a/tests/test-histedit-commute.t b/tests/test-histedit-commute.t
--- a/tests/test-histedit-commute.t
+++ b/tests/test-histedit-commute.t
@@ -282,7 +282,7 @@ try with --rev
   > pick de71b079d9ce e
   > pick 38b92f448761 c
   > EOF
-  hg: parse error: pick "646537316230" changeset was not a candidate
+  hg: parse error: pick "de71b079d9ce" changeset was not a candidate
   (only use listed changesets)
   $ hg log --graph
   @  changeset:   7:803ef1c6fcfd


More information about the Mercurial-devel mailing list