@contextmanager<EOL><INDENT>def temp_copy(self):<DEDENT>
with contextmanagers.temp_dir() as temp_dir:<EOL><INDENT>temp_root_path = os.path.join(temp_dir, '<STR_LIT:root>')<EOL>path = os.path.join(self.path, '<STR_LIT>')  <EOL>check_call(['<STR_LIT>', '<STR_LIT>', "<STR_LIT>".format(self.private_dir()), "<STR_LIT>".format(<EOL>self.ignore_patterns_file()), path, temp_root_path])<EOL>copy = self.__class__(path=temp_root_path)<EOL>yield copy<EOL><DEDENT>
Yields a new Vcs object that represents a temporary, disposable
        copy of the current repository. The copy is deleted at the end
        of the context.

        The following are not copied:
        - ignored files
        - easyci private directory (.git/eci for git)

        Yields:
            Vcs