Mercurial > python-hglib
changeset 78:031cbb8d4f65
examples: add simple stat-gathering example
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 09 Nov 2011 14:07:29 -0600 |
parents | 4282391dd693 |
children | ca5f8f43e585 |
files | examples/stats.py |
diffstat | 1 files changed, 35 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/stats.py Wed Nov 09 14:07:29 2011 -0600 @@ -0,0 +1,35 @@ +# stats - get stats on the given repo + +import sys +import hglib + +# figure out what repo path to use +repo = '.' +if len(sys.argv) > 1: + repo = sys.argv[1] + +# connect to hg +client = hglib.open(repo) + +# gather some stats +revs = int(client.tip().rev) +files = len(list(client.manifest())) +heads = len(client.heads()) +branches = len(client.branches()) +tags = len(client.tags()) - 1 # don't count tip + +authors = {} +for e in client.log(): + authors[e.author] = True + +merges = 0 +for e in client.log(onlymerges=True): + merges += 1 + +print "%d revisions" % revs +print "%d merges" % merges +print "%d files" % files +print "%d heads" % heads +print "%d branches" % branches +print "%d tags" % tags +print "%d authors" % len(authors)