Patchwork D342: rebase: change "result would have 3 parent" error message (BC)

login
register
mail settings
Submitter phabricator
Date Aug. 15, 2017, 12:09 a.m.
Message ID <8148b55a19fbc841f94e1ef890b6463b@localhost.localdomain>
Download mbox | patch
Permalink /patch/22989/
State Not Applicable
Headers show

Comments

phabricator - Aug. 15, 2017, 12:09 a.m.
quark updated this revision to Diff 892.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D342?vs=831&id=892

REVISION DETAIL
  https://phab.mercurial-scm.org/D342

AFFECTED FILES
  hgext/rebase.py
  tests/test-rebase-brute-force.t
  tests/test-rebase-obsolete.t
  tests/test-rebase-scenario-global.t

CHANGE DETAILS




To: quark, #hg-reviewers
Cc: martinvonz, mercurial-devel

Patch

diff --git a/tests/test-rebase-scenario-global.t b/tests/test-rebase-scenario-global.t
--- a/tests/test-rebase-scenario-global.t
+++ b/tests/test-rebase-scenario-global.t
@@ -271,7 +271,7 @@ 
 
   $ hg rebase -s 6 -d 1
   rebasing 6:eea13746799a "G"
-  abort: cannot use revision 6 as base, result would have 3 parents
+  abort: cannot rebase 6:eea13746799a without moving at least one of its parents
   [255]
   $ hg rebase --abort
   rebase aborted
diff --git a/tests/test-rebase-obsolete.t b/tests/test-rebase-obsolete.t
--- a/tests/test-rebase-obsolete.t
+++ b/tests/test-rebase-obsolete.t
@@ -494,7 +494,7 @@ 
   not rebasing ignored 4:26805aba1e60 "C" (C)
   not rebasing ignored 5:4b61ff5c62e2 "E" (E)
   rebasing 6:f15c3adaf214 "F" (F tip)
-  abort: cannot use revision 6 as base, result would have 3 parents
+  abort: cannot rebase 6:f15c3adaf214 without moving at least one of its parents
   [255]
 
   $ cd ..
diff --git a/tests/test-rebase-brute-force.t b/tests/test-rebase-brute-force.t
--- a/tests/test-rebase-brute-force.t
+++ b/tests/test-rebase-brute-force.t
@@ -23,15 +23,15 @@ 
      A: A':Z
      B: B':Z
     AB: A':Z B':Z
-     C: ABORT: cannot use revision 3 as base, result would have 3 parents
+     C: ABORT: cannot rebase 3:a35c07e8a2a4 without moving at least one of its parents
     AC: A':Z C':A'B
     BC: B':Z C':B'A
    ABC: A':Z B':Z C':A'B'
      D: D':Z
     AD: A':Z D':Z
     BD: B':Z D':B'
    ABD: A':Z B':Z D':B'
-    CD: ABORT: cannot use revision 3 as base, result would have 3 parents
+    CD: ABORT: cannot rebase 3:a35c07e8a2a4 without moving at least one of its parents
    ACD: A':Z C':A'B D':Z
    BCD: B':Z C':B'A D':B'
   ABCD: A':Z B':Z C':A'B' D':B'
@@ -49,7 +49,7 @@ 
     B: B':Z
     A: 
    BA: B':Z
-    C: ABORT: cannot use revision 3 as base, result would have 3 parents
+    C: ABORT: cannot rebase 3:b8d7149b562b without moving at least one of its parents
    BC: B':Z C':B'A
    AC: 
   BAC: B':Z C':B'A
diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -1091,10 +1091,9 @@ 
         #    /|    # None of A and B will be changed to D and rebase fails.
         #   A B D
         if set(newps) == set(oldps) and dest not in newps:
-            # The error message is for compatibility. It's a bit misleading
-            # since rebase is not supposed to add new parents.
-            raise error.Abort(_('cannot use revision %d as base, '
-                                'result would have 3 parents') % rev)
+            raise error.Abort(_('cannot rebase %d:%s without '
+                                'moving at least one of its parents')
+                              % (rev, repo[rev]))
 
     repo.ui.debug(" future parents are %d and %d\n" % tuple(newps))