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 <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
e9313952bf
commit
46fc89ce74
1
config.c
1
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) {
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user