<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def sync_results(vcs, signature):
 """Sync the saved results for `signature` back to the project. Args: vcs (easyci.vcs.base.Vcs) signature (str) Raises: ResultsNotFoundError """

    results_directory = _get_results_directory(vcs, signature)
    if not os.path.exists(results_directory):
        raise ResultsNotFoundError
    with open(os.path.join(results_directory, 'patterns'), 'r') as f:
        patterns = f.read().strip().split()
    includes = ['--include={}'.format(x)
                for x in patterns]
    cmd = ['rsync', '-r'] + includes + ['--exclude=*',
                                        os.path.join(
                                            results_directory, 'results', ''),
                                        os.path.join(vcs.path, '')]
    subprocess.check_call(cmd)