Class AddCommand

All Implemented Interfaces:
Callable<DirCache>

public class AddCommand extends GitCommand<DirCache>
A class used to execute a Add command. It has setters for all supported options and arguments of this command and a call() method to finally execute the command. Each instance of this class should only be used for one invocation of the command (means: one call to call())
See Also:
  • Constructor Details

    • AddCommand

      public AddCommand(Repository repo)
      Constructor for AddCommand
      Parameters:
      repo - the Repository
  • Method Details

    • addFilepattern

      public AddCommand addFilepattern(String filepattern)
      Add a path to a file/directory whose content should be added.

      A directory name (e.g. dir to add dir/file1 and dir/file2) can also be given to add all files in the directory, recursively. Fileglobs (e.g. *.c) are not yet supported.

      Parameters:
      filepattern - repository-relative path of file/directory to add (with / as separator)
      Returns:
      this
    • setWorkingTreeIterator

      public AddCommand setWorkingTreeIterator(WorkingTreeIterator f)
      Allow clients to provide their own implementation of a FileTreeIterator
      Parameters:
      f - a WorkingTreeIterator object.
      Returns:
      this
    • call

      Execute the command

      Executes the Add command. Each instance of this class should only be used for one invocation of the command. Don't call this method twice on an instance.

      Specified by:
      call in interface Callable<DirCache>
      Specified by:
      call in class GitCommand<DirCache>
      Throws:
      GitAPIException
      NoFilepatternException
    • setUpdate

      public AddCommand setUpdate(boolean update)
      Set whether to only match against already tracked files
      Parameters:
      update - If set to true, the command only matches filepattern against already tracked files in the index rather than the working tree. That means that it will never stage new files, but that it will stage modified new contents of tracked files and that it will remove files from the index if the corresponding files in the working tree have been removed. In contrast to the git command line a filepattern must exist also if update is set to true as there is no concept of a working directory here.
      Returns:
      this
    • isUpdate

      public boolean isUpdate()
      Whether to only match against already tracked files
      Returns:
      whether to only match against already tracked files
    • setRenormalize

      public AddCommand setRenormalize(boolean renormalize)
      Defines whether the command will renormalize by re-applying the "clean" process to tracked files.

      This does not automatically call setUpdate(boolean).

      Parameters:
      renormalize - whether to renormalize tracked files
      Returns:
      this
      Since:
      6.6
    • isRenormalize

      public boolean isRenormalize()
      Tells whether the command will renormalize by re-applying the "clean" process to tracked files.

      For legacy reasons, this is true by default.

      This setting is independent of isUpdate(). In C git, command-line option --renormalize implies --update.

      Returns:
      whether files will be renormalized
      Since:
      6.6