diff -r b8dc3eba4f9d -r f2acc0c00bec hgext/mq.py --- a/hgext/mq.py Wed Aug 19 12:51:07 2009 +0200 +++ b/hgext/mq.py Mon Sep 14 16:39:24 2009 -0500 @@ -1866,6 +1866,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]: @@ -2580,6 +2613,8 @@ ('d', 'date', '', _('add "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')), @@ -2637,6 +2672,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,