diff options
Diffstat (limited to 'calm/mkgitoliteconf.py')
-rwxr-xr-x | calm/mkgitoliteconf.py | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/calm/mkgitoliteconf.py b/calm/mkgitoliteconf.py index c67277e..a7d7cf6 100755 --- a/calm/mkgitoliteconf.py +++ b/calm/mkgitoliteconf.py @@ -27,7 +27,6 @@ import argparse import sys -from collections import defaultdict from . import common_constants from . import maintainers @@ -49,21 +48,8 @@ def transform_username(name): # def do_main(args): - # read maintainer list - mlist = {} - mlist = maintainers.add_packages(mlist, args.pkglist) - - # make the list of all packages - maintainers.all_packages(mlist) - - # invert to a per-package list of maintainers - pkgs = defaultdict(list) - # for each maintainer - for m in mlist.values(): - # for each package - for p in m.pkgs: - # add the maintainer name - pkgs[p].append(m.name) + # Get per-package list of maintainers + pkgs = maintainers.pkg_list(args.pkglist) # header print("# automatically generated by mkgitoliteconf") @@ -89,14 +75,24 @@ def do_main(args): # for each package for p in sorted(pkgs): - users = ' '.join(map(transform_username, pkgs[p])) - owner = pkgs[p][0] # first named maintainer + pkg = pkgs[p] + + users = ' '.join(map(transform_username, [m for m in pkg.maintainers() if m != 'ORPHANED'])) + + owner = '' + if pkg.maintainers(): + owner = pkg.maintainers()[0] # first named maintainer + + if pkg.is_orphaned(): + owner = 'ORPHANED' print("repo git/cygwin-packages/%s" % (p)) print("C = %s @leads" % (users)) - print("RW master$ = %s" % (users)) - print("RW refs/tags/ = %s" % (users)) - print("owner = %s" % (owner)) + if users: + print("RW master$ = %s" % (users)) + print("RW refs/tags/ = %s" % (users)) + if owner: + print("owner = %s" % (owner)) print("") |