merge with stable
authorMatt Mackall <mpm@selenic.com>
Tue, 02 Dec 2014 17:19:20 -0600
changeset 23457 fc76f55705eb
parent 23456 e1086c7dd3c4 (current diff)
parent 23440 57d35d3c1cf1 (diff)
child 23458 756376ec6c12
merge with stable
hgext/rebase.py
--- a/hgext/rebase.py	Tue Nov 18 22:18:05 2014 -0800
+++ b/hgext/rebase.py	Tue Dec 02 17:19:20 2014 -0600
@@ -449,6 +449,9 @@
         # restore original working directory
         # (we do this before stripping)
         newwd = state.get(originalwd, originalwd)
+        if newwd < 0:
+            # original directory is a parent of rebase set root or ignored
+            newwd = originalwd
         if newwd not in [c.rev() for c in repo[None].parents()]:
             ui.note(_("update back to initial working directory parent\n"))
             hg.updaterepo(repo, newwd, False)
--- a/tests/test-rebase-scenario-global.t	Tue Nov 18 22:18:05 2014 -0800
+++ b/tests/test-rebase-scenario-global.t	Tue Dec 02 17:19:20 2014 -0600
@@ -300,8 +300,12 @@
 
 Check rebasing mutable changeset
 Source phase greater or equal to destination phase: new changeset get the phase of source:
+  $ hg id -n
+  5
   $ hg rebase -s9 -d0
   saved backup bundle to $TESTTMP/a7/.hg/strip-backup/2b23e52411f4-backup.hg (glob)
+  $ hg id -n # check we updated back to parent
+  5
   $ hg log --template "{phase}\n" -r 9
   draft
   $ hg rebase -s9 -d1