summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2016-02-22 12:23:31 +0100
committerJunio C Hamano <gitster@pobox.com>2016-02-22 10:23:53 -0800
commit2ee35c428e0685b4fc3bc2e828326b6fcefb78c0 (patch)
tree813dd95f9803286d8337ba1ad25e9feed60b6bde
parentc397debf3d046713ffd040f2c7da5e6921121ce8 (diff)
downloadgit-2ee35c428e0685b4fc3bc2e828326b6fcefb78c0.tar.gz
clone: die on config error in cmd_clone
The clone command does not check for error codes returned by `git_config_set` functions. This may cause the user to end up with an inconsistent repository without any indication with what went wrong. Fix this problem by dying with an error message when we are unable to write the configuration files to disk. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/clone.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/builtin/clone.c b/builtin/clone.c
index a0b3cd9e56..2dabce9816 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -783,12 +783,12 @@ static void write_refspec_config(const char *src_ref_prefix,
/* Configure the remote */
if (value.len) {
strbuf_addf(&key, "remote.%s.fetch", option_origin);
- git_config_set_multivar(key.buf, value.buf, "^$", 0);
+ git_config_set_multivar_or_die(key.buf, value.buf, "^$", 0);
strbuf_reset(&key);
if (option_mirror) {
strbuf_addf(&key, "remote.%s.mirror", option_origin);
- git_config_set(key.buf, "true");
+ git_config_set_or_die(key.buf, "true");
strbuf_reset(&key);
}
}
@@ -946,14 +946,14 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
src_ref_prefix = "refs/";
strbuf_addstr(&branch_top, src_ref_prefix);
- git_config_set("core.bare", "true");
+ git_config_set_or_die("core.bare", "true");
} else {
strbuf_addf(&branch_top, "refs/remotes/%s/", option_origin);
}
strbuf_addf(&value, "+%s*:%s*", src_ref_prefix, branch_top.buf);
strbuf_addf(&key, "remote.%s.url", option_origin);
- git_config_set(key.buf, repo);
+ git_config_set_or_die(key.buf, repo);
strbuf_reset(&key);
if (option_reference.nr)