def commits_missing_in_branch()

in analytics/github_analyze.py [0:0]


def commits_missing_in_branch(repo: GitRepo, branch: str, orig_branch: str, milestone_idx: int) -> None:
    def get_commits_dict(x, y):
        return build_commit_dict(repo.get_commit_list(x, y))
    master_commits = get_commits_dict(orig_branch, 'master')
    release_commits = get_commits_dict(orig_branch, branch)
    print(f"len(master_commits)={len(master_commits)}")
    print(f"len(release_commits)={len(release_commits)}")
    print("URL;Title;Status")
    for issue in gh_get_milestone_issues('pytorch', 'pytorch', milestone_idx, IssueState.ALL):
        html_url, state = issue["html_url"], issue["state"]
        # Skip closed states if they were landed before merge date
        if state == "closed":
            mentioned_after_cut = any(html_url in commit_message for commit_message in master_commits.values())
            # If issue is not mentioned after cut, that it must be present in release branch
            if not mentioned_after_cut:
                continue
            mentioned_in_release = any(html_url in commit_message for commit_message in release_commits.values())
            # if Issue is mentioned is release branch, than it was picked already
            if mentioned_in_release:
                continue
        print(f'{html_url};{issue["title"]};{state}')