

def get_touched_branch_files(payload, github_auth):
    ' Return a set of files modified between master and payload head.\n    '
    branch_sha = payload['head_commit']['id']
    compare1_url = payload['repository']['compare_url']
    compare1_url = expand_uri(compare1_url, dict(base='master', head=branch_sha))
    current_app.logger.debug('Compare URL 1 {}'.format(compare1_url))
    compare1 = get(compare1_url, auth=github_auth).json()
    merge_base_sha = compare1['merge_base_commit']['sha']
    if (merge_base_sha == branch_sha):
        return set()
    compare2_url = github_auth['repository']['compare_url']
    compare2_url = expand_uri(compare2_url, dict(base=merge_base_sha, head=branch_sha))
    current_app.logger.debug('Compare URL 2 {}'.format(compare2_url))
    compare2 = get(compare2_url, auth=github_auth).json()
    touched = set([file['filename'] for file in compare2['files']])
    current_app.logger.debug('Touched files {}'.format(', '.join(touched)))
    return touched

dataset/ETHPy150Open openaddresses/machine/openaddr/ci/__init__.py get_touched_branch_files/VarMisuse@108/211 `payload`->`github_auth`