Files
@ 173612a900ef
Branch filter:
Location: kallithea/scripts/shortlog.py - annotation
173612a900ef
1.0 KiB
text/x-python
ui: show toggleable "Follow" status in repo groups' repo list
It makes sense to show Follow status next to repo names in the repo list, and
it is a meaningful and efficient bulk operation to toggle Follow status there.
Clicking on the (Un)Follow 'heart' will toggle the caller's follow status for
that repo.
The repo model already has layering violations - expand on them to compute the
follow status of the current user.
(Changeset was cherry picked and modified by Mads Kiilerich.)
It makes sense to show Follow status next to repo names in the repo list, and
it is a meaningful and efficient bulk operation to toggle Follow status there.
Clicking on the (Un)Follow 'heart' will toggle the caller's follow status for
that repo.
The repo model already has layering violations - expand on them to compute the
follow status of the current user.
(Changeset was cherry picked and modified by Mads Kiilerich.)
aa6f17a53b49 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 0a277465fddf 2786730e56e0 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 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
from . 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()
|