From 920ac08777d4048c06c8d7a3671d37c5ead5917f Mon Sep 17 00:00:00 2001 From: Mathias Kinzler Date: Tue, 25 Jan 2011 15:03:19 +0100 Subject: [PATCH] Allow to set a CredentialsProvider on relevant API commands This is needed for commands that use Transport internally. Change-Id: I9417c85255b160723968c647063b9c7e05995ea4 Signed-off-by: Mathias Kinzler Signed-off-by: Chris Aniszczyk --- .../src/org/eclipse/jgit/api/FetchCommand.java | 11 +++++++++++ .../src/org/eclipse/jgit/api/PushCommand.java | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java index f81d20f31..e75e20fee 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java @@ -56,6 +56,7 @@ import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.NullProgressMonitor; import org.eclipse.jgit.lib.ProgressMonitor; import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.transport.CredentialsProvider; import org.eclipse.jgit.transport.FetchResult; import org.eclipse.jgit.transport.RefSpec; import org.eclipse.jgit.transport.Transport; @@ -86,6 +87,8 @@ public class FetchCommand extends GitCommand { private int timeout; + private CredentialsProvider credentialsProvider; + /** * @param repo @@ -121,6 +124,7 @@ public class FetchCommand extends GitCommand { transport.setTimeout(timeout); transport.setDryRun(dryRun); transport.setFetchThin(thin); + transport.setCredentialsProvider(credentialsProvider); try { FetchResult result = transport.fetch(monitor, refSpecs); @@ -318,4 +322,11 @@ public class FetchCommand extends GitCommand { return this; } + /** + * @param credentialsProvider + * the {@link CredentialsProvider} to use + */ + public void setCredentialsProvider(CredentialsProvider credentialsProvider) { + this.credentialsProvider = credentialsProvider; + } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java index fc03a5898..6981f77b1 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java @@ -59,6 +59,7 @@ import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.NullProgressMonitor; import org.eclipse.jgit.lib.ProgressMonitor; import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.transport.CredentialsProvider; import org.eclipse.jgit.transport.PushResult; import org.eclipse.jgit.transport.RefSpec; import org.eclipse.jgit.transport.RemoteConfig; @@ -91,6 +92,8 @@ public class PushCommand extends GitCommand> { private int timeout; + private CredentialsProvider credentialsProvider; + /** * @param repo */ @@ -136,6 +139,7 @@ public class PushCommand extends GitCommand> { if (receivePack != null) transport.setOptionReceivePack(receivePack); transport.setDryRun(dryRun); + transport.setCredentialsProvider(credentialsProvider); final Collection toPush = transport .findRemoteRefUpdatesFor(refSpecs); @@ -346,4 +350,11 @@ public class PushCommand extends GitCommand> { return this; } + /** + * @param credentialsProvider + * the {@link CredentialsProvider} to use + */ + public void setCredentialsProvider(CredentialsProvider credentialsProvider) { + this.credentialsProvider = credentialsProvider; + } }