diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java index d8e4c1f9e..57514a203 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java @@ -418,24 +418,19 @@ public void endDocument() throws SAXException { else throw new SAXException(RepoText.get().errorNoDefault); } - final String remoteUrl; + String remoteUrl; try { - URI uri = new URI(remotes.get(defaultRemote)); - if (uri.getHost() != null) { - // This is not relative path, no need for baseUrl. - remoteUrl = uri.toString(); - } else { - uri = new URI(baseUrl); - remoteUrl = uri.resolve( - remotes.get(defaultRemote)).toString(); - } + URI uri = new URI(baseUrl); + remoteUrl = uri.resolve(remotes.get(defaultRemote)).toString(); + if (!remoteUrl.endsWith("/")) + remoteUrl = remoteUrl + "/"; } catch (URISyntaxException e) { throw new SAXException(e); } removeNotInGroup(); removeOverlaps(); for (Project proj : projects) { - command.addSubmodule(remoteUrl + "/" + proj.name, + command.addSubmodule(remoteUrl + proj.name, proj.path, proj.revision == null ? defaultRevision : proj.revision,