Browse Source

fixed for clean with dir path

Signed-off-by: qxo <qxodream@gmail.com>
pull/37/head
qxo 7 years ago
parent
commit
e8d6182d39
1 changed files with 12 additions and 4 deletions
  1. 12
    4
      org.eclipse.jgit/src/org/eclipse/jgit/api/CleanCommand.java

+ 12
- 4
org.eclipse.jgit/src/org/eclipse/jgit/api/CleanCommand.java View File

@@ -124,12 +124,12 @@ public class CleanCommand extends GitCommand<Set<String>> {
status.getIgnoredNotInIndex(), false);

for (String file : notIgnoredFiles)
if (paths.isEmpty() || paths.contains(file)) {
if (paths.isEmpty() || paths.contains(file) || isFileInPaths(file) ) {
files = cleanPath(file, files);
}
for (String dir : notIgnoredDirs)
if (paths.isEmpty() || paths.contains(dir)) {
if (paths.isEmpty() || paths.contains(dir) || isFileInPaths(dir) ) {
files = cleanPath(dir, files);
}
} catch (IOException e) {
@@ -137,7 +137,15 @@ public class CleanCommand extends GitCommand<Set<String>> {
}
return files;
}

protected boolean isFileInPaths(final String file) {
if(paths.isEmpty()){
return false;
}
int idx = file.lastIndexOf("/");
return idx == -1 ? false : paths.contains(file.substring(0,idx));
}
/**
* When dryRun is false, deletes the specified path from disk. If dryRun
* is true, no paths are actually deleted. In both cases, the paths that

Loading…
Cancel
Save