Browse Source

Merge "Update Fetch to use FetchCommand API"

tags/v0.10.1
Chris Aniszczyk 13 years ago
parent
commit
b0bfa8044a

+ 2
- 3
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/AbstractFetchCommand.java View File

@@ -57,14 +57,13 @@ import org.eclipse.jgit.lib.ObjectReader;
import org.eclipse.jgit.lib.RefUpdate;
import org.eclipse.jgit.transport.FetchResult;
import org.eclipse.jgit.transport.TrackingRefUpdate;
import org.eclipse.jgit.transport.Transport;
import org.kohsuke.args4j.Option;

abstract class AbstractFetchCommand extends TextBuiltin {
@Option(name = "--verbose", aliases = { "-v" }, usage = "usage_beMoreVerbose")
private boolean verbose;

protected void showFetchResult(final Transport tn, final FetchResult r) {
protected void showFetchResult(final FetchResult r) {
ObjectReader reader = db.newObjectReader();
try {
boolean shownURI = false;
@@ -78,7 +77,7 @@ abstract class AbstractFetchCommand extends TextBuiltin {
final String dst = abbreviateRef(u.getLocalName(), true);

if (!shownURI) {
out.format(CLIText.get().fromURI, tn.getURI());
out.format(CLIText.get().fromURI, r.getURI());
out.println();
shownURI = true;
}

+ 1
- 1
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java View File

@@ -146,7 +146,7 @@ class Clone extends AbstractFetchCommand {
} finally {
tn.close();
}
showFetchResult(tn, r);
showFetchResult(r);
return r;
}


+ 20
- 22
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Fetch.java View File

@@ -47,13 +47,14 @@ package org.eclipse.jgit.pgm;

import java.util.List;

import org.kohsuke.args4j.Argument;
import org.kohsuke.args4j.Option;
import org.eclipse.jgit.api.FetchCommand;
import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.TextProgressMonitor;
import org.eclipse.jgit.transport.FetchResult;
import org.eclipse.jgit.transport.RefSpec;
import org.eclipse.jgit.transport.Transport;
import org.kohsuke.args4j.Argument;
import org.kohsuke.args4j.Option;

@Command(common = true, usage = "usage_updateRemoteRefsFromAnotherRepository")
class Fetch extends AbstractFetchCommand {
@@ -90,24 +91,21 @@ class Fetch extends AbstractFetchCommand {

@Override
protected void run() throws Exception {
final Transport tn = Transport.open(db, remote);
if (fsck != null)
tn.setCheckFetchedObjects(fsck.booleanValue());
if (prune != null)
tn.setRemoveDeletedRefs(prune.booleanValue());
tn.setDryRun(dryRun);
if (thin != null)
tn.setFetchThin(thin.booleanValue());
if (0 <= timeout)
tn.setTimeout(timeout);
final FetchResult r;
try {
r = tn.fetch(new TextProgressMonitor(), toget);
if (r.getTrackingRefUpdates().isEmpty())
return;
} finally {
tn.close();
}
showFetchResult(tn, r);
Git git = new Git(db);
FetchCommand fetch = git.fetch();
fetch.setCheckFetchedObjects(fsck.booleanValue());
fetch.setRemoveDeletedRefs(prune.booleanValue());
fetch.setRefSpecs(toget);
fetch.setTimeout(timeout);
fetch.setDryRun(dryRun);
fetch.setRemote(remote);
fetch.setThin(thin.booleanValue());
fetch.setProgressMonitor(new TextProgressMonitor());

FetchResult result = fetch.call();
if (result.getTrackingRefUpdates().isEmpty())
return;

showFetchResult(result);
}
}

Loading…
Cancel
Save