diff hgext/mq.py @ 16064:7e5a281a082c stable

mq: make qprev return the previous applied patch (issue3245) The current behaviour is to return the previous one in the series but at the same time the implementation is buggy because it does not take guarded patches in account.
author Patrick Mezard <pmezard@gmail.com>
date Fri, 03 Feb 2012 19:47:09 +0100
parents c36db39b3fee
children 8af9e08a094f 24df9338aa01
line wrap: on
line diff
--- a/hgext/mq.py	Fri Feb 03 19:38:31 2012 +0100
+++ b/hgext/mq.py	Fri Feb 03 19:47:09 2012 +0100
@@ -2217,7 +2217,7 @@
 
 @command("qprev", seriesopts, _('hg qprev [-s]'))
 def prev(ui, repo, **opts):
-    """print the name of the previous patch
+    """print the name of the previous applied patch
 
     Returns 0 on success."""
     q = repo.mq
@@ -2228,7 +2228,8 @@
     if not l:
         ui.write(_("no patches applied\n"))
         return 1
-    q.qseries(repo, start=l - 2, length=1, status='A',
+    idx = q.series.index(q.applied[-2].name)
+    q.qseries(repo, start=idx, length=1, status='A',
               summary=opts.get('summary'))
 
 def setupheaderopts(ui, opts):