Skip to content
Snippets Groups Projects
Commit c2e1e637d4da authored by Greg Ward's avatar Greg Ward
Browse files

rebase: always check if rebasing onto an applied mq patch.

Previously, it only checked for an mq patch if the user explicitly
passed -d/--dest.  But rebasing onto an mq patch is a bad idea
regardless of how we determine the rebase destination.
parent 181cbb23572e
No related branches found
No related tags found
No related merge requests found
......@@ -440,8 +440,5 @@
branch = repo[None].branch()
dest = repo[branch].rev()
else:
if 'qtip' in repo.tags() and (repo[dest].hex() in
[s.rev for s in repo.mq.applied]):
raise util.Abort(_('cannot rebase onto an applied mq patch'))
dest = repo[dest].rev()
......@@ -446,5 +443,12 @@
dest = repo[dest].rev()
# This check isn't strictly necessary, since mq detects commits over an
# applied patch. But it prevents messing up the working directory when
# a partially completed rebase is blocked by mq.
if 'qtip' in repo.tags() and (repo[dest].hex() in
[s.rev for s in repo.mq.applied]):
raise util.Abort(_('cannot rebase onto an applied mq patch'))
if src:
commonbase = repo[src].ancestor(repo[dest])
if commonbase == repo[src]:
......
......@@ -45,6 +45,12 @@
hg rebase -s 1 -d 3
echo
echo '% Rebase - same thing, but mq patch is default dest'
hg update -q 1
hg rebase
hg update -q qtip
echo
echo '% Rebase - generate a conflict'
hg rebase -s 2 -d 1
......
......@@ -11,6 +11,9 @@
% Rebase - try to rebase on an applied mq patch
abort: cannot rebase onto an applied mq patch
% Rebase - same thing, but mq patch is default dest
abort: cannot rebase onto an applied mq patch
% Rebase - generate a conflict
merging f
warning: conflicts during merge.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment