diff options
author | Jonathan Nieder <jrn@google.com> | 2018-10-08 21:49:24 +0000 |
---|---|---|
committer | Jonathan Nieder <jrn@google.com> | 2018-10-08 21:49:24 +0000 |
commit | 8ef8b71db99371e50d629b42a04973d9e18f4854 (patch) | |
tree | 5f977c123bd1135fee77bba65f09583d6dc44717 | |
parent | acd35d538413a208f963ebfe4088f6edf46ab749 (diff) | |
parent | 830e0d6b8ce4bd1ab33142b63f2edf780438c5bc (diff) | |
download | jgit-8ef8b71db99371e50d629b42a04973d9e18f4854.tar.gz jgit-8ef8b71db99371e50d629b42a04973d9e18f4854.zip |
Merge branch 'stable-4.8' into stable-4.9
* stable-4.8:
SubmoduleValidator: Permit missing path or url
Change-Id: I989ac2c0c124c82385fc7cac7e0544ec225f7589
Signed-off-by: Jonathan Nieder <jrn@google.com>
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/internal/submodule/SubmoduleValidator.java | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/submodule/SubmoduleValidator.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/submodule/SubmoduleValidator.java index d4bba2d0d1..5f405044c9 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/submodule/SubmoduleValidator.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/submodule/SubmoduleValidator.java @@ -42,6 +42,10 @@ */ package org.eclipse.jgit.internal.submodule; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_PATH; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_URL; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_SUBMODULE_SECTION; + import java.io.IOException; import java.text.MessageFormat; @@ -134,7 +138,6 @@ public class SubmoduleValidator { */ public static void assertValidSubmodulePath(String path) throws SubmoduleValidationException { - if (path.startsWith("-")) { //$NON-NLS-1$ throw new SubmoduleValidationException( MessageFormat.format( @@ -154,19 +157,21 @@ public class SubmoduleValidator { Config c = new Config(); try { c.fromText(gitModulesContents); - for (String subsection : c.getSubsections( - ConfigConstants.CONFIG_SUBMODULE_SECTION)) { - String url = c.getString( - ConfigConstants.CONFIG_SUBMODULE_SECTION, - subsection, ConfigConstants.CONFIG_KEY_URL); - assertValidSubmoduleUri(url); - + for (String subsection : + c.getSubsections(CONFIG_SUBMODULE_SECTION)) { assertValidSubmoduleName(subsection); + String url = c.getString( + CONFIG_SUBMODULE_SECTION, subsection, CONFIG_KEY_URL); + if (url != null) { + assertValidSubmoduleUri(url); + } + String path = c.getString( - ConfigConstants.CONFIG_SUBMODULE_SECTION, subsection, - ConfigConstants.CONFIG_KEY_PATH); - assertValidSubmodulePath(path); + CONFIG_SUBMODULE_SECTION, subsection, CONFIG_KEY_PATH); + if (path != null) { + assertValidSubmodulePath(path); + } } } catch (ConfigInvalidException e) { throw new IOException( |