changeset 19059:53eadcb814fd

rebase: check no-op before checking phase (issue3891) This could lead to user confusion, because phases aren't really involved at all when attempting to perform a no-op rebase.
author Siddharth Agarwal <sid0@fb.com>
date Thu, 18 Apr 2013 14:28:06 -0700
parents d8d548d868d3
children c010cb6fdef7
files hgext/rebase.py tests/test-rebase-scenario-global.t
diffstat 2 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/rebase.py	Wed Apr 10 19:27:49 2013 -0500
+++ b/hgext/rebase.py	Thu Apr 18 14:28:06 2013 -0700
@@ -209,10 +209,6 @@
                     _("can't remove original changesets with"
                       " unrebased descendants"),
                     hint=_('use --keep to keep original changesets'))
-            elif not keepf and not repo[root].mutable():
-                raise util.Abort(_("can't rebase immutable changeset %s")
-                                 % repo[root],
-                                 hint=_('see hg help phases for details'))
             else:
                 result = buildstate(repo, dest, rebaseset, collapsef)
 
@@ -220,6 +216,10 @@
                 # Empty state built, nothing to rebase
                 ui.status(_('nothing to rebase\n'))
                 return 1
+            elif not keepf and not repo[root].mutable():
+                raise util.Abort(_("can't rebase immutable changeset %s")
+                                 % repo[root],
+                                 hint=_('see hg help phases for details'))
             else:
                 originalwd, target, state = result
                 if collapsef:
--- a/tests/test-rebase-scenario-global.t	Wed Apr 10 19:27:49 2013 -0500
+++ b/tests/test-rebase-scenario-global.t	Thu Apr 18 14:28:06 2013 -0700
@@ -276,6 +276,9 @@
 Check rebasing public changeset
 
   $ hg pull --config phases.publish=True -q -r 6 . # update phase of 6
+  $ hg rebase -d 0 -b 6
+  nothing to rebase
+  [1]
   $ hg rebase -d 5 -b 6
   abort: can't rebase immutable changeset e1c4361dd923
   (see hg help phases for details)