Files @ d2a97f73fa1f
Branch filter:

Location: kallithea/scripts/shortlog.py

Mads Kiilerich
db: migration step after 95c01895c006 failed to add usk_public_key_idx in alembic step b74907136bc1

Use meta reflection to check if the indices exists before running the
upgrade step. The upgrade step only has to be run if it is an old database -
not if it has been created after the schema changes were introduced.
#!/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()