Changed git_config_rename_section to git_config_copy_or_rename_section which will now accept another argument flag "copy" which will determine if the function will copy the config section or just rename it. Again, this includes changes at a lot of unrelated other places wherever the renamed and updated functions were being used. Default value of copy=0 is passed at all those places in order to make sure the behavior of the functions doesn't change for those cases. Signed-off-by: Sahil Dua <sahildua2305@xxxxxxxxx> --- builtin/branch.c | 4 ++-- builtin/config.c | 4 ++-- builtin/remote.c | 4 ++-- cache.h | 4 ++-- config.c | 6 +++--- submodule.c | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/builtin/branch.c b/builtin/branch.c index 16d01a100cbb9..f3cd180e8d4cb 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -176,7 +176,7 @@ static void delete_branch_config(const char *branchname) { struct strbuf buf = STRBUF_INIT; strbuf_addf(&buf, "branch.%s", branchname); - if (git_config_copy_or_rename_section(buf.buf, NULL) < 0) + if (git_config_copy_or_rename_section(buf.buf, NULL, 0) < 0) warning(_("Update of config-file failed")); strbuf_release(&buf); } @@ -502,7 +502,7 @@ static void copy_or_rename_branch(const char *oldname, const char *newname, int strbuf_release(&oldref); strbuf_addf(&newsection, "branch.%s", newref.buf + 11); strbuf_release(&newref); - if (git_config_copy_or_rename_section(oldsection.buf, newsection.buf) < 0) + if (git_config_copy_or_rename_section(oldsection.buf, newsection.buf, copy) < 0) die(_("Branch is %s, but update of config-file failed"), (copy ? "copied" : "renamed")); strbuf_release(&oldsection); diff --git a/builtin/config.c b/builtin/config.c index c72972d731bd1..4f0b3d1595709 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -694,7 +694,7 @@ int cmd_config(int argc, const char **argv, const char *prefix) check_write(); check_argc(argc, 2, 2); ret = git_config_copy_or_rename_section_in_file(given_config_source.file, - argv[0], argv[1]); + argv[0], argv[1], 0); if (ret < 0) return ret; if (ret == 0) @@ -705,7 +705,7 @@ int cmd_config(int argc, const char **argv, const char *prefix) check_write(); check_argc(argc, 1, 1); ret = git_config_copy_or_rename_section_in_file(given_config_source.file, - argv[0], NULL); + argv[0], NULL, 0); if (ret < 0) return ret; if (ret == 0) diff --git a/builtin/remote.c b/builtin/remote.c index ade748044b5ab..2abcdfa441599 100644 --- a/builtin/remote.c +++ b/builtin/remote.c @@ -635,7 +635,7 @@ static int mv(int argc, const char **argv) strbuf_reset(&buf); strbuf_addf(&buf, "remote.%s", rename.old); strbuf_addf(&buf2, "remote.%s", rename.new); - if (git_config_copy_or_rename_section(buf.buf, buf2.buf) < 1) + if (git_config_copy_or_rename_section(buf.buf, buf2.buf, 0) < 1) return error(_("Could not rename config section '%s' to '%s'"), buf.buf, buf2.buf); @@ -804,7 +804,7 @@ static int rm(int argc, const char **argv) if (!result) { strbuf_addf(&buf, "remote.%s", remote->name); - if (git_config_copy_or_rename_section(buf.buf, NULL) < 1) + if (git_config_copy_or_rename_section(buf.buf, NULL, 0) < 1) return error(_("Could not remove config section '%s'"), buf.buf); } diff --git a/cache.h b/cache.h index b2b043d3505ba..54a7f272bac87 100644 --- a/cache.h +++ b/cache.h @@ -1933,8 +1933,8 @@ extern int git_config_set_multivar_gently(const char *, const char *, const char 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(const char *, const char *, const char *, const char *, int); -extern int git_config_copy_or_rename_section(const char *, const char *); -extern int git_config_copy_or_rename_section_in_file(const char *, const char *, const char *); +extern int git_config_copy_or_rename_section(const char *, const char *, int); +extern int git_config_copy_or_rename_section_in_file(const char *, const char *, const char *, int); extern const char *git_etc_gitconfig(void); extern int git_env_bool(const char *, int); extern unsigned long git_env_ulong(const char *, unsigned long); diff --git a/config.c b/config.c index d3d48bfae3b96..155274f03b2b6 100644 --- a/config.c +++ b/config.c @@ -2640,7 +2640,7 @@ static int section_name_is_ok(const char *name) /* if new_name == NULL, the section is removed instead */ int git_config_copy_or_rename_section_in_file(const char *config_filename, - const char *old_name, const char *new_name) + const char *old_name, const char *new_name, int copy) { int ret = 0, remove = 0; char *filename_buf = NULL; @@ -2743,9 +2743,9 @@ int git_config_copy_or_rename_section_in_file(const char *config_filename, return ret; } -int git_config_copy_or_rename_section(const char *old_name, const char *new_name) +int git_config_copy_or_rename_section(const char *old_name, const char *new_name, int copy) { - return git_config_copy_or_rename_section_in_file(NULL, old_name, new_name); + return git_config_copy_or_rename_section_in_file(NULL, old_name, new_name, copy); } /* diff --git a/submodule.c b/submodule.c index d93f366be31c6..347ff4ca668aa 100644 --- a/submodule.c +++ b/submodule.c @@ -107,7 +107,7 @@ int remove_path_from_gitmodules(const char *path) } strbuf_addstr(§, "submodule."); strbuf_addstr(§, submodule->name); - if (git_config_copy_or_rename_section_in_file(".gitmodules", sect.buf, NULL) < 0) { + if (git_config_copy_or_rename_section_in_file(".gitmodules", sect.buf, NULL, 0) < 0) { /* Maybe the user already did that, don't error out here */ warning(_("Could not remove .gitmodules entry for %s"), path); strbuf_release(§); -- https://github.com/git/git/pull/363