[PATCH 5 of 5 v3] rebase: use explicit ancestor when rebasing an ancestor child

Mads Kiilerich mads at kiilerich.com
Wed Dec 3 21:12:49 CST 2014


# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1417662628 -3600
#      Thu Dec 04 04:10:28 2014 +0100
# Node ID b7893dbf20d31550b20907cc7a68dc03a45c8222
# Parent  742988c7a05cb1bd49f9be0f057a9c8ef4e20d95
rebase: use explicit ancestor when rebasing an ancestor child

This cleans up after the single change in test-rebase-obsolete.t caused by the
previous computerebase refactoring. This clean-up do not cause any test changes.

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -596,10 +596,10 @@ def computerebase(repo, rev, target, sta
 
         \  p2     null         ancestor        rebased        outside
       p1 \
-    null       target,rev|  target,rev|None  p2',rev|p2    target,rev|p2
+    null       target,rev|   target,rev|p2   p2',rev|p2    target,rev|p2
                  target         target           p2'          target
 
-    ancestor target,rev|Non target,rev|None  p2',rev|p2   target,rev|None
+    ancestor  target,rev|p1 target,rev|None  p2',rev|p2   target,rev|None
                  target         target           p2'         target,p2
 
     rebased    p1',rev|p1     p1',rev|p1    target,rev|p1   p1',rev|p1
@@ -632,7 +632,7 @@ def computerebase(repo, rev, target, sta
         # These can't happen with normal hg but might happen anyway:
         if p2 in targetancestors:
             repo.ui.warn(' p1=nullrev, p2 ancestor - untested\n')
-            return target, rev, None, target, nullrev
+            return target, rev, p2, target, nullrev
         if p2_ >= nullrev:
             repo.ui.warn(' p1=nullrev, p2 rebased - untested\n')
             return p2_, rev, p2, p2_, nullrev
@@ -641,7 +641,7 @@ def computerebase(repo, rev, target, sta
     if p1 in targetancestors:
         if p2 == nullrev:
             repo.ui.debug(' p1 ancestor, p2=nullrev\n')
-            return target, rev, None, target, nullrev
+            return target, rev, p1, target, nullrev
         if p2 in targetancestors:
             repo.ui.debug(' p1 ancestor, p2 ancestor\n')
             return target, rev, None, target, nullrev


More information about the Mercurial-devel mailing list