break
return (ret, "".join(out))
+ def clean(self, directories=False, force=False, dry_run=False):
+ """
+ Remove untracked files from the working tree.
+
+ @param directories: remove untracked directories, too
+ @type directories: C{bool}
+ @param force: satisfy git configuration variable clean.requireForce
+ @type force: C{bool}
+ @param dry_run: don’t actually remove anything
+ @type dry_run: C{bool}
+ """
+ options = GitArgs()
+ options.add_true(directories, '-d')
+ options.add_true(force, '-f')
+ options.add_true(dry_run, '-n')
+
+ _out, err, ret = self._git_inout('clean', options.args,
+ extra_env={'LC_ALL': 'C'})
+ if ret:
+ raise GitRepositoryError("Can't execute repository clean: %s" % err)
+
def is_empty(self):
"""
Is the repository empty?
'master'
"""
+def test_clean():
+ """
+ Remove untracked files from the working tree
+
+ Methods tested:
+ - L{gbp.git.GitRepository.clean}
+
+ >>> import gbp.git, shutil, os
+ >>> repo = gbp.git.GitRepository(repo_dir)
+ >>> shutil.copy(os.path.join(repo.path, ".git/HEAD"), \
+ os.path.join(repo.path, "testclean"))
+ >>> repo.clean(dry_run=True)
+ >>> repo.is_clean()[0]
+ False
+ >>> repo.clean(directories=True, force=True)
+ >>> repo.is_clean()[0]
+ True
+ """
def test_create_branch():
"""