Mercurial > hg-stable
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)