Tweak the handling of remote url in jgit repo.

This kind of reverted 31148. URI.resolve actually can handle the absolute URL
well, the problem is only the missing "/".

Change-Id: Iee5866c005cbc1430dc20ee7db321b8b51afed30
Signed-off-by: Yuxuan 'fishy' Wang <fishywang@google.com>
This commit is contained in:
Yuxuan 'fishy' Wang 2014-08-13 10:36:56 -07:00
parent 63eb9042a4
commit 38a24bc799
1 changed files with 6 additions and 11 deletions

View File

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