From 1a90dfe8a7e3fae31aa0b13b799bd3345e91e985 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Mon, 22 Feb 2016 12:23:26 +0100 Subject: submodule: die on config error when linking modules When trying to connect a submodule with its corresponding repository in '.git/modules' we try to set the core.worktree setting in the submodule, which may fail due to an error encountered in `git_config_set_in_file`. The function is used in the git-mv command when trying to move a submodule to another location. We already die when renaming a file fails but do not pay attention to the case where updating the connection between submodule and its repository fails. As this leaves the repository in an inconsistent state, as well, abort the program by dying early and presenting the failure to the user. Signed-off-by: Patrick Steinhardt Signed-off-by: Junio C Hamano --- submodule.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'submodule.c') diff --git a/submodule.c b/submodule.c index 14e76247bf..278b08795f 100644 --- a/submodule.c +++ b/submodule.c @@ -1034,11 +1034,9 @@ void connect_work_tree_and_git_dir(const char *work_tree, const char *git_dir) /* Update core.worktree setting */ strbuf_reset(&file_name); strbuf_addf(&file_name, "%s/config", git_dir); - if (git_config_set_in_file(file_name.buf, "core.worktree", - relative_path(real_work_tree, git_dir, - &rel_path))) - die(_("Could not set core.worktree in %s"), - file_name.buf); + git_config_set_in_file_or_die(file_name.buf, "core.worktree", + relative_path(real_work_tree, git_dir, + &rel_path)); strbuf_release(&file_name); strbuf_release(&rel_path); -- cgit v1.3 From 30598ad06f2adfef1f74d6348677358865cbf373 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Mon, 22 Feb 2016 12:23:35 +0100 Subject: config: rename git_config_set to git_config_set_gently The desired default behavior for `git_config_set` is to die whenever an error occurs. Dying is the default for a lot of internal functions when failures occur and is in this case the right thing to do for most callers as otherwise we might run into inconsistent repositories without noticing. As some code may rely on the actual return values for `git_config_set` we still require the ability to invoke these functions without aborting. Rename the existing `git_config_set` functions to `git_config_set_gently` to keep them available for those callers. Signed-off-by: Patrick Steinhardt Signed-off-by: Junio C Hamano --- branch.c | 6 +++--- builtin/clone.c | 2 +- builtin/config.c | 28 ++++++++++++++-------------- builtin/remote.c | 2 +- cache.h | 10 +++++----- config.c | 29 +++++++++++++++-------------- submodule.c | 2 +- 7 files changed, 40 insertions(+), 39 deletions(-) (limited to 'submodule.c') diff --git a/branch.c b/branch.c index 713ceda36a..c50ea42172 100644 --- a/branch.c +++ b/branch.c @@ -70,18 +70,18 @@ int install_branch_config(int flag, const char *local, const char *origin, const } strbuf_addf(&key, "branch.%s.remote", local); - if (git_config_set(key.buf, origin ? origin : ".") < 0) + if (git_config_set_gently(key.buf, origin ? origin : ".") < 0) goto out_err; strbuf_reset(&key); strbuf_addf(&key, "branch.%s.merge", local); - if (git_config_set(key.buf, remote) < 0) + if (git_config_set_gently(key.buf, remote) < 0) goto out_err; if (rebasing) { strbuf_reset(&key); strbuf_addf(&key, "branch.%s.rebase", local); - if (git_config_set(key.buf, "true") < 0) + if (git_config_set_gently(key.buf, "true") < 0) goto out_err; } strbuf_release(&key); diff --git a/builtin/clone.c b/builtin/clone.c index 2dabce9816..a46d3d0f81 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -732,7 +732,7 @@ static int checkout(void) static int write_one_config(const char *key, const char *value, void *data) { - return git_config_set_multivar(key, value ? value : "true", "^$", 0); + return git_config_set_multivar_gently(key, value ? value : "true", "^$", 0); } static void write_config(struct string_list *config) diff --git a/builtin/config.c b/builtin/config.c index adc772786a..c26d6e7fdd 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -582,7 +582,7 @@ int cmd_config(int argc, const char **argv, const char *prefix) check_write(); check_argc(argc, 2, 2); value = normalize_value(argv[0], argv[1]); - ret = git_config_set_in_file(given_config_source.file, argv[0], value); + ret = git_config_set_in_file_gently(given_config_source.file, argv[0], value); if (ret == CONFIG_NOTHING_SET) error("cannot overwrite multiple values with a single value\n" " Use a regexp, --add or --replace-all to change %s.", argv[0]); @@ -592,23 +592,23 @@ int cmd_config(int argc, const char **argv, const char *prefix) check_write(); check_argc(argc, 2, 3); value = normalize_value(argv[0], argv[1]); - return git_config_set_multivar_in_file(given_config_source.file, - argv[0], value, argv[2], 0); + return git_config_set_multivar_in_file_gently(given_config_source.file, + argv[0], value, argv[2], 0); } else if (actions == ACTION_ADD) { check_write(); check_argc(argc, 2, 2); value = normalize_value(argv[0], argv[1]); - return git_config_set_multivar_in_file(given_config_source.file, - argv[0], value, - CONFIG_REGEX_NONE, 0); + return git_config_set_multivar_in_file_gently(given_config_source.file, + argv[0], value, + CONFIG_REGEX_NONE, 0); } else if (actions == ACTION_REPLACE_ALL) { check_write(); check_argc(argc, 2, 3); value = normalize_value(argv[0], argv[1]); - return git_config_set_multivar_in_file(given_config_source.file, - argv[0], value, argv[2], 1); + return git_config_set_multivar_in_file_gently(given_config_source.file, + argv[0], value, argv[2], 1); } else if (actions == ACTION_GET) { check_argc(argc, 1, 2); @@ -634,17 +634,17 @@ int cmd_config(int argc, const char **argv, const char *prefix) check_write(); check_argc(argc, 1, 2); if (argc == 2) - return git_config_set_multivar_in_file(given_config_source.file, - argv[0], NULL, argv[1], 0); + return git_config_set_multivar_in_file_gently(given_config_source.file, + argv[0], NULL, argv[1], 0); else - return git_config_set_in_file(given_config_source.file, - argv[0], NULL); + return git_config_set_in_file_gently(given_config_source.file, + argv[0], NULL); } else if (actions == ACTION_UNSET_ALL) { check_write(); check_argc(argc, 1, 2); - return git_config_set_multivar_in_file(given_config_source.file, - argv[0], NULL, argv[1], 1); + return git_config_set_multivar_in_file_gently(given_config_source.file, + argv[0], NULL, argv[1], 1); } else if (actions == ACTION_RENAME_SECTION) { int ret; diff --git a/builtin/remote.c b/builtin/remote.c index dee6551e35..6cacbca027 100644 --- a/builtin/remote.c +++ b/builtin/remote.c @@ -1393,7 +1393,7 @@ static int update(int argc, const char **argv) static int remove_all_fetch_refspecs(const char *remote, const char *key) { - return git_config_set_multivar(key, NULL, NULL, 1); + return git_config_set_multivar_gently(key, NULL, NULL, 1); } static void add_branches(struct remote *remote, const char **branches, diff --git a/cache.h b/cache.h index 59948b60a1..08046ba25f 100644 --- a/cache.h +++ b/cache.h @@ -1484,7 +1484,7 @@ extern int update_server_info(int); /* git_config_parse_key() returns these negated: */ #define CONFIG_INVALID_KEY 1 #define CONFIG_NO_SECTION_OR_NAME 2 -/* git_config_set(), git_config_set_multivar() return the above or these: */ +/* git_config_set_gently(), git_config_set_multivar_gently() return the above or these: */ #define CONFIG_NO_LOCK -1 #define CONFIG_INVALID_FILE 3 #define CONFIG_NO_WRITE 4 @@ -1522,15 +1522,15 @@ extern int git_config_bool(const char *, const char *); extern int git_config_maybe_bool(const char *, const char *); extern int git_config_string(const char **, const char *, const char *); extern int git_config_pathname(const char **, const char *, const char *); -extern int git_config_set_in_file(const char *, const char *, const char *); +extern int git_config_set_in_file_gently(const char *, const char *, const char *); extern void git_config_set_in_file_or_die(const char *, const char *, const char *); -extern int git_config_set(const char *, const char *); +extern int git_config_set_gently(const char *, const char *); extern void git_config_set_or_die(const char *, const char *); extern int git_config_parse_key(const char *, char **, int *); extern int git_config_key_is_valid(const char *key); -extern int git_config_set_multivar(const char *, const char *, const char *, int); +extern int git_config_set_multivar_gently(const char *, const char *, const char *, int); extern void git_config_set_multivar_or_die(const char *, const char *, const char *, int); -extern int git_config_set_multivar_in_file(const char *, const char *, const char *, const char *, int); +extern int git_config_set_multivar_in_file_gently(const char *, const char *, const char *, const char *, int); extern void git_config_set_multivar_in_file_or_die(const char *, const char *, const char *, const char *, int); extern int git_config_rename_section(const char *, const char *); extern int git_config_rename_section_in_file(const char *, const char *, const char *); diff --git a/config.c b/config.c index 856f7d34c7..e7f42da18b 100644 --- a/config.c +++ b/config.c @@ -1825,10 +1825,10 @@ contline: return offset; } -int git_config_set_in_file(const char *config_filename, - const char *key, const char *value) +int git_config_set_in_file_gently(const char *config_filename, + const char *key, const char *value) { - return git_config_set_multivar_in_file(config_filename, key, value, NULL, 0); + return git_config_set_multivar_in_file_gently(config_filename, key, value, NULL, 0); } void git_config_set_in_file_or_die(const char *config_filename, @@ -1837,9 +1837,9 @@ void git_config_set_in_file_or_die(const char *config_filename, git_config_set_multivar_in_file_or_die(config_filename, key, value, NULL, 0); } -int git_config_set(const char *key, const char *value) +int git_config_set_gently(const char *key, const char *value) { - return git_config_set_multivar(key, value, NULL, 0); + return git_config_set_multivar_gently(key, value, NULL, 0); } void git_config_set_or_die(const char *key, const char *value) @@ -1961,9 +1961,10 @@ int git_config_key_is_valid(const char *key) * - the config file is removed and the lock file rename()d to it. * */ -int git_config_set_multivar_in_file(const char *config_filename, - const char *key, const char *value, - const char *value_regex, int multi_replace) +int git_config_set_multivar_in_file_gently(const char *config_filename, + const char *key, const char *value, + const char *value_regex, + int multi_replace) { int fd = -1, in_fd = -1; int ret; @@ -2194,16 +2195,16 @@ void git_config_set_multivar_in_file_or_die(const char *config_filename, const char *key, const char *value, const char *value_regex, int multi_replace) { - if (git_config_set_multivar_in_file(config_filename, key, value, - value_regex, multi_replace) < 0) + if (git_config_set_multivar_in_file_gently(config_filename, key, value, + value_regex, multi_replace) < 0) die(_("Could not set '%s' to '%s'"), key, value); } -int git_config_set_multivar(const char *key, const char *value, - const char *value_regex, int multi_replace) +int git_config_set_multivar_gently(const char *key, const char *value, + const char *value_regex, int multi_replace) { - return git_config_set_multivar_in_file(NULL, key, value, value_regex, - multi_replace); + return git_config_set_multivar_in_file_gently(NULL, key, value, value_regex, + multi_replace); } void git_config_set_multivar_or_die(const char *key, const char *value, diff --git a/submodule.c b/submodule.c index 278b08795f..e76311d7ea 100644 --- a/submodule.c +++ b/submodule.c @@ -68,7 +68,7 @@ int update_path_in_gitmodules(const char *oldpath, const char *newpath) strbuf_addstr(&entry, "submodule."); strbuf_addstr(&entry, submodule->name); strbuf_addstr(&entry, ".path"); - if (git_config_set_in_file(".gitmodules", entry.buf, newpath) < 0) { + if (git_config_set_in_file_gently(".gitmodules", entry.buf, newpath) < 0) { /* Maybe the user already did that, don't error out here */ warning(_("Could not update .gitmodules entry %s"), entry.buf); strbuf_release(&entry); -- cgit v1.3 From 3d1806487af395fb33d1de92633e96571b296305 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Mon, 22 Feb 2016 12:23:36 +0100 Subject: config: rename git_config_set_or_die to git_config_set Rename git_config_set_or_die functions to git_config_set, leading to the new default behavior of dying whenever a configuration error occurs. By now all callers that shall die on error have been transitioned to the _or_die variants, thus making this patch a simple rename of the functions. Signed-off-by: Patrick Steinhardt Signed-off-by: Junio C Hamano --- builtin/branch.c | 6 +++--- builtin/clone.c | 8 ++++---- builtin/init-db.c | 20 ++++++++++---------- builtin/remote.c | 32 ++++++++++++++++---------------- builtin/submodule--helper.c | 4 ++-- cache.h | 8 ++++---- compat/precompose_utf8.c | 4 ++-- config.c | 24 ++++++++++++------------ sequencer.c | 22 +++++++++++----------- submodule.c | 6 +++--- 10 files changed, 67 insertions(+), 67 deletions(-) (limited to 'submodule.c') diff --git a/builtin/branch.c b/builtin/branch.c index c043cfc729..7b45b6bd6b 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -594,7 +594,7 @@ static int edit_branch_description(const char *branch_name) strbuf_stripspace(&buf, 1); strbuf_addf(&name, "branch.%s.description", branch_name); - git_config_set_or_die(name.buf, buf.len ? buf.buf : NULL); + git_config_set(name.buf, buf.len ? buf.buf : NULL); strbuf_release(&name); strbuf_release(&buf); @@ -790,10 +790,10 @@ int cmd_branch(int argc, const char **argv, const char *prefix) die(_("Branch '%s' has no upstream information"), branch->name); strbuf_addf(&buf, "branch.%s.remote", branch->name); - git_config_set_multivar_or_die(buf.buf, NULL, NULL, 1); + git_config_set_multivar(buf.buf, NULL, NULL, 1); strbuf_reset(&buf); strbuf_addf(&buf, "branch.%s.merge", branch->name); - git_config_set_multivar_or_die(buf.buf, NULL, NULL, 1); + git_config_set_multivar(buf.buf, NULL, NULL, 1); strbuf_release(&buf); } else if (argc > 0 && argc <= 2) { struct branch *branch = branch_get(argv[0]); diff --git a/builtin/clone.c b/builtin/clone.c index a46d3d0f81..8a90cad5b5 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_or_die(key.buf, value.buf, "^$", 0); + git_config_set_multivar(key.buf, value.buf, "^$", 0); strbuf_reset(&key); if (option_mirror) { strbuf_addf(&key, "remote.%s.mirror", option_origin); - git_config_set_or_die(key.buf, "true"); + git_config_set(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_or_die("core.bare", "true"); + git_config_set("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_or_die(key.buf, repo); + git_config_set(key.buf, repo); strbuf_reset(&key); if (option_reference.nr) diff --git a/builtin/init-db.c b/builtin/init-db.c index ef19048233..6223b7d46a 100644 --- a/builtin/init-db.c +++ b/builtin/init-db.c @@ -227,7 +227,7 @@ static int create_default_files(const char *template_path) /* This forces creation of new config file */ xsnprintf(repo_version_string, sizeof(repo_version_string), "%d", GIT_REPO_VERSION); - git_config_set_or_die("core.repositoryformatversion", repo_version_string); + git_config_set("core.repositoryformatversion", repo_version_string); /* Check filemode trustability */ path = git_path_buf(&buf, "config"); @@ -241,18 +241,18 @@ static int create_default_files(const char *template_path) if (filemode && !reinit && (st1.st_mode & S_IXUSR)) filemode = 0; } - git_config_set_or_die("core.filemode", filemode ? "true" : "false"); + git_config_set("core.filemode", filemode ? "true" : "false"); if (is_bare_repository()) - git_config_set_or_die("core.bare", "true"); + git_config_set("core.bare", "true"); else { const char *work_tree = get_git_work_tree(); - git_config_set_or_die("core.bare", "false"); + git_config_set("core.bare", "false"); /* allow template config file to override the default */ if (log_all_ref_updates == -1) - git_config_set_or_die("core.logallrefupdates", "true"); + git_config_set("core.logallrefupdates", "true"); if (needs_work_tree_config(get_git_dir(), work_tree)) - git_config_set_or_die("core.worktree", work_tree); + git_config_set("core.worktree", work_tree); } if (!reinit) { @@ -265,12 +265,12 @@ static int create_default_files(const char *template_path) S_ISLNK(st1.st_mode)) unlink(path); /* good */ else - git_config_set_or_die("core.symlinks", "false"); + git_config_set("core.symlinks", "false"); /* Check if the filesystem is case-insensitive */ path = git_path_buf(&buf, "CoNfIg"); if (!access(path, F_OK)) - git_config_set_or_die("core.ignorecase", "true"); + git_config_set("core.ignorecase", "true"); probe_utf8_pathname_composition(); } @@ -386,8 +386,8 @@ int init_db(const char *template_dir, unsigned int flags) xsnprintf(buf, sizeof(buf), "%d", OLD_PERM_EVERYBODY); else die("BUG: invalid value for shared_repository"); - git_config_set_or_die("core.sharedrepository", buf); - git_config_set_or_die("receive.denyNonFastforwards", "true"); + git_config_set("core.sharedrepository", buf); + git_config_set("receive.denyNonFastforwards", "true"); } if (!(flags & INIT_DB_QUIET)) { diff --git a/builtin/remote.c b/builtin/remote.c index 6cacbca027..43136951b5 100644 --- a/builtin/remote.c +++ b/builtin/remote.c @@ -119,7 +119,7 @@ static void add_branch(const char *key, const char *branchname, else strbuf_addf(tmp, "refs/heads/%s:refs/remotes/%s/%s", branchname, remotename, branchname); - git_config_set_multivar_or_die(key, tmp->buf, "^$", 0); + git_config_set_multivar(key, tmp->buf, "^$", 0); } static const char mirror_advice[] = @@ -197,7 +197,7 @@ static int add(int argc, const char **argv) die(_("'%s' is not a valid remote name"), name); strbuf_addf(&buf, "remote.%s.url", name); - git_config_set_or_die(buf.buf, url); + git_config_set(buf.buf, url); if (!mirror || mirror & MIRROR_FETCH) { strbuf_reset(&buf); @@ -213,14 +213,14 @@ static int add(int argc, const char **argv) if (mirror & MIRROR_PUSH) { strbuf_reset(&buf); strbuf_addf(&buf, "remote.%s.mirror", name); - git_config_set_or_die(buf.buf, "true"); + git_config_set(buf.buf, "true"); } if (fetch_tags != TAGS_DEFAULT) { strbuf_reset(&buf); strbuf_addf(&buf, "remote.%s.tagopt", name); - git_config_set_or_die(buf.buf, - fetch_tags == TAGS_SET ? "--tags" : "--no-tags"); + git_config_set(buf.buf, + fetch_tags == TAGS_SET ? "--tags" : "--no-tags"); } if (fetch && fetch_remote(name)) @@ -586,15 +586,15 @@ static int migrate_file(struct remote *remote) strbuf_addf(&buf, "remote.%s.url", remote->name); for (i = 0; i < remote->url_nr; i++) - git_config_set_multivar_or_die(buf.buf, remote->url[i], "^$", 0); + git_config_set_multivar(buf.buf, remote->url[i], "^$", 0); strbuf_reset(&buf); strbuf_addf(&buf, "remote.%s.push", remote->name); for (i = 0; i < remote->push_refspec_nr; i++) - git_config_set_multivar_or_die(buf.buf, remote->push_refspec[i], "^$", 0); + git_config_set_multivar(buf.buf, remote->push_refspec[i], "^$", 0); strbuf_reset(&buf); strbuf_addf(&buf, "remote.%s.fetch", remote->name); for (i = 0; i < remote->fetch_refspec_nr; i++) - git_config_set_multivar_or_die(buf.buf, remote->fetch_refspec[i], "^$", 0); + git_config_set_multivar(buf.buf, remote->fetch_refspec[i], "^$", 0); if (remote->origin == REMOTE_REMOTES) unlink_or_warn(git_path("remotes/%s", remote->name)); else if (remote->origin == REMOTE_BRANCHES) @@ -646,7 +646,7 @@ static int mv(int argc, const char **argv) strbuf_reset(&buf); strbuf_addf(&buf, "remote.%s.fetch", rename.new); - git_config_set_multivar_or_die(buf.buf, NULL, NULL, 1); + git_config_set_multivar(buf.buf, NULL, NULL, 1); strbuf_addf(&old_remote_context, ":refs/remotes/%s/", rename.old); for (i = 0; i < oldremote->fetch_refspec_nr; i++) { char *ptr; @@ -666,7 +666,7 @@ static int mv(int argc, const char **argv) "\tPlease update the configuration manually if necessary."), buf2.buf); - git_config_set_multivar_or_die(buf.buf, buf2.buf, "^$", 0); + git_config_set_multivar(buf.buf, buf2.buf, "^$", 0); } read_branches(); @@ -676,7 +676,7 @@ static int mv(int argc, const char **argv) if (info->remote_name && !strcmp(info->remote_name, rename.old)) { strbuf_reset(&buf); strbuf_addf(&buf, "branch.%s.remote", item->string); - git_config_set_or_die(buf.buf, rename.new); + git_config_set(buf.buf, rename.new); } } @@ -774,7 +774,7 @@ static int rm(int argc, const char **argv) strbuf_reset(&buf); strbuf_addf(&buf, "branch.%s.%s", item->string, *k); - git_config_set_or_die(buf.buf, NULL); + git_config_set(buf.buf, NULL); } } } @@ -1556,10 +1556,10 @@ static int set_url(int argc, const char **argv) /* Special cases that add new entry. */ if ((!oldurl && !delete_mode) || add_mode) { if (add_mode) - git_config_set_multivar_or_die(name_buf.buf, newurl, + git_config_set_multivar(name_buf.buf, newurl, "^$", 0); else - git_config_set_or_die(name_buf.buf, newurl); + git_config_set(name_buf.buf, newurl); strbuf_release(&name_buf); return 0; @@ -1582,9 +1582,9 @@ static int set_url(int argc, const char **argv) regfree(&old_regex); if (!delete_mode) - git_config_set_multivar_or_die(name_buf.buf, newurl, oldurl, 0); + git_config_set_multivar(name_buf.buf, newurl, oldurl, 0); else - git_config_set_multivar_or_die(name_buf.buf, NULL, oldurl, 1); + git_config_set_multivar(name_buf.buf, NULL, oldurl, 1); return 0; } diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index c7e1ea2799..f4c3eff179 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_or_die(p, "core.worktree", - relative_path(sb.buf, sm_gitdir, &rel_path)); + git_config_set_in_file(p, "core.worktree", + relative_path(sb.buf, sm_gitdir, &rel_path)); strbuf_release(&sb); strbuf_release(&rel_path); free(sm_gitdir); diff --git a/cache.h b/cache.h index 08046ba25f..dd39270f93 100644 --- a/cache.h +++ b/cache.h @@ -1523,15 +1523,15 @@ extern int git_config_maybe_bool(const char *, const char *); extern int git_config_string(const char **, const char *, const char *); extern int git_config_pathname(const char **, const char *, const char *); extern int git_config_set_in_file_gently(const char *, const char *, const char *); -extern void git_config_set_in_file_or_die(const char *, const char *, const char *); +extern void git_config_set_in_file(const char *, const char *, const char *); extern int git_config_set_gently(const char *, const char *); -extern void git_config_set_or_die(const char *, const char *); +extern void git_config_set(const char *, const char *); extern int git_config_parse_key(const char *, char **, int *); extern int git_config_key_is_valid(const char *key); extern int git_config_set_multivar_gently(const char *, const char *, const char *, int); -extern void git_config_set_multivar_or_die(const char *, const char *, const char *, int); +extern void git_config_set_multivar(const char *, const char *, const char *, int); extern int git_config_set_multivar_in_file_gently(const char *, const char *, const char *, const char *, int); -extern void git_config_set_multivar_in_file_or_die(const char *, const char *, const char *, const char *, int); +extern void git_config_set_multivar_in_file(const char *, const char *, const char *, const char *, int); extern int git_config_rename_section(const char *, const char *); extern int git_config_rename_section_in_file(const char *, const char *, const char *); extern const char *git_etc_gitconfig(void); diff --git a/compat/precompose_utf8.c b/compat/precompose_utf8.c index 9ff1ebe02b..dfbe6d8408 100644 --- a/compat/precompose_utf8.c +++ b/compat/precompose_utf8.c @@ -50,8 +50,8 @@ void probe_utf8_pathname_composition(void) close(output_fd); git_path_buf(&path, "%s", auml_nfd); precomposed_unicode = access(path.buf, R_OK) ? 0 : 1; - git_config_set_or_die("core.precomposeunicode", - precomposed_unicode ? "true" : "false"); + git_config_set("core.precomposeunicode", + precomposed_unicode ? "true" : "false"); git_path_buf(&path, "%s", auml_nfc); if (unlink(path.buf)) die_errno(_("failed to unlink '%s'"), path.buf); diff --git a/config.c b/config.c index e7f42da18b..325c3eaf9d 100644 --- a/config.c +++ b/config.c @@ -1831,10 +1831,10 @@ int git_config_set_in_file_gently(const char *config_filename, return git_config_set_multivar_in_file_gently(config_filename, key, value, NULL, 0); } -void git_config_set_in_file_or_die(const char *config_filename, - const char *key, const char *value) +void git_config_set_in_file(const char *config_filename, + const char *key, const char *value) { - git_config_set_multivar_in_file_or_die(config_filename, key, value, NULL, 0); + git_config_set_multivar_in_file(config_filename, key, value, NULL, 0); } int git_config_set_gently(const char *key, const char *value) @@ -1842,9 +1842,9 @@ int git_config_set_gently(const char *key, const char *value) return git_config_set_multivar_gently(key, value, NULL, 0); } -void git_config_set_or_die(const char *key, const char *value) +void git_config_set(const char *key, const char *value) { - git_config_set_multivar_or_die(key, value, NULL, 0); + git_config_set_multivar(key, value, NULL, 0); } /* @@ -2191,9 +2191,9 @@ write_err_out: } -void git_config_set_multivar_in_file_or_die(const char *config_filename, - const char *key, const char *value, - const char *value_regex, int multi_replace) +void git_config_set_multivar_in_file(const char *config_filename, + const char *key, const char *value, + const char *value_regex, int multi_replace) { if (git_config_set_multivar_in_file_gently(config_filename, key, value, value_regex, multi_replace) < 0) @@ -2207,11 +2207,11 @@ int git_config_set_multivar_gently(const char *key, const char *value, multi_replace); } -void git_config_set_multivar_or_die(const char *key, const char *value, - const char *value_regex, int multi_replace) +void git_config_set_multivar(const char *key, const char *value, + const char *value_regex, int multi_replace) { - git_config_set_multivar_in_file_or_die(NULL, key, value, value_regex, - multi_replace); + git_config_set_multivar_in_file(NULL, key, value, value_regex, + multi_replace); } static int section_name_match (const char *buf, const char *name) diff --git a/sequencer.c b/sequencer.c index 3c109b6863..8c58fa2f4d 100644 --- a/sequencer.c +++ b/sequencer.c @@ -933,31 +933,31 @@ static void save_opts(struct replay_opts *opts) const char *opts_file = git_path_opts_file(); if (opts->no_commit) - git_config_set_in_file_or_die(opts_file, "options.no-commit", "true"); + git_config_set_in_file(opts_file, "options.no-commit", "true"); if (opts->edit) - git_config_set_in_file_or_die(opts_file, "options.edit", "true"); + git_config_set_in_file(opts_file, "options.edit", "true"); if (opts->signoff) - git_config_set_in_file_or_die(opts_file, "options.signoff", "true"); + git_config_set_in_file(opts_file, "options.signoff", "true"); if (opts->record_origin) - git_config_set_in_file_or_die(opts_file, "options.record-origin", "true"); + git_config_set_in_file(opts_file, "options.record-origin", "true"); if (opts->allow_ff) - git_config_set_in_file_or_die(opts_file, "options.allow-ff", "true"); + git_config_set_in_file(opts_file, "options.allow-ff", "true"); if (opts->mainline) { struct strbuf buf = STRBUF_INIT; strbuf_addf(&buf, "%d", opts->mainline); - git_config_set_in_file_or_die(opts_file, "options.mainline", buf.buf); + git_config_set_in_file(opts_file, "options.mainline", buf.buf); strbuf_release(&buf); } if (opts->strategy) - git_config_set_in_file_or_die(opts_file, "options.strategy", opts->strategy); + git_config_set_in_file(opts_file, "options.strategy", opts->strategy); if (opts->gpg_sign) - git_config_set_in_file_or_die(opts_file, "options.gpg-sign", opts->gpg_sign); + git_config_set_in_file(opts_file, "options.gpg-sign", opts->gpg_sign); if (opts->xopts) { int i; for (i = 0; i < opts->xopts_nr; i++) - git_config_set_multivar_in_file_or_die(opts_file, - "options.strategy-option", - opts->xopts[i], "^$", 0); + git_config_set_multivar_in_file(opts_file, + "options.strategy-option", + opts->xopts[i], "^$", 0); } } diff --git a/submodule.c b/submodule.c index e76311d7ea..b58d4ee945 100644 --- a/submodule.c +++ b/submodule.c @@ -1034,9 +1034,9 @@ void connect_work_tree_and_git_dir(const char *work_tree, const char *git_dir) /* Update core.worktree setting */ strbuf_reset(&file_name); strbuf_addf(&file_name, "%s/config", git_dir); - git_config_set_in_file_or_die(file_name.buf, "core.worktree", - relative_path(real_work_tree, git_dir, - &rel_path)); + git_config_set_in_file(file_name.buf, "core.worktree", + relative_path(real_work_tree, git_dir, + &rel_path)); strbuf_release(&file_name); strbuf_release(&rel_path); -- cgit v1.3