diff options
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java | 20 |
1 files changed, 12 insertions, 8 deletions
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<RevCommit> { 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<RevCommit> { } 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(); |