def main()

in analytics/github_analyze.py [0:0]


def main():
    import time
    args = parse_arguments()
    remote = args.remote
    if not remote:
        remotes = get_git_remotes(args.repo_path)
        # Pick best remote
        remote = next(iter(remotes.keys()))
        for key in remotes:
            if remotes[key].endswith('github.com/pytorch/pytorch'):
                remote = key

    repo = GitRepo(args.repo_path, remote)

    if args.missing_in_branch:
        # Use milestone idx or search it along milestone titles
        try:
            milestone_idx = int(args.milestone_id)
        except ValueError:
            milestone_idx = -1
            milestones = gh_get_milestones()
            for milestone in milestones:
                if milestone.get('title', '') == args.milestone_id:
                    milestone_idx = int(milestone.get('number', '-2'))
            if milestone_idx < 0:
                print(f'Could not find milestone {args.milestone_id}')
                return

        commits_missing_in_branch(repo,
                                  args.branch,
                                  f'orig/{args.branch}',
                                  milestone_idx)
        return

    print(f"Parsing git history with remote {remote}...", end='', flush=True)
    start_time = time.time()
    x = repo._run_git_log(f"{remote}/master")
    print(f"done in {time.time()-start_time:.1f} sec")
    if args.analyze_reverts:
        analyze_reverts(x)
    elif args.contributor_stats:
        print_contributor_stats(x)
    else:
        print_monthly_stats(x)