From: Yuxuan 'fishy' Wang Date: Wed, 27 Aug 2014 23:28:43 +0000 (-0700) Subject: Handles repo manifest file without default remote. X-Git-Tag: v3.5.0.201409071800-rc1~20 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fchanges%2F44%2F32444%2F1;p=jgit.git Handles repo manifest file without default remote. Change-Id: Ic45919a0b695e8a6f4ed47cc060e0c41f1d7e7ea Signed-off-by: Yuxuan 'fishy' Wang --- 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 6ff39a49e5..ca15496163 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java @@ -473,14 +473,8 @@ public class RepoCommand extends GitCommand { xmlInRead--; if (xmlInRead != 0) return; + // Only do the following after we finished reading everything. - if (defaultRemote == null) { - if (filename != null) - throw new SAXException(MessageFormat.format( - RepoText.get().errorNoDefaultFilename, filename)); - else - throw new SAXException(RepoText.get().errorNoDefault); - } removeNotInGroup(); removeOverlaps(); @@ -493,8 +487,18 @@ public class RepoCommand extends GitCommand { } for (Project proj : projects) { String remote = proj.remote; - if (remote == null) + if (remote == null) { + if (defaultRemote == null) { + if (filename != null) + throw new SAXException(MessageFormat.format( + RepoText.get().errorNoDefaultFilename, + filename)); + else + throw new SAXException( + RepoText.get().errorNoDefault); + } remote = defaultRemote; + } String remoteUrl = remoteUrls.get(remote); if (remoteUrl == null) { remoteUrl = baseUri.resolve(remotes.get(remote)).toString();