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 <sahildua2...@gmail.com>
---
 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(&sect, "submodule.");
        strbuf_addstr(&sect, 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(&sect);

--
https://github.com/git/git/pull/363

Reply via email to