Files
@ 37ac2ac0a9ae
Branch filter:
Location: kallithea/scripts/shortlog.py - annotation
37ac2ac0a9ae
1.0 KiB
text/x-python
scripts/validate-commits: use direct /bin/bash interpreter
Use of '#!/bin/bash' vs '#!/usr/bin/env bash' can be argued multiple ways.
For example, see:
https://stackoverflow.com/questions/21612980/why-is-usr-bin-env-bash-superior-to-bin-bash/21613039
It seems to be more common to use the first approach. And we don't have a
specific reason to prefer the latter. Moreover, other scripts in this repo,
like 'make-release' and 'whitespacecleanup.sh' use the former too.
Use of '#!/bin/bash' vs '#!/usr/bin/env bash' can be argued multiple ways.
For example, see:
https://stackoverflow.com/questions/21612980/why-is-usr-bin-env-bash-superior-to-bin-bash/21613039
It seems to be more common to use the first approach. And we don't have a
specific reason to prefer the latter. Moreover, other scripts in this repo,
like 'make-release' and 'whitespacecleanup.sh' use the former too.
30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 0a277465fddf 30e3d0a14f09 30e3d0a14f09 0a277465fddf 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 | #!/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()
|