FetchCommand: allow to set "TagOpt"

This is needed for implementing Fetch in EGit using the API.

Change-Id: Ibdcc95906ef0f93e3798ae20d4de353fb394f2e2
Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com>
This commit is contained in:
Mathias Kinzler 2011-01-26 20:03:02 +01:00
parent 0d7dd6625a
commit a5b36ae1ea
1 changed files with 16 additions and 0 deletions

View File

@ -59,6 +59,7 @@
import org.eclipse.jgit.transport.CredentialsProvider;
import org.eclipse.jgit.transport.FetchResult;
import org.eclipse.jgit.transport.RefSpec;
import org.eclipse.jgit.transport.TagOpt;
import org.eclipse.jgit.transport.Transport;
/**
@ -89,6 +90,7 @@ public class FetchCommand extends GitCommand<FetchResult> {
private CredentialsProvider credentialsProvider;
private TagOpt tagOption;
/**
* @param repo
@ -123,6 +125,8 @@ public FetchResult call() throws JGitInternalException,
transport.setRemoveDeletedRefs(removeDeletedRefs);
transport.setTimeout(timeout);
transport.setDryRun(dryRun);
if (tagOption != null)
transport.setTagOpt(tagOption);
transport.setFetchThin(thin);
transport.setCredentialsProvider(credentialsProvider);
@ -333,4 +337,16 @@ public FetchCommand setCredentialsProvider(
this.credentialsProvider = credentialsProvider;
return this;
}
/**
* Sets the specification of annotated tag behavior during fetch
*
* @param tagOpt
* @return {@code this}
*/
public FetchCommand setTagOpt(TagOpt tagOpt) {
checkCallable();
this.tagOption = tagOpt;
return this;
}
}