Mercurial > public > mercurial-scm > python-hglib
view examples/stats.py @ 200:7da1dad166b5
client: ignore close() on non-open clients (issue5751)
Closing a client twice currently triggers a rather confusing exception.
Instead, follow the convention set by Python's file objects, and ignore close()
commands on non-open clients.
author | G?bor Stefanik <gabor.stefanik@nng.com> |
---|---|
date | Mon, 12 Feb 2018 14:54:09 +0100 |
parents | 031cbb8d4f65 |
children |
line wrap: on
line source
# 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)