Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2018-09-24 11:32:15 +0300
committerJunio C Hamano <gitster@pobox.com>2018-09-27 19:34:55 +0300
commit98afac7a7cefdca0d2c4917dd8066a59f7088265 (patch)
tree4598b9c1112ef0e8f24b0dcf43ceeb6ebcc168e1
parent4dde7b8799dec0e7aecb04fdc55c656e674cff6f (diff)
submodule--helper: use "--" to signal end of clone options
When we clone a submodule, we call "git clone $url $path". But there's nothing to say that those components can't begin with a dash themselves, confusing git-clone into thinking they're options. Let's pass "--" to make it clear what we expect. There's no test here, because it's actually quite hard to make these names work, even with "git clone" parsing them correctly. And we're going to restrict these cases even further in future commits. So we'll leave off testing until then; this is just the minimal fix to prevent us from doing something stupid with a badly formed entry. Reported-by: joernchen <joernchen@phenoelit.de> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/submodule--helper.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index e8ccddd3b1..676cfed770 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -510,6 +510,7 @@ static int clone_submodule(const char *path, const char *gitdir, const char *url
if (gitdir && *gitdir)
argv_array_pushl(&cp.args, "--separate-git-dir", gitdir, NULL);
+ argv_array_push(&cp.args, "--");
argv_array_push(&cp.args, url);
argv_array_push(&cp.args, path);