Package org.eclipse.jgit.api
Class CleanCommand
- java.lang.Object
-
- org.eclipse.jgit.api.GitCommand<java.util.Set<java.lang.String>>
-
- org.eclipse.jgit.api.CleanCommand
-
- All Implemented Interfaces:
java.util.concurrent.Callable<java.util.Set<java.lang.String>>
public class CleanCommand extends GitCommand<java.util.Set<java.lang.String>>
Remove untracked files from the working tree- See Also:
- Git documentation about Clean
-
-
Field Summary
Fields Modifier and Type Field Description private booleandirectoriesprivate booleandryRunprivate booleanforceprivate booleanignoreprivate java.util.Set<java.lang.String>paths-
Fields inherited from class org.eclipse.jgit.api.GitCommand
repo
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedCleanCommand(Repository repo)Constructor for CleanCommand
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Set<java.lang.String>call()private java.util.Set<java.lang.String>cleanPath(java.lang.String path, java.util.Set<java.lang.String> inFiles)When dryRun is false, deletes the specified path from disk.private java.util.Set<java.lang.String>filterFolders(java.util.Set<java.lang.String> untracked, java.util.Set<java.lang.String> untrackedFolders)private java.util.Set<java.lang.String>filterIgnorePaths(java.util.Set<java.lang.String> inputPaths, java.util.Set<java.lang.String> ignoredNotInIndex, boolean exact)CleanCommandsetCleanDirectories(boolean dirs)If dirs is set, in addition to files, also clean directories.CleanCommandsetDryRun(boolean dryRun)If dryRun is set, the paths in question will not actually be deleted.CleanCommandsetForce(boolean force)If force is set, directories that are git repositories will also be deleted.CleanCommandsetIgnore(boolean ignore)If ignore is set, don't report/clean files/directories that are ignored by a .gitignore.CleanCommandsetPaths(java.util.Set<java.lang.String> paths)If paths are set, only these paths are affected by the cleaning.-
Methods inherited from class org.eclipse.jgit.api.GitCommand
checkCallable, getRepository, setCallable
-
-
-
-
Constructor Detail
-
CleanCommand
protected CleanCommand(Repository repo)
Constructor for CleanCommand- Parameters:
repo- theRepository
-
-
Method Detail
-
call
public java.util.Set<java.lang.String> call() throws NoWorkTreeException, GitAPIExceptionExecute the command
Executes the
cleancommand with all the options and parameters collected by the setter methods of this class. Each instance of this class should only be used for one invocation of the command (means: one call tocall())- Specified by:
callin interfacejava.util.concurrent.Callable<java.util.Set<java.lang.String>>- Specified by:
callin classGitCommand<java.util.Set<java.lang.String>>- Throws:
NoWorkTreeExceptionGitAPIException
-
cleanPath
private java.util.Set<java.lang.String> cleanPath(java.lang.String path, java.util.Set<java.lang.String> inFiles) throws java.io.IOExceptionWhen dryRun is false, deletes the specified path from disk. If dryRun is true, no paths are actually deleted. In both cases, the paths that would have been deleted are added to inFiles and returned. Paths that are directories are recursively deleted whendirectoriesis true. Paths that are git repositories are recursively deleted whendirectoriesandforceare both true.- Parameters:
path- The path to be cleanedinFiles- A set of strings representing the files that have been cleaned already, the path to be cleaned will be added to this set before being returned.- Returns:
- a set of strings with the cleaned path added to it
- Throws:
java.io.IOException
-
filterIgnorePaths
private java.util.Set<java.lang.String> filterIgnorePaths(java.util.Set<java.lang.String> inputPaths, java.util.Set<java.lang.String> ignoredNotInIndex, boolean exact)
-
filterFolders
private java.util.Set<java.lang.String> filterFolders(java.util.Set<java.lang.String> untracked, java.util.Set<java.lang.String> untrackedFolders)
-
setPaths
public CleanCommand setPaths(java.util.Set<java.lang.String> paths)
If paths are set, only these paths are affected by the cleaning.- Parameters:
paths- the paths to set (with/as separator)- Returns:
this
-
setDryRun
public CleanCommand setDryRun(boolean dryRun)
If dryRun is set, the paths in question will not actually be deleted.- Parameters:
dryRun- whether to do a dry run or not- Returns:
this
-
setForce
public CleanCommand setForce(boolean force)
If force is set, directories that are git repositories will also be deleted.- Parameters:
force- whether or not to delete git repositories- Returns:
this- Since:
- 4.5
-
setCleanDirectories
public CleanCommand setCleanDirectories(boolean dirs)
If dirs is set, in addition to files, also clean directories.- Parameters:
dirs- whether to clean directories too, or only files.- Returns:
this
-
setIgnore
public CleanCommand setIgnore(boolean ignore)
If ignore is set, don't report/clean files/directories that are ignored by a .gitignore. otherwise do handle them.- Parameters:
ignore- whether to respect .gitignore or not.- Returns:
this
-
-