Mercurial > kallithea
view scripts/shortlog.py @ 7750:f2900ebaac0d
locale: fix environment checks: LC_ALL has precedence over LC_CTYPE
'man 7 locale' describes following precedence:
If the second argument to setlocale(3) is an empty string, "", for
the default locale, it is determined using the following steps:
1. If there is a non-null environment variable LC_ALL, the value of
LC_ALL is used.
2. If an environment variable with the same name as one of the
categories above exists and is non-null, its value is used for that
category.
3. If there is a non-null environment variable LANG, the value of
LANG is used.
So, if LC_ALL is set, it is used regardless of LC_CTYPE or LANG.
Hence, when suggesting users what to change when their locale is invalid, we
should also first check LC_ALL instead of LC_CTYPE.
author | Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> |
---|---|
date | Mon, 24 Jun 2019 19:42:02 +0200 |
parents | 30e3d0a14f09 |
children | 0a277465fddf |
line wrap: on
line source
#!/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()