import argparse
import getdeveloperlib
import sys
+import os
def parse_args():
parser = argparse.ArgumentParser()
help='find developers in charge of this architecture')
parser.add_argument('-p', dest='package', action='store',
help='find developers in charge of this package')
+ parser.add_argument('-f', dest='files', nargs='*',
+ help='find developers in charge of these files')
parser.add_argument('-c', dest='check', action='store_const',
const=True, help='list files not handled by any developer')
return parser.parse_args()
action += 1
if args.package is not None:
action += 1
+ if args.files:
+ action += 1
if args.check:
action += 1
if len(args.patches) != 0:
print(dev.name)
return
+ # Handle the files action
+ if args.files is not None:
+ args.files = [os.path.abspath(f) for f in args.files]
+ for dev in devs:
+ for devfile in dev.files:
+ commonfiles = [f for f in args.files if f.startswith(devfile)]
+ if commonfiles:
+ print(dev.name)
+ break
+
# Handle the patches action
if len(args.patches) != 0:
(files, infras) = getdeveloperlib.analyze_patches(args.patches)