[PATCH] rename_ref(): only print a warning when config-file update fails
From: Lars Hjemli <hidden>
Date: 2016-06-15 22:43:03
If git_config_rename_section() fails, rename_ref() used to return 1, which left HEAD pointing to an absent refs/heads file (since the actual renaming had already occurred). Signed-off-by: Lars Hjemli <redacted> --- On 4/5/07, Johannes Schindelin [off-list ref] wrote:
Hi, On Thu, 5 Apr 2007, Geert Bosch wrote:quoted
Make git_config_rename_section return success if no config file exists.I don't think this is correct. git_config_rename_section() _should_ return an error.quoted
Otherwise, renaming a branch would abort, leaving the repository in an inconsistent state.This should take the hint from --rename-section, and print a warning (or not).
I think both arguments makes sense. There really is no reason to abort the rename operation if the config file update fails (for any reason). refs.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/refs.c b/refs.c
index f471152..2ac6384 100644
--- a/refs.c
+++ b/refs.c@@ -835,7 +835,7 @@ int rename_ref(const char *oldref, const char *newref, const char *logmsg) snprintf(oldsection, 1024, "branch.%s", oldref + 11); snprintf(newsection, 1024, "branch.%s", newref + 11); if (git_config_rename_section(oldsection, newsection) < 0) - return 1; + error("unable to update config-file"); } return 0;
--
1.5.1.53.g77e6f