Files @ 52dea05f8553
Branch filter:

Location: kallithea/scripts/shortlog.py

Manuel Jacob
setup: bump maximum version of Mercurial to 7.0.x

The freeze for the Mercurial 7.0 release was done on February 28th. The release
of 7.0.0 was scheduled for March 1st, but was delayed. It is likely that the
release will happen soon without changes that would break Kallithea.

The tests pass and some quick manual testing of the web UI found no issues.
#!/usr/bin/env python3
# -*- 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()