Show More
@@ -1011,6 +1011,14 b' class queue:' | |||||
1011 | if p in rr: |
|
1011 | if p in rr: | |
1012 | self.ui.warn(_("qpop: forcing dirstate update\n")) |
|
1012 | self.ui.warn(_("qpop: forcing dirstate update\n")) | |
1013 | update = True |
|
1013 | update = True | |
|
1014 | else: | |||
|
1015 | parents = [p.hex() for p in repo[None].parents()] | |||
|
1016 | needupdate = False | |||
|
1017 | for entry in self.applied[start:]: | |||
|
1018 | if entry.rev in parents: | |||
|
1019 | needupdate = True | |||
|
1020 | break | |||
|
1021 | update = needupdate | |||
1014 |
|
1022 | |||
1015 | if not force and update: |
|
1023 | if not force and update: | |
1016 | self.check_localchanges(repo) |
|
1024 | self.check_localchanges(repo) | |
@@ -1021,7 +1029,13 b' class queue:' | |||||
1021 | if update: |
|
1029 | if update: | |
1022 | top = self.check_toppatch(repo) |
|
1030 | top = self.check_toppatch(repo) | |
1023 |
|
1031 | |||
1024 | if repo.changelog.heads(rev) != [revlog.bin(self.applied[-1].rev)]: |
|
1032 | try: | |
|
1033 | heads = repo.changelog.heads(rev) | |||
|
1034 | except revlog.LookupError: | |||
|
1035 | node = short(rev) | |||
|
1036 | raise util.Abort(_('trying to pop unknown node %s') % node) | |||
|
1037 | ||||
|
1038 | if heads != [revlog.bin(self.applied[-1].rev)]: | |||
1025 | raise util.Abort(_("popping would remove a revision not " |
|
1039 | raise util.Abort(_("popping would remove a revision not " | |
1026 | "managed by this patch queue")) |
|
1040 | "managed by this patch queue")) | |
1027 |
|
1041 |
@@ -289,7 +289,7 b' hg qpop' | |||||
289 | hg strip -qn tip |
|
289 | hg strip -qn tip | |
290 | hg tip 2>&1 | sed -e 's/unknown node .*/unknown node/' |
|
290 | hg tip 2>&1 | sed -e 's/unknown node .*/unknown node/' | |
291 | hg branches 2>&1 | sed -e 's/unknown node .*/unknown node/' |
|
291 | hg branches 2>&1 | sed -e 's/unknown node .*/unknown node/' | |
292 | hg qpop |
|
292 | hg qpop 2>&1 | sed -e 's/unknown node .*/unknown node/' | |
293 |
|
293 | |||
294 | cat >>$HGRCPATH <<EOF |
|
294 | cat >>$HGRCPATH <<EOF | |
295 | [diff] |
|
295 | [diff] | |
@@ -510,3 +510,8 b' hg qpush -f' | |||||
510 | hg st |
|
510 | hg st | |
511 | hg diff --config diff.nodates=True |
|
511 | hg diff --config diff.nodates=True | |
512 | hg qdiff --config diff.nodates=True |
|
512 | hg qdiff --config diff.nodates=True | |
|
513 | ||||
|
514 | echo % test popping revisions not in working dir ancestry | |||
|
515 | hg qseries -v | |||
|
516 | hg up qparent | |||
|
517 | hg qpop |
@@ -1,7 +1,7 b'' | |||||
1 | % try to commit on top of a patch |
|
1 | % try to commit on top of a patch | |
2 | abort: cannot commit over an applied mq patch |
|
2 | abort: cannot commit over an applied mq patch | |
3 | % qpop/qrefresh on the wrong revision |
|
3 | % qpop/qrefresh on the wrong revision | |
4 | abort: working directory revision is not qtip |
|
4 | abort: popping would remove a revision not managed by this patch queue | |
5 | using patch queue: |
|
5 | using patch queue: | |
6 | abort: popping would remove a revision not managed by this patch queue |
|
6 | abort: popping would remove a revision not managed by this patch queue | |
7 | abort: working directory revision is not qtip |
|
7 | abort: working directory revision is not qtip |
@@ -294,7 +294,7 b' summary: a' | |||||
294 |
|
294 | |||
295 | mq status file refers to unknown node |
|
295 | mq status file refers to unknown node | |
296 | default 0:cb9a9f314b8b |
|
296 | default 0:cb9a9f314b8b | |
297 | abort: working directory revision is not qtip |
|
297 | abort: trying to pop unknown node | |
298 | new file |
|
298 | new file | |
299 |
|
299 | |||
300 | diff --git a/new b/new |
|
300 | diff --git a/new b/new | |
@@ -538,3 +538,7 b' diff -r 9ecee4f634e3 hello.txt' | |||||
538 | hello |
|
538 | hello | |
539 | +world |
|
539 | +world | |
540 | +universe |
|
540 | +universe | |
|
541 | % test popping revisions not in working dir ancestry | |||
|
542 | 0 A empty | |||
|
543 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
544 | Patch queue now empty |
General Comments 0
You need to be logged in to leave comments.
Login now