[cli] Use chaining credentials provider to enable .netrc

If available use credentials in .netrc otherwise prompt the user
if jgit command line needs credentials for remote operations.

Change-Id: Iea1f595618edfb87a37137db08bac8ca2d500ebc
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
Matthias Sohn 2014-09-24 00:06:48 +02:00
parent 3f0d9795ea
commit 00802b6317
1 changed files with 5 additions and 1 deletions

View File

@ -48,8 +48,10 @@
import java.io.Console;
import org.eclipse.jgit.errors.UnsupportedCredentialItem;
import org.eclipse.jgit.transport.ChainingCredentialsProvider;
import org.eclipse.jgit.transport.CredentialItem;
import org.eclipse.jgit.transport.CredentialsProvider;
import org.eclipse.jgit.transport.NetRCCredentialsProvider;
import org.eclipse.jgit.transport.URIish;
/** Interacts with the user during authentication by using the text console. */
@ -60,7 +62,9 @@ public static void install() {
if (c.cons == null)
throw new NoClassDefFoundError(
ConsoleText.get().noSystemConsoleAvailable);
CredentialsProvider.setDefault(c);
CredentialsProvider cp = new ChainingCredentialsProvider(
new NetRCCredentialsProvider(), c);
CredentialsProvider.setDefault(cp);
}
private final Console cons = System.console();