Update FetchCommand with dry run and thin options

FetchCommand was missing the ability to set dry run and thin
preferences on the transport operation.

Change-Id: I0bef388a9b8f2e3a01ecc9e7782aaed7f9ac82ce
Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
This commit is contained in:
Chris Aniszczyk 2010-09-24 15:32:36 -05:00
parent 11f99fecfd
commit 39734f2908
1 changed files with 46 additions and 0 deletions

View File

@ -80,6 +80,10 @@ public class FetchCommand extends GitCommand<FetchResult> {
private boolean removeDeletedRefs;
private boolean dryRun;
private boolean thin = Transport.DEFAULT_FETCH_THIN;
private int timeout;
@ -115,6 +119,8 @@ public FetchResult call() throws JGitInternalException,
transport.setCheckFetchedObjects(checkFetchedObjects);
transport.setRemoveDeletedRefs(removeDeletedRefs);
transport.setTimeout(timeout);
transport.setDryRun(dryRun);
transport.setFetchThin(thin);
try {
FetchResult result = transport.fetch(monitor, refSpecs);
@ -272,4 +278,44 @@ public FetchCommand setRefSpecs(List<RefSpec> specs) {
return this;
}
/**
* @return the dry run preference for the fetch operation
*/
public boolean isDryRun() {
return dryRun;
}
/**
* Sets whether the fetch operation should be a dry run
*
* @param dryRun
* @return {@code this}
*/
public FetchCommand setDryRun(boolean dryRun) {
checkCallable();
this.dryRun = dryRun;
return this;
}
/**
* @return the thin-pack preference for fetch operation
*/
public boolean isThin() {
return thin;
}
/**
* Sets the thin-pack preference for fetch operation.
*
* Default setting is Transport.DEFAULT_FETCH_THIN
*
* @param thin
* @return {@code this}
*/
public FetchCommand setThin(boolean thin) {
checkCallable();
this.thin = thin;
return this;
}
}