Example #1
0
def commits_and_all_issues(repo, issues):
    def replace(chars_to_replace, replacement, s):
        temp_s = s
        for c in chars_to_replace:
            temp_s = temp_s.replace(c, replacement)
        return temp_s

    def get_bug_num_from_comit_text(commit_text):
        text = replace("[]?#,:()", "", commit_text.lower())
        text = replace("-_", " ", text)
        for word in text.split():
            if word.isdigit():
                return word
        return "0"

    commits = []
    #issues_ids = map(lambda issue: issue.key.split("-")[1], issues)
    for git_commit in repo.iter_commits():
        commit_text = clean_commit_message(git_commit.summary)
        commit_issue_num = get_bug_num_from_comit_text(commit_text)
        if commit_issue_num in issues.keys():
            commits.append(
                Commit.init_commit_by_git_and_issue(git_commit,
                                                    issues[commit_issue_num]))
    return commits