CleanCommand: add the ability to do a dry run
Change-Id: I7b81a7e34a771951e2e7b789b080b2bfb8656e5c Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
This commit is contained in:
parent
a00b951323
commit
b04be93344
|
@ -113,4 +113,23 @@ public void testCleanWithPaths() throws NoWorkTreeException, IOException {
|
|||
assertTrue(!cleanedFiles.contains("File2.txt"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCleanWithDryRun() throws NoWorkTreeException, IOException {
|
||||
// create status
|
||||
StatusCommand command = git.status();
|
||||
Status status = command.call();
|
||||
Set<String> files = status.getUntracked();
|
||||
assertTrue(files.size() > 0);
|
||||
|
||||
// run clean
|
||||
Set<String> cleanedFiles = git.clean().setDryRun(true).call();
|
||||
|
||||
status = git.status().call();
|
||||
files = status.getUntracked();
|
||||
|
||||
assertTrue(files.size() == 2);
|
||||
assertTrue(cleanedFiles.contains("File2.txt"));
|
||||
assertTrue(cleanedFiles.contains("File3.txt"));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -64,6 +64,8 @@ public class CleanCommand extends GitCommand<Set<String>> {
|
|||
|
||||
private Set<String> paths = Collections.emptySet();
|
||||
|
||||
private boolean dryRun;
|
||||
|
||||
/**
|
||||
* @param repo
|
||||
*/
|
||||
|
@ -86,7 +88,8 @@ public Set<String> call() {
|
|||
Status status = command.call();
|
||||
for (String file : status.getUntracked()) {
|
||||
if (paths.isEmpty() || paths.contains(file)) {
|
||||
FileUtils.delete(new File(repo.getWorkTree(), file));
|
||||
if (!dryRun)
|
||||
FileUtils.delete(new File(repo.getWorkTree(), file));
|
||||
files.add(file);
|
||||
}
|
||||
}
|
||||
|
@ -108,4 +111,15 @@ public CleanCommand setPaths(Set<String> paths) {
|
|||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* If dryRun is set, the paths in question will not actually be deleted.
|
||||
*
|
||||
* @param dryRun
|
||||
* whether to do a dry run or not
|
||||
* @return {@code this}
|
||||
*/
|
||||
public CleanCommand setDryRun(boolean dryRun) {
|
||||
this.dryRun = dryRun;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue