Fix the ls-remote command when there is no local repo
Bug: 436695
Change-Id: I567f9a8e355c7624efa3efc9bac4f3b9015afa97
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/LsRemote.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/LsRemote.java
index 1842b72..93fcd66 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/LsRemote.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/LsRemote.java
@@ -80,6 +80,11 @@ protected void run() throws Exception {
}
}
+ @Override
+ protected boolean requiresRepository() {
+ return false;
+ }
+
private void show(final AnyObjectId id, final String name)
throws IOException {
outw.print(id.name());
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/Transport.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/Transport.java
index 837bd58..3ad1db2 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/Transport.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/Transport.java
@@ -311,10 +311,14 @@ public static Transport open(final Repository local, final String remote)
public static Transport open(final Repository local, final String remote,
final Operation op) throws NotSupportedException,
URISyntaxException, TransportException {
- final RemoteConfig cfg = new RemoteConfig(local.getConfig(), remote);
- if (doesNotExist(cfg))
- return open(local, new URIish(remote), null);
- return open(local, cfg, op);
+ if (local != null) {
+ final RemoteConfig cfg = new RemoteConfig(local.getConfig(), remote);
+ if (doesNotExist(cfg))
+ return open(local, new URIish(remote), null);
+ return open(local, cfg, op);
+ } else
+ return open(new URIish(remote));
+
}
/**