@staticmethod
def _ignorify(patterns=['*~']):
    """
        pathspec implements gitignore style pattern matching. However, 
        it doesn't ignore patterns, it *matches* patterns.
        So every pattern needs to be reversed by adding a '!' (or removing)
        it.
        """
    patterns = list(patterns)
    reversed_patterns = ['*']
    for p in patterns:
        if p.startswith('!'):
            reversed_patterns.append(p.replace('!', '', 1))
        else:
            reversed_patterns.append('!' + p)
    return reversed_patterns
