summaryrefslogtreecommitdiffstats
path: root/third_party/python/python-hglib/examples
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/python-hglib/examples')
-rw-r--r--third_party/python/python-hglib/examples/stats.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/third_party/python/python-hglib/examples/stats.py b/third_party/python/python-hglib/examples/stats.py
new file mode 100644
index 0000000000..f54a59236e
--- /dev/null
+++ b/third_party/python/python-hglib/examples/stats.py
@@ -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)