From 46fc89ce74b46e88764c796b3ab20d5ab90a5e96 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 3 Apr 2018 18:28:14 +0200 Subject: [PATCH] config --replace-all: avoid extra line breaks When replacing multiple config entries at once, we did not re-set the flag that indicates whether we need to insert a new-line before the new entry. As a consequence, an extra new-line was inserted under certain circumstances. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- config.c | 1 + t/t1300-config.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/config.c b/config.c index 4c8571ab33..c55d6a564e 100644 --- a/config.c +++ b/config.c @@ -2617,6 +2617,7 @@ int git_config_set_multivar_in_file_gently(const char *config_filename, store.seen = 1; for (i = 0, copy_begin = 0; i < store.seen; i++) { + new_line = 0; if (store.offset[i] == 0) { store.offset[i] = copy_end = contents_sz; } else if (store.state != KEY_SEEN) { diff --git a/t/t1300-config.sh b/t/t1300-config.sh index cef816325b..8f37ffadb1 100755 --- a/t/t1300-config.sh +++ b/t/t1300-config.sh @@ -1588,7 +1588,7 @@ test_expect_success '--local requires a repo' ' test_expect_code 128 nongit git config --local foo.bar ' -test_expect_failure '--replace-all does not invent newlines' ' +test_expect_success '--replace-all does not invent newlines' ' q_to_tab >.git/config <<-\EOF && [abc]key QkeepSection