diff --git a/mercurial/archival.py b/mercurial/archival.py --- a/mercurial/archival.py +++ b/mercurial/archival.py @@ -75,7 +75,8 @@ def buildmetadata(ctx): cmdutil.show_changeset(repo.ui, repo, opts).show(ctx) ltags, dist = repo.ui.popbuffer().split('\n') ltags = ltags.split(':') - changessince = len(repo.revs('only(.,%s)', ltags[0])) + # XXX: ctx.rev() needs to be handled differently with wdir() + changessince = len(repo.revs('only(%d,%s)', ctx.rev(), ltags[0])) tags = ''.join('latesttag: %s\n' % t for t in ltags) tags += 'latesttagdistance: %s\n' % dist tags += 'changessincelatesttag: %s\n' % changessince diff --git a/tests/test-glog.t b/tests/test-glog.t --- a/tests/test-glog.t +++ b/tests/test-glog.t @@ -2013,6 +2013,16 @@ Test --follow and forward --rev | o 0 add a + $ hg archive -r 7 archive + $ grep changessincelatesttag archive/.hg_archival.txt + changessincelatesttag: 1 + $ rm -r archive + +changessincelatesttag with no prior tag + $ hg archive -r 4 archive + $ grep changessincelatesttag archive/.hg_archival.txt + changessincelatesttag: 5 + $ hg export 'all()' # HG changeset patch # User test