Mercurial > kallithea
view scripts/shortlog.py @ 8588:210e76d69b62
mysql: bump charset to to 'utf8mb4' to get full UTF-8 support
We used to use 'utf8', but in MySQL, this is just an alias for 'utf8mb3' which
isn't full unicode. 'utf8mb4' has less surprises (especially if used with the
'utf8mb4_unicode_ci' collation).
MySQL character sets for server, database, tables, and connection are set
independently. Until now, we have specified 'utf8' when creating tables to
overrule the database charset and in the default MySQL connection URL.
For existing databases, it is recommended to change encoding (and collation) by
altering the each of the tables inside it as described on
https://stackoverflow.com/questions/6115612/how-to-convert-an-entire-mysql-database-characterset-and-collation-to-utf-8 .
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Mon, 15 Jun 2020 16:57:20 +0200 |
parents | 96b43734025f |
children |
line wrap: on
line source
#!/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()