# HG changeset patch # User Steve Losh # Date 1277244703 14400 # Node ID d3e15364de2ea1185eb87bb83b2ec508a36c25fb # Parent 8ca1c9929313eff0fd1e408717d349bfe658d968 Add the count filter to count revsets. diff -r 8ca1c9929313 -r d3e15364de2e prompt.py --- a/prompt.py Fri Apr 23 10:16:09 2010 -0400 +++ b/prompt.py Tue Jun 22 18:11:43 2010 -0400 @@ -15,7 +15,7 @@ import subprocess from datetime import datetime, timedelta from os import path -from mercurial import extensions, commands, help +from mercurial import extensions, commands, cmdutil, help from mercurial.node import hex, short CACHE_PATH = ".hg/prompt/cache" @@ -136,6 +136,11 @@ return _with_groups(g, sep.join(tags)) if tags else '' + def _count(m): + g = m.groups() + query = [g[1][1:]] if g[1] else ['all()'] + return _with_groups(g, str(len(cmdutil.revrange(repo, query)))) + def _task(m): try: task = extensions.find('tasks').current(repo) @@ -305,6 +310,7 @@ patterns = { 'bookmark': _bookmark, 'branch(\|quiet)?': _branch, + 'count(\|[^%s]*?)?' % brackets[-1]: _count, 'node(?:' '(\|short)' '|(\|merge)' @@ -399,6 +405,15 @@ |quiet Display the current branch only if it is not the default branch. +count + Display the number of revisions in the given revset (the revset `all()` + will be used if none is given. + + See `hg help revsets` for more information. + + |REVSET + The revset to count. + incoming Display nothing, but if the default path contains incoming changesets the extra text will be expanded.