From: Johannes Schindelin Date: Mon, 09 Apr 2018 08:31:36 GMT Subject: [PATCH v3 04/15] config --replace-all: avoid extra line breaks Message-ID: <8264d7aa630a23167f8cffcb23462371f7511be8.1523262449.git.johannes.schindelin@gmx.de> In-Reply-To: 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 --- config.c | 1 + t/t1300-config.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/config.c b/config.c index 5cc049aaef0..f10f8c6f52f 100644 --- a/config.c +++ b/config.c @@ -2625,6 +2625,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 cc417687e8d..aed12be492f 100755 --- a/t/t1300-config.sh +++ b/t/t1300-config.sh @@ -1611,7 +1611,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 -- 2.17.0.windows.1.4.g7e4058d72e3