summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2016-02-22 11:23:27 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-02-22 18:23:52 (GMT)
commit15b92fc05239a3c4f9af6177c1bfae1bcf2d5dce (patch)
treeb30903b0f0be2c658824921a4c7addba0d9e9430
parent1a90dfe8a7e3fae31aa0b13b799bd3345e91e985 (diff)
downloadgit-15b92fc05239a3c4f9af6177c1bfae1bcf2d5dce.zip
git-15b92fc05239a3c4f9af6177c1bfae1bcf2d5dce.tar.gz
git-15b92fc05239a3c4f9af6177c1bfae1bcf2d5dce.tar.bz2
submodule--helper: die on config error when cloning module
When setting the 'core.worktree' option for a newly cloned submodule we ignore the return value of `git_config_set_in_file`. As this leaves the submodule in an inconsistent state, we instead want to inform the user that something has gone wrong by printing an error and aborting the program. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/submodule--helper.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index f4c3eff..c7e1ea2 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -245,8 +245,8 @@ static int module_clone(int argc, const char **argv, const char *prefix)
p = git_pathdup_submodule(path, "config");
if (!p)
die(_("could not get submodule directory for '%s'"), path);
- git_config_set_in_file(p, "core.worktree",
- relative_path(sb.buf, sm_gitdir, &rel_path));
+ git_config_set_in_file_or_die(p, "core.worktree",
+ relative_path(sb.buf, sm_gitdir, &rel_path));
strbuf_release(&sb);
strbuf_release(&rel_path);
free(sm_gitdir);