()
Compare the contents of the tarball against git ls-files
Compare the contents of the tarball against git ls-files
Compare the contents of the tarball against git ls - files
def compare_tar_against_git():
    """
    Compare the contents of the tarball against git ls-files
    """
    with hide("commands"):
        with cd("/home/vagrant/repos/sympy"):
            git_lsfiles = set([i.strip() for i in run("git ls-files").split("\n")])
        tar_output_orig = set(show_files('source', print_=False).split("\n"))
        tar_output = set()
    for file in tar_output_orig:
        # The tar files are like sympy-0.7.3/sympy/__init__.py, and the git
        # files are like sympy/__init__.py.
        split_path = full_path_split(file)
        if split_path[-1]:
            # Exclude directories, as git ls-files does not include them
            tar_output.add(os.path.join(*split_path[1:]))
    # print tar_output
    # print git_lsfiles
    fail = False
    print()
    print(blue("Files in the tarball from git that should not be there:",
        bold=True))
    print()
    for line in sorted(tar_output.intersection(git_whitelist)):
        fail = True
        print(line)
    print()
    print(blue("Files in git but not in the tarball:", bold=True))
    print()
    for line in sorted(git_lsfiles - tar_output - git_whitelist):
        fail = True
        print(line)
    print()
    print(blue("Files in the tarball but not in git:", bold=True))
    print()
    for line in sorted(tar_output - git_lsfiles - tarball_whitelist):
        fail = True
        print(line)

    if fail:
        error("Non-whitelisted files found or not found in the tarball")
def compare_tar_against_git ( ) : with hide ( "commands" ) : with cd ( "/home/vagrant/repos/sympy" ) : git_lsfiles = set ( [ i . strip ( ) for i in run ( "git ls-files" ) . split ( "\n" ) ] ) tar_output_orig = set ( show_files ( 'source' , print_ = False ) . split ( "\n" ) ) tar_output = set ( ) for file in tar_output_orig : # The tar files are like sympy-0.7.3/sympy/__init__.py, and the git # files are like sympy/__init__.py. split_path = full_path_split ( file ) if split_path [ - 1 ] : # Exclude directories, as git ls-files does not include them tar_output . add ( os . path . join ( * split_path [ 1 : ] ) ) # print tar_output # print git_lsfiles fail = False print ( ) print ( blue ( "Files in the tarball from git that should not be there:" , bold = True ) ) print ( ) for line in sorted ( tar_output . intersection ( git_whitelist ) ) : fail = True print ( line ) print ( ) print ( blue ( "Files in git but not in the tarball:" , bold = True ) ) print ( ) for line in sorted ( git_lsfiles - tar_output - git_whitelist ) : fail = True print ( line ) print ( ) print ( blue ( "Files in the tarball but not in git:" , bold = True ) ) print ( ) for line in sorted ( tar_output - git_lsfiles - tarball_whitelist ) : fail = True print ( line ) if fail : error ( "Non-whitelisted files found or not found in the tarball" )