# HG changeset patch # User Patrick Mezard # Date 1328294311 -3600 # Node ID c36db39b3fee5dbdea15d92ad5d62657524ea447 # Parent 3b9c18ed998553ab19321e1c8b852fa6b76eac13 mq: fix qnext when all remaining patches are guarded When all remaining patches are guarded, qnext used to return the last of the queue anyway. diff -r 3b9c18ed9985 -r c36db39b3fee hgext/mq.py --- a/hgext/mq.py Fri Feb 03 19:23:13 2012 +0100 +++ b/hgext/mq.py Fri Feb 03 19:38:31 2012 +0100 @@ -1757,9 +1757,9 @@ for i in xrange(start, len(self.series)): p, reason = self.pushable(i) if p: - break + return i self.explainpushable(i) - return i + return len(self.series) if self.applied: p = self.applied[-1].name try: @@ -2205,7 +2205,7 @@ @command("qnext", seriesopts, _('hg qnext [-s]')) def next(ui, repo, **opts): - """print the name of the next patch + """print the name of the next pushable patch Returns 0 on success.""" q = repo.mq diff -r 3b9c18ed9985 -r c36db39b3fee tests/test-mq-guards.t --- a/tests/test-mq-guards.t Fri Feb 03 19:23:13 2012 +0100 +++ b/tests/test-mq-guards.t Fri Feb 03 19:38:31 2012 +0100 @@ -107,6 +107,9 @@ applying b.patch skipping c.patch - guarded by '-a' now at: b.patch + $ hg qnext + all patches applied + [1] should display b.patch diff -r 3b9c18ed9985 -r c36db39b3fee tests/test-mq.t --- a/tests/test-mq.t Fri Feb 03 19:23:13 2012 +0100 +++ b/tests/test-mq.t Fri Feb 03 19:38:31 2012 +0100 @@ -72,7 +72,7 @@ qheader print the header of the topmost or specified patch qimport import a patch qnew create a new patch - qnext print the name of the next patch + qnext print the name of the next pushable 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