From 73d38bfb331708d18e3a919bfa051bbdd57b646b Mon Sep 17 00:00:00 2001 From: Yuxuan 'fishy' Wang Date: Mon, 9 Jun 2014 11:27:52 -0700 Subject: [PATCH] Strip trailing /s in repo base URI. Change-Id: I71040db2cca69638cfad89acdc9179ee80592b27 Signed-off-by: Yuxuan 'fishy' Wang --- .../tst/org/eclipse/jgit/pgm/RepoTest.java | 2 +- .../tst/org/eclipse/jgit/gitrepo/RepoCommandTest.java | 2 +- .../src/org/eclipse/jgit/gitrepo/RepoCommand.java | 8 +++++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/RepoTest.java b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/RepoTest.java index bcb3cb729..90efae286 100644 --- a/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/RepoTest.java +++ b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/RepoTest.java @@ -149,7 +149,7 @@ private void resolveRelativeUris() { !groupAUri.startsWith(prefix) || !groupBUri.startsWith(prefix)) { start++; - rootUri = defaultUri.substring(0, start); + rootUri = defaultUri.substring(0, start) + "manifest"; defaultUri = defaultUri.substring(start); notDefaultUri = notDefaultUri.substring(start); groupAUri = groupAUri.substring(start); diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/gitrepo/RepoCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/gitrepo/RepoCommandTest.java index 7d645cf93..15a7ef93c 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/gitrepo/RepoCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/gitrepo/RepoCommandTest.java @@ -526,7 +526,7 @@ private void resolveRelativeUris() { !groupAUri.startsWith(prefix) || !groupBUri.startsWith(prefix)) { start++; - rootUri = defaultUri.substring(0, start); + rootUri = defaultUri.substring(0, start) + "manifest"; defaultUri = defaultUri.substring(start); notDefaultUri = notDefaultUri.substring(start); groupAUri = groupAUri.substring(start); 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 ee814300a..c47ff0d74 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java @@ -289,7 +289,13 @@ private static class XmlManifest extends DefaultHandler { this.command = command; this.inputStream = inputStream; this.filename = filename; - this.baseUrl = baseUrl; + + // Strip trailing /s to match repo behavior. + int lastIndex = baseUrl.length() - 1; + while (lastIndex >= 0 && baseUrl.charAt(lastIndex) == '/') + lastIndex--; + this.baseUrl = baseUrl.substring(0, lastIndex + 1); + remotes = new HashMap(); projects = new ArrayList(); plusGroups = new HashSet();