Example #1
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('mode', choices=('push', 'commit', 'file'))
    parser.add_argument('--verbose',
                        '-v',
                        action='store_true',
                        help='Verbose output')
    parser.add_argument('args', nargs='*')
    args = parser.parse_args(sys.argv[1:])
    if args.mode == 'push':
        return suggest_reviewer_set_for_in_flight_commits(
            args.verbose) is not False
    elif args.mode == 'commit':
        db = get_owners_db()
        for commit in args.args:
            commit = git.canonicalize_commit(commit)
            print('Suggested reviewers for "%s": ' %
                  git.get_oneline_for_commit(commit))
            reviewers = _get_reviewer_set_for_commit(db, commit)
            explain_reviewer_set(reviewers)
    elif args.mode == 'file':
        reviewers = get_owners_db().reviewer_set_for(args.args,
                                                     git.get_current_email())
        explain_reviewer_set(reviewers)
    return 0
Example #2
0
def suggest_reviewer_set_for_in_flight_commits(verbose):
  in_flight_commits = git.get_in_flight_commits()
  if not in_flight_commits:
    print 'All commits have already been landed on this branch'
    return False
  db = get_owners_db()
  for commit in in_flight_commits:
    reviewer_set = _get_reviewer_set_for_commit(db, commit)
    print ('REVIEWERS FOR "%s":\n    %s' %
           (git.get_oneline_for_commit(commit),
            format_reviewer_set_in_conjunctive_normal_form(reviewer_set)))
    if verbose:
      explain_reviewer_set(reviewer_set)
  if verbose:
    print ''
  else:
    print ('For more details run: '
           './src/build/suggest_reviewers.py push -v')
Example #3
0
def suggest_reviewer_set_for_in_flight_commits(verbose):
    in_flight_commits = git.get_in_flight_commits()
    if not in_flight_commits:
        print 'All commits have already been landed on this branch'
        return False
    db = get_owners_db()
    for commit in in_flight_commits:
        reviewer_set = _get_reviewer_set_for_commit(db, commit)
        print('REVIEWERS FOR "%s":\n    %s' %
              (git.get_oneline_for_commit(commit),
               format_reviewer_set_in_conjunctive_normal_form(reviewer_set)))
        if verbose:
            explain_reviewer_set(reviewer_set)
    if verbose:
        print ''
    else:
        print(
            'For more details run: '
            './src/build/suggest_reviewers.py push -v')
Example #4
0
def main():
  parser = argparse.ArgumentParser()
  parser.add_argument('mode', choices=('push', 'commit', 'file'))
  parser.add_argument('--verbose', '-v', action='store_true',
                      help='Verbose output')
  parser.add_argument('args', nargs='*')
  args = parser.parse_args(sys.argv[1:])
  if args.mode == 'push':
    return suggest_reviewer_set_for_in_flight_commits(args.verbose) is not False
  elif args.mode == 'commit':
    db = get_owners_db()
    for commit in args.args:
      commit = git.canonicalize_commit(commit)
      print ('Suggested reviewers for "%s": ' %
             git.get_oneline_for_commit(commit))
      reviewers = _get_reviewer_set_for_commit(db, commit)
      explain_reviewer_set(reviewers)
  elif args.mode == 'file':
    reviewers = get_owners_db().reviewer_set_for(args.args,
                                                 git.get_current_email())
    explain_reviewer_set(reviewers)
  return 0