javagit/src/main/java/edu/nyu/cs/javagit/api/commands/GitAdd.java
public GitAddResponse add(File repositoryPath, GitAddOptions options, List<File> paths)
      throws IOException, JavaGitException {
    CheckUtilities.checkFileValidity(repositoryPath.getAbsoluteFile());
    IClient client = ClientManager.getInstance().getPreferredClient();
    IGitAdd gitAdd = client.getGitAddInstance();
    return gitAdd.add(repositoryPath, options, paths);
  }
public GitAddResponse add(File repositoryPath, GitAddOptions options, List<File> paths)
      throws IOException, JavaGitException {
    CheckUtilities.checkFileValidity(repositoryPath.getAbsoluteFile());
    IClient client = ClientManager.getInstance().getPreferredClient();
    IGitAdd gitAdd = client.getGitAddInstance();
    return gitAdd.add(repositoryPath, options, paths);
  }
This command adds the current content of new or modified files to the index, thus staging that
content for inclusion in the next commit.

@param repositoryPath
The path to the repository to commit against. A non-zero length argument is required
for this parameter, otherwise a <code>NullPointerException</code> or
<code>IllegalArgumentException</code> will be thrown.
@param options
GitAddOptions that are passed to the &lt;git-add&gt; command.
@param paths
List of file paths that will be added to the index.
@return GitAddResponse Response generated by the add command.
@exception IOException
There are many reasons for which an <code>IOException</code> may be thrown if -
<ul>
<li>repositoryPath is not valid</li>
<li>filenames assigned do not exist</li>
<li>files or repository path does not have access rights</li>
</ul>
@exception JavaGitException
Exception thrown
<ul>
<li>if the repositoryPath is null.</li>
<li>if the &lt;git-add&gt; command generates error.</li>
</ul>