# HG changeset patch # User Matt Mackall # Date 1320869249 21600 # Node ID 031cbb8d4f65d762d363f61d4ea08a572d2d9305 # Parent 4282391dd69325b2a130ea11d739cc5da004e2af examples: add simple stat-gathering example diff -r 4282391dd693 -r 031cbb8d4f65 examples/stats.py --- /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)