Merge branch 'ds/add-i-color-configuration-fix'

The reimplemented "git add -i" did not honor color.ui configuration.

* ds/add-i-color-configuration-fix:
  add: test use of brackets when color is disabled
  add: check color.ui for interactive add
This commit is contained in:
Junio C Hamano 2023-06-22 16:29:06 -07:00
commit 644591bd06
2 changed files with 39 additions and 1 deletions

View file

@ -365,7 +365,7 @@ static int add_config(const char *var, const char *value, void *cb)
return 0;
}
return git_default_config(var, value, cb);
return git_color_default_config(var, value, cb);
}
static const char embedded_advice[] = N_(

View file

@ -734,6 +734,44 @@ test_expect_success 'colors can be overridden' '
test_cmp expect actual
'
test_expect_success 'brackets appear without color' '
git reset --hard &&
test_when_finished "git rm -f bracket-test" &&
test_write_lines context old more-context >bracket-test &&
git add bracket-test &&
test_write_lines context new more-context another-one >bracket-test &&
test_write_lines quit >input &&
git add -i >actual <input &&
sed "s/^|//" >expect <<-\EOF &&
| staged unstaged path
| 1: +3/-0 +2/-1 bracket-test
|
|*** Commands ***
| 1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked
| 5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp
|What now> Bye.
EOF
test_cmp expect actual
'
test_expect_success 'colors can be skipped with color.ui=false' '
git reset --hard &&
test_when_finished "git rm -f color-test" &&
test_write_lines context old more-context >color-test &&
git add color-test &&
test_write_lines context new more-context another-one >color-test &&
test_write_lines help quit >input &&
force_color git \
-c color.ui=false \
add -i >actual.raw <input &&
test_decode_color <actual.raw >actual &&
test_cmp actual.raw actual
'
test_expect_success 'colorized diffs respect diff.wsErrorHighlight' '
git reset --hard &&