##// END OF EJS Templates
meta: update copyrights
meta: update copyrights

File last commit:

r8177:96b43734 default
r8708:d625696a stable
Show More
shortlog.py
36 lines | 1.0 KiB | text/x-python | PythonLexer
Mads Kiilerich
py3: switch to use Python 3 interpreter, temporarily leaving many things very broken until they have been migrated/fixed in a reviewable way...
r8053 #!/usr/bin/env python3
Thomas De Schampheleire
scripts/shortlog: new script...
r7497 # -*- coding: utf-8 -*-
"""
Kallithea script for generating a quick overview of contributors and their
commit counts in a given revision set.
"""
import argparse
import os
from collections import Counter
Mads Kiilerich
scripts: initial run of import cleanup using isort
r7718
Mads Kiilerich
scripts: use plain import of contributor_data...
r8177 import contributor_data
Thomas De Schampheleire
scripts/shortlog: new script...
r7497
Mads Kiilerich
scripts: initial run of import cleanup using isort
r7718
Thomas De Schampheleire
scripts/shortlog: new script...
r7497 def main():
parser = argparse.ArgumentParser(description='Generate a list of committers and commit counts.')
parser.add_argument('revset',
help='revision set specifying the commits to count')
args = parser.parse_args()
repo_entries = [
(contributor_data.name_fixes.get(name) or contributor_data.name_fixes.get(name.rsplit('<', 1)[0].strip()) or name).rsplit('<', 1)[0].strip()
for name in (line.strip()
for line in os.popen("""hg log -r '%s' -T '{author}\n'""" % args.revset).readlines())
]
counter = Counter(repo_entries)
for name, count in counter.most_common():
if name == '':
continue
print('%4s %s' % (count, name))
if __name__ == '__main__':
main()