# HG changeset patch # User Matt Harbison # Date 1444093910 14400 # Node ID e94f93043a4ee3372fef61167850f2b16e4d3ba3 # Parent d2e69584e330f152d634fbc0e3907df84420b012 templatekw: factor out the changessincetag calculation to a private method This will be reused in the next patch. diff -r d2e69584e330 -r e94f93043a4e mercurial/templatekw.py --- a/mercurial/templatekw.py Sun Aug 23 23:22:55 2015 -0400 +++ b/mercurial/templatekw.py Mon Oct 05 21:11:50 2015 -0400 @@ -357,15 +357,20 @@ def showchangessincelatesttag(repo, ctx, templ, cache, **args): """:changessincelatesttag: Integer. All ancestors not in the latest tag.""" latesttag = getlatesttags(repo, ctx, cache)[2][0] + + return _showchangessincetag(repo, ctx, tag=latesttag, **args) + +def _showchangessincetag(repo, ctx, **args): offset = 0 revs = [ctx.rev()] + tag = args['tag'] # The only() revset doesn't currently support wdir() if ctx.rev() is None: offset = 1 revs = [p.rev() for p in ctx.parents()] - return len(repo.revs('only(%ld, %s)', revs, latesttag)) + offset + return len(repo.revs('only(%ld, %s)', revs, tag)) + offset def showmanifest(**args): repo, ctx, templ = args['repo'], args['ctx'], args['templ']