We already have a test demonstrating that removing the last entry from a config section fails to remove the section header of the now-empty section. The same can happen, of course, if we remove the last entries in one fell swoop. This is *also* a bug, and should be fixed at the same time. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- t/t1300-config.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/t/t1300-config.sh b/t/t1300-config.sh index bc30cfb3468..9d23a8ca972 100755 --- a/t/t1300-config.sh +++ b/t/t1300-config.sh @@ -1495,6 +1495,17 @@ test_expect_failure '--unset last key removes section (except if commented)' ' test_line_count = 3 .git/config ' +test_expect_failure '--unset-all removes section if empty & uncommented' ' + cat >.git/config <<-\EOF && + [section] + key = value1 + key = value2 + EOF + + git config --unset-all section.key && + test_line_count = 0 .git/config +' + test_expect_failure 'adding a key into an empty section reuses header' ' cat >.git/config <<-\EOF && [section] -- 2.17.0.windows.1.4.g7e4058d72e3