Patrick Steinhardt <ps@xxxxxx> writes: > 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. When this happens, the junk_mode is still JUNK_LEAVE_NONE, so upon hitting such an error, we'd remove everything and die. And we haven't wasted the effort for large object transfer yet. Which all sounds sensible. > Signed-off-by: Patrick Steinhardt <ps@xxxxxx> > --- > builtin/clone.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/builtin/clone.c b/builtin/clone.c > index 81e238f..f2a2f9a 100644 > --- a/builtin/clone.c > +++ b/builtin/clone.c > @@ -786,12 +786,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); > } > } > @@ -949,14 +949,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) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html