Mercurial > hg-stable
changeset 9110:561ff8d9e4f0
mq: qpop now tells which patches are popped
When navigating through a patch series by qpushing and qpopping it was easy to
get lost because qpop was silent. I found myself often running qnext after qpop
to see which patch I just dropped - especially if I was about to qrm it. This
patch makes qpop more symmetric to qpush by showing which patches are
applied/"unapplied".
I think it is a good change even though it changes output by adding a new line
of output.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Thu, 09 Jul 2009 23:59:03 +0200 |
parents | 00909238d887 |
children | ac3f1e6696eb |
files | hgext/mq.py tests/test-keyword.out tests/test-mq-caches.out tests/test-mq-eol.out tests/test-mq-guards.out tests/test-mq-header-date.out tests/test-mq-header-from.out tests/test-mq-merge.out tests/test-mq-missingfiles.out tests/test-mq-pull-from-bundle.out tests/test-mq-qdelete.out tests/test-mq-qdiff.out tests/test-mq-qfold.out tests/test-mq-qgoto.out tests/test-mq-qimport.out tests/test-mq-qnew.out tests/test-mq-qpush-fail.out tests/test-mq-symlinks.out tests/test-mq.out tests/test-rebase-mq.out |
diffstat | 20 files changed, 111 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/mq.py Fri Jul 10 12:49:29 2009 +0200 +++ b/hgext/mq.py Thu Jul 09 23:59:03 2009 +0200 @@ -1080,6 +1080,8 @@ except: pass repo.dirstate.forget(f) repo.dirstate.setparents(qp, nullid) + for patch in reversed(self.applied[start:end]): + self.ui.warn(_("popping %s\n") % patch.name) del self.applied[start:end] self.strip(repo, rev, update=False, backup='strip') if len(self.applied):
--- a/tests/test-keyword.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-keyword.out Thu Jul 09 23:59:03 2009 +0200 @@ -210,6 +210,7 @@ +$Id$ +tests for different changenodes % qpop +popping mqtest.diff patch queue now empty % qgoto - should imply qpush applying mqtest.diff @@ -218,6 +219,7 @@ $Id: c,v 40a904bbbe4c 1970/01/01 00:00:01 user $ tests for different changenodes % qpop and move on +popping mqtest.diff patch queue now empty % copy % kwfiles added
--- a/tests/test-mq-caches.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-caches.out Thu Jul 09 23:59:03 2009 +0200 @@ -5,6 +5,7 @@ No branch cache # some regular revisions +popping p1 patch queue now empty tip: 1 3f910abad313ff802d3a23a7529433872df9b3ae 1 @@ -43,6 +44,9 @@ qbase: 1 # detect an invalid cache +popping p2 +popping p1 +popping p0 patch queue now empty applying p0 applying p1
--- a/tests/test-mq-eol.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-eol.out Thu Jul 09 23:59:03 2009 +0200 @@ -9,12 +9,14 @@ patch failed, unable to continue (try -v) patch failed, rejects left in working dir errors during apply, please fix and refresh eol.diff +popping eol.diff patch queue now empty % invalid eol applying eol.diff patch failed, unable to continue (try -v) patch failed, rejects left in working dir errors during apply, please fix and refresh eol.diff +popping eol.diff patch queue now empty % force LF applying eol.diff @@ -42,6 +44,7 @@ c<CR><LF> d<CR><LF> z +popping eol.diff patch queue now empty % push again forcing LF and compare revisions applying eol.diff @@ -51,6 +54,7 @@ c<CR><LF> d<CR><LF> z +popping eol.diff patch queue now empty % push again without LF and compare revisions applying eol.diff @@ -60,4 +64,5 @@ c<CR><LF> d<CR><LF> z +popping eol.diff patch queue now empty
--- a/tests/test-mq-guards.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-guards.out Thu Jul 09 23:59:03 2009 +0200 @@ -1,4 +1,7 @@ adding x +popping c.patch +popping b.patch +popping a.patch patch queue now empty % should fail abort: no patch named does-not-exist.patch @@ -9,6 +12,7 @@ % should guard a.patch % should print +a a.patch: +a +popping a.patch patch queue now empty % should fail cannot push 'a.patch' - guarded by ['+a'] @@ -16,6 +20,7 @@ % should push b.patch applying b.patch now at: b.patch +popping b.patch patch queue now empty % test selection of an empty guard abort: guard cannot be an empty string @@ -34,6 +39,9 @@ % should push c.patch applying c.patch now at: c.patch +popping c.patch +popping b.patch +popping a.patch patch queue now empty guards deactivated number of unguarded, unapplied patches has changed from 3 to 2 @@ -41,6 +49,8 @@ applying b.patch applying c.patch now at: c.patch +popping c.patch +popping b.patch patch queue now empty number of unguarded, unapplied patches has changed from 1 to 2 % should push a.patch, not b.patch @@ -48,6 +58,8 @@ now at: a.patch applying c.patch now at: c.patch +popping c.patch +popping a.patch patch queue now empty % should push b.patch applying b.patch @@ -55,6 +67,8 @@ applying c.patch now at: c.patch c.patch +popping c.patch +popping b.patch patch queue now empty number of unguarded, unapplied patches has changed from 2 to 3 % should push a.patch, b.patch @@ -62,6 +76,8 @@ now at: a.patch applying b.patch now at: b.patch +popping b.patch +popping a.patch patch queue now empty number of unguarded, unapplied patches has changed from 3 to 2 % list patches and guards @@ -83,6 +99,8 @@ now at: c.patch guards deactivated popping guarded patches +popping c.patch +popping b.patch patch queue now empty reapplying unguarded patches applying c.patch @@ -100,6 +118,7 @@ new.patch: +1 +2 -3 b.patch: +2 c.patch: unguarded +popping d.patch now at: c.patch % should show new.patch and b.patch as Guarded, c.patch as Applied % and d.patch as Unapplied @@ -112,6 +131,7 @@ 1 G b.patch 2 A c.patch 3 G d.patch +popping c.patch patch queue now empty new.patch: +1 +2 -3 b.patch: +2
--- a/tests/test-mq-header-date.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-header-date.out Thu Jul 09 23:59:03 2009 +0200 @@ -42,6 +42,7 @@ +2 1: [mq]: 2.patch - test 0: [mq]: 1.patch - test +popping 2.patch now at: 1.patch ==== qnew -d -m # HG changeset patch @@ -127,8 +128,10 @@ 2: Four - test 1: Three (again) - test 0: [mq]: 1.patch - test +popping 4.patch now at: 3.patch ==== qnew with HG header +popping 5.patch now at: 3.patch # HG changeset patch # Date 10 0 @@ -185,6 +188,7 @@ 2: [mq]: 5.patch - test 1: Three (again) - test 0: [mq]: 1.patch - test +popping 6.patch now at: 5.patch ==== qnew -d adding 7 @@ -240,6 +244,7 @@ 2: [mq]: 5.patch - test 1: Three (again) - test 0: [mq]: 1.patch - test +popping 8.patch now at: 7.patch ==== qnew -m adding 9 @@ -270,8 +275,13 @@ 2: [mq]: 5.patch - test 1: Three (again) - test 0: [mq]: 1.patch - test +popping 9.patch now at: 7.patch ==== qpop -a / qpush -a +popping 7.patch +popping 5.patch +popping 3.patch +popping 1.patch patch queue now empty applying 1.patch applying 3.patch
--- a/tests/test-mq-header-from.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-header-from.out Thu Jul 09 23:59:03 2009 +0200 @@ -131,6 +131,7 @@ 1: [mq]: 2.patch - jane 0: [mq]: 1.patch - mary ==== qnew with HG header +popping 5.patch now at: 4.patch now at: 5.patch # HG changeset patch @@ -184,6 +185,11 @@ 1: [mq]: 2.patch - jane 0: [mq]: 1.patch - mary ==== qpop -a / qpush -a +popping 5.patch +popping 4.patch +popping 3.patch +popping 2.patch +popping 1.patch patch queue now empty applying 1.patch applying 2.patch
--- a/tests/test-mq-merge.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-merge.out Thu Jul 09 23:59:03 2009 +0200 @@ -10,6 +10,8 @@ applying rm_a now at: rm_a b +popping rm_a +popping .hg.patches.merge.marker patch queue now empty % init t2
--- a/tests/test-mq-missingfiles.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-missingfiles.out Thu Jul 09 23:59:03 2009 +0200 @@ -1,4 +1,5 @@ adding b +popping changeb patch queue now empty % push patch with missing target applying changeb @@ -26,6 +27,7 @@ +c +c adding b +popping changeb patch queue now empty % push git patch with missing target applying changeb @@ -48,6 +50,7 @@ % test push creating directory during git copy or rename adding a +popping patch patch queue now empty applying patch now at: patch
--- a/tests/test-mq-pull-from-bundle.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-pull-from-bundle.out Thu Jul 09 23:59:03 2009 +0200 @@ -13,6 +13,7 @@ 1: main: one updated. ====== Setup queue adding two +popping two.patch patch queue now empty ====== Bundle queue 1 changesets found
--- a/tests/test-mq-qdelete.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-qdelete.out Thu Jul 09 23:59:03 2009 +0200 @@ -1,6 +1,7 @@ adding base abort: qdelete requires at least one revision or patch name abort: cannot delete applied patch c +popping c now at: b a b @@ -8,6 +9,7 @@ b series status +popping b now at: a a b @@ -30,6 +32,7 @@ no patches applied abort: revision 0 is not managed abort: cannot delete revision 2 above applied patches +popping c now at: b abort: unknown revision 'c'! applying c
--- a/tests/test-mq-qdiff.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-qdiff.out Thu Jul 09 23:59:03 2009 +0200 @@ -26,6 +26,7 @@ +patched % revert % qpop +popping mqbase patch queue now empty % qdelete mqbase % commit 2
--- a/tests/test-mq-qfold.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-qfold.out Thu Jul 09 23:59:03 2009 +0200 @@ -1,6 +1,8 @@ % init adding a % fold in the middle of the queue +popping p3 +popping p2 now at: p1 --- a/a +++ b/a
--- a/tests/test-mq-qgoto.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-qgoto.out Thu Jul 09 23:59:03 2009 +0200 @@ -1,17 +1,24 @@ adding a +popping c.patch +popping b.patch now at: a.patch applying b.patch applying c.patch now at: c.patch +popping c.patch now at: b.patch % Using index +popping b.patch now at: a.patch applying b.patch applying c.patch now at: c.patch % No warnings when using index +popping bug141421 +popping bug314159 +popping c.patch now at: b.patch applying c.patch applying bug314159
--- a/tests/test-mq-qimport.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-qimport.out Thu Jul 09 23:59:03 2009 +0200 @@ -8,12 +8,14 @@ applying url.diff now at: url.diff foo +popping url.diff patch queue now empty % qimport -f adding url.diff to series file applying url.diff now at: url.diff foo2 +popping url.diff patch queue now empty % build diff with CRLF adding b
--- a/tests/test-mq-qnew.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-qnew.out Thu Jul 09 23:59:03 2009 +0200 @@ -20,6 +20,9 @@ abort: patch "first.patch" already exists abort: patch "first.patch" already exists % qnew -f from a subdirectory +popping first.patch +popping mtest.patch +popping test.patch patch queue now empty adding d/b M d/b
--- a/tests/test-mq-qpush-fail.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-qpush-fail.out Thu Jul 09 23:59:03 2009 +0200 @@ -1,6 +1,9 @@ adding foo % test qpush on empty series no patches in series +popping bad-patch +popping patch2 +popping patch1 patch queue now empty applying patch1 applying patch2
--- a/tests/test-mq-symlinks.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq-symlinks.out Thu Jul 09 23:59:03 2009 +0200 @@ -1,9 +1,11 @@ a -> a not a symlink a -> b +popping symlink.patch now at: base.patch applying symlink.patch now at: symlink.patch a -> b +popping removesl.patch now at: symlink.patch applying removesl.patch now at: removesl.patch
--- a/tests/test-mq.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-mq.out Thu Jul 09 23:59:03 2009 +0200 @@ -108,16 +108,20 @@ a +a % qpop +popping test.patch patch queue now empty % qpush applying test.patch now at: test.patch % pop/push outside repo +popping test.patch patch queue now empty applying test.patch now at: test.patch % qrefresh in subdir % pop/push -a in subdir +popping test2.patch +popping test.patch patch queue now empty applying test.patch applying test2.patch @@ -125,6 +129,7 @@ % qseries test.patch test2.patch +popping test2.patch now at: test.patch 0 A test.patch: foo bar 1 U test2.patch: @@ -140,6 +145,7 @@ % qnext all patches applied % pop, qnext, qprev, qapplied +popping test2.patch now at: test.patch test2.patch only one patch applied @@ -156,17 +162,24 @@ % qpush/qpop with index applying test2.patch now at: test2.patch +popping test2.patch +popping test1b.patch now at: test.patch applying test1b.patch now at: test1b.patch applying test2.patch now at: test2.patch +popping test2.patch now at: test1b.patch +popping test1b.patch now at: test.patch applying test1b.patch applying test2.patch now at: test2.patch % push should succeed +popping test2.patch +popping test1b.patch +popping test.patch patch queue now empty pushing to ../../k searching for changes @@ -180,6 +193,9 @@ applying test2.patch now at: test2.patch % pops all patches and succeeds +popping test2.patch +popping test1b.patch +popping test.patch patch queue now empty qpop -a succeeds % does nothing and succeeds @@ -193,6 +209,7 @@ now at: test.patch qpush succeeds % pops a patch and succeeds +popping test.patch patch queue now empty qpop succeeds % pushes up to test1b.patch and succeeds @@ -213,6 +230,7 @@ abort: patch test2.patch is not applied qpop test2.patch fails % pops up to test.patch and succeeds +popping test1b.patch now at: test.patch qpop test.patch succeeds % pushes all patches and succeeds @@ -269,6 +287,8 @@ +f M a % qpush failure +popping bar +popping foo patch queue now empty applying foo applying bar @@ -284,6 +304,7 @@ 1 qbase foo 2 qtip bar tip % bad node in status +popping bar now at: foo changeset: 0:cb9a9f314b8b mq status file refers to unknown node @@ -308,6 +329,7 @@ diff --git a/new b/copy copy from new copy to copy +popping copy now at: new applying copy now at: copy @@ -320,6 +342,7 @@ 1 files updated, 0 files merged, 2 files removed, 0 files unresolved created new head 2 files updated, 0 files merged, 1 files removed, 0 files unresolved +popping bar adding branch adding changesets adding manifests @@ -354,6 +377,7 @@ 1 files updated, 0 files merged, 2 files removed, 0 files unresolved 2 files updated, 0 files merged, 1 files removed, 0 files unresolved +popping bar adding branch adding changesets adding manifests @@ -386,6 +410,7 @@ % refresh omitting an added file C newfile A newfile +popping baz now at: bar % create a git patch diff --git a/alexander b/alexander @@ -393,6 +418,7 @@ 8ba2a2f3e77b55d03051ff9c24ad65e7 bucephalus diff --git a/bucephalus b/bucephalus % check binary patches can be popped and pushed +popping addbucephalus now at: addalexander applying addbucephalus now at: addbucephalus @@ -461,6 +487,7 @@ rev 0: add foo patch repo: rev 0: checkpoint +popping patch1 patch queue now empty main repo: rev 0: add foo @@ -475,12 +502,14 @@ rev 0: checkpoint % test applying on an empty file (issue 1033) adding a +popping changea patch queue now empty applying changea now at: changea % test qpush with --force, issue1087 adding bye.txt adding hello.txt +popping empty patch queue now empty % qpush should fail, local changes abort: local changes found, refresh first @@ -510,6 +539,7 @@ summary: imported patch empty +popping empty patch queue now empty % qpush should fail, local changes abort: local changes found, refresh first @@ -539,4 +569,5 @@ % test popping revisions not in working dir ancestry 0 A empty 1 files updated, 0 files merged, 0 files removed, 0 files unresolved +popping empty patch queue now empty
--- a/tests/test-rebase-mq.out Fri Jul 10 12:49:29 2009 +0200 +++ b/tests/test-rebase-mq.out Thu Jul 09 23:59:03 2009 +0200 @@ -79,6 +79,8 @@ +mq1r1mq2 % Adding one git-style patch and one normal +popping f2.patch +popping f.patch patch queue now empty 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % Git patch