Files
@ 4e0442f914b9
Branch filter:
Location: kallithea/scripts/shortlog.py - annotation
4e0442f914b9
1.0 KiB
text/x-python
auth: accept sha256 passwords on all platforms - not only on Windows
Give less surprises when changing platform.
Still, bcrypt is only supported and used on Posix.
bcrypt "hashes" will have length 60 and start with '$' and will thus
immediately skip the sha256 check.
The change should be safe: Users can't influence what kind of hashed key will
be in the database and can thus not influence the auth method.
(We really should use bcrypt on Windows too ... or change to something more
state of the art.)
Give less surprises when changing platform.
Still, bcrypt is only supported and used on Posix.
bcrypt "hashes" will have length 60 and start with '$' and will thus
immediately skip the sha256 check.
The change should be safe: Users can't influence what kind of hashed key will
be in the database and can thus not influence the auth method.
(We really should use bcrypt on Windows too ... or change to something more
state of the art.)
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()
|