Mercurial > hg
changeset 9440:cd67bfcfabbe
Merge qprev/qnext backout
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 14 Sep 2009 17:29:47 -0500 |
parents | b2f3b9c82ac0 (current diff) f2acc0c00bec (diff) |
children | bafde63c913a |
files | hgext/mq.py tests/test-mq.out |
diffstat | 5 files changed, 52 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/mq.py Fri Sep 11 16:58:19 2009 +0200 +++ b/hgext/mq.py Mon Sep 14 17:29:47 2009 -0500 @@ -1865,6 +1865,39 @@ repo.mq.qseries(repo, missing=opts['missing'], summary=opts['summary']) return 0 +def top(ui, repo, **opts): + """print the name of the current patch""" + q = repo.mq + t = q.applied and q.series_end(True) or 0 + if t: + return q.qseries(repo, start=t-1, length=1, status='A', + summary=opts.get('summary')) + else: + ui.write(_("no patches applied\n")) + return 1 + +def next(ui, repo, **opts): + """print the name of the next patch""" + q = repo.mq + end = q.series_end() + if end == len(q.series): + ui.write(_("all patches applied\n")) + return 1 + return q.qseries(repo, start=end, length=1, summary=opts.get('summary')) + +def prev(ui, repo, **opts): + """print the name of the previous patch""" + q = repo.mq + l = len(q.applied) + if l == 1: + ui.write(_("only one patch applied\n")) + return 1 + if not l: + ui.write(_("no patches applied\n")) + return 1 + return q.qseries(repo, start=l-2, length=1, status='A', + summary=opts.get('summary')) + def setupheaderopts(ui, opts): def do(opt, val): if not opts[opt] and opts['current' + opt]: @@ -2579,6 +2612,8 @@ ('d', 'date', '', _('add "Date: <given date>" to patch')) ] + commands.walkopts + commands.commitopts, _('hg qnew [-e] [-m TEXT] [-l FILE] [-f] PATCH [FILE]...')), + "qnext": (next, [] + seriesopts, _('hg qnext [-s]')), + "qprev": (prev, [] + seriesopts, _('hg qprev [-s]')), "^qpop": (pop, [('a', 'all', None, _('pop all patches')), @@ -2636,6 +2671,7 @@ ('b', 'backup', None, _('bundle unrelated changesets')), ('n', 'nobackup', None, _('no backups'))], _('hg strip [-f] [-b] [-n] REV')), + "qtop": (top, [] + seriesopts, _('hg qtop [-s]')), "qunapplied": (unapplied, [('1', 'first', None, _('show only the first patch'))] + seriesopts,
--- a/tests/test-mq Fri Sep 11 16:58:19 2009 +0200 +++ b/tests/test-mq Mon Sep 14 17:29:47 2009 -0500 @@ -152,6 +152,9 @@ echo % qapplied hg qapplied +echo % qtop +hg qtop + echo % prev hg qapp -1
--- a/tests/test-mq-guards Fri Sep 11 16:58:19 2009 +0200 +++ b/tests/test-mq-guards Mon Sep 14 17:29:47 2009 -0500 @@ -59,6 +59,8 @@ echo % should skip c.patch hg qpush -a +echo % should display b.patch +hg qtop hg qguard -n c.patch echo % should push c.patch @@ -82,6 +84,9 @@ echo % should push b.patch hg qpush hg qpush -a +# Used to be an issue with holes in the patch sequence +# So, put one hole on the base and ask for topmost patch. +hg qtop hg qpop -a hg qselect 1 2
--- a/tests/test-mq-guards.out Fri Sep 11 16:58:19 2009 +0200 +++ b/tests/test-mq-guards.out Mon Sep 14 17:29:47 2009 -0500 @@ -34,6 +34,8 @@ applying b.patch skipping c.patch - guarded by '-a' now at: b.patch +% should display b.patch +b.patch % should push c.patch applying c.patch now at: c.patch @@ -64,6 +66,7 @@ now at: b.patch applying c.patch now at: c.patch +c.patch popping c.patch popping b.patch patch queue now empty
--- a/tests/test-mq.out Fri Sep 11 16:58:19 2009 +0200 +++ b/tests/test-mq.out Mon Sep 14 17:29:47 2009 -0500 @@ -36,7 +36,9 @@ qimport import a patch qinit init a new queue repository qnew create a new patch + qnext print the name of the next patch qpop pop the current patch off the stack + qprev print the name of the previous patch qpush push the next patch onto the stack qrefresh update the current patch qrename rename a patch @@ -44,6 +46,7 @@ qsave save current queue state qselect set or print guarded patches to push qseries print the entire series file + qtop print the name of the current patch qunapplied print the patches not yet applied strip strip a revision and all its descendants from the repository @@ -140,6 +143,8 @@ % qapplied test.patch test2.patch +% qtop +test2.patch % prev test.patch % next