# HG changeset patch # User Matt Mackall # Date 1176680558 18000 # Node ID c593e502f7fd9b71843c1e8354064b63a184207e # Parent 8b4d4f84b73972e48d1c6272963c4aa5f236c801# Parent 9bfe93edfbb0e5aef004f0009d35f202340e42b2 Merge with stable diff --git a/hgext/mq.py b/hgext/mq.py --- a/hgext/mq.py +++ b/hgext/mq.py @@ -1586,7 +1586,7 @@ def series(ui, repo, **opts): def top(ui, repo, **opts): """print the name of the current patch""" q = repo.mq - t = len(q.applied) + t = q.series_end() if t: return q.qseries(repo, start=t-1, length=1, status='A', summary=opts.get('summary')) diff --git a/mercurial/hgweb/hgweb_mod.py b/mercurial/hgweb/hgweb_mod.py --- a/mercurial/hgweb/hgweb_mod.py +++ b/mercurial/hgweb/hgweb_mod.py @@ -703,7 +703,7 @@ class hgweb(object): # strip leading / pi = pi[1:] if pi: - root = root[:-len(pi)] + root = root[:root.rfind(root, pi)] if req.env.has_key('REPO_NAME'): rn = req.env['REPO_NAME'] + '/' root += rn diff --git a/tests/test-mq-guards b/tests/test-mq-guards --- a/tests/test-mq-guards +++ b/tests/test-mq-guards @@ -76,6 +76,10 @@ hg qpop -a hg qselect 2 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 diff --git a/tests/test-mq-guards.out b/tests/test-mq-guards.out --- a/tests/test-mq-guards.out +++ b/tests/test-mq-guards.out @@ -46,6 +46,9 @@ Patch queue now empty % should push b.patch applying b.patch Now at: b.patch +applying c.patch +Now at: c.patch +c.patch Patch queue now empty number of unguarded, unapplied patches has changed from 2 to 3 % should push a.patch, b.patch