def METHOD_NAME(commit_hash: str) -> Tuple[str, List[str], dict, str]:
    """Extract relevant changes from git history via commit.
    Args:
        commit_hash: current commit hash
    Return: Tuple of
        commit_github_url: Url of commit on github.
        relevant_changed_files: List of relevant files that were changed.
        change_diffs: Dictionary with changed_files keys and changesets as values.
        commit_author: Author of commit.
    """
    commit_github_url = os.path.join(GITHUB_BASE_URL, commit_hash)
    # Getting Commit Author ('%an') from last (-1) git log entry. Last git log entry is the current commit.
    output_stream = os.popen("git log -1 --pretty=format:'%an'")
    commit_author = output_stream.read()
    # Getting changed file names between last commit on branch (HEAD^) and current commit.
    output_stream = os.popen(
        f"git diff-tree --no-commit-id --name-only -r HEAD^ {commit_hash}"
    )
    changed_files = output_stream.read().split("\n")
    logger.info(f"all Changed files: {changed_files}")
    change_diffs = {}
    for changed_file in changed_files:
        if changed_file.startswith(PREFIX) and changed_file.endswith(SUFFIX):
            # Getting diff of specific changed file from last commit on branch (HEAD^).
            # Filtering only lines indicating changes: starting with + or -
            output_stream = os.popen(
                f"git diff HEAD^ -- {changed_file} | grep '^[+|-][^+|-]'"
            )
            change_diffs[changed_file] = output_stream.read()
    relevant_changed_files = list(change_diffs.keys())
    return commit_github_url, relevant_changed_files, change_diffs, commit_author