##// END OF EJS Templates
contributors: fix existing email-less entry of 'mikespook'...
contributors: fix existing email-less entry of 'mikespook' Commit 17bef51d7616 was committed as 'mikespook' without any email address. This name was thus reflected without email in the CONTRIBUTORS file. In the i18n copyright data, a 'mikespook' _with_ email address was referenced. Assuming these two refer to the same person, add a 'name fix' to combine them.

File last commit:

r7718:0a277465 default
r7758:ed76a046 default
Show More
shortlog.py
36 lines | 1.0 KiB | text/x-python | PythonLexer
#!/usr/bin/env python2
# -*- 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
import contributor_data
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()