Hi Slavica On 20/12/2018 12:09, Slavica Djukic via GitGitGadget wrote: > From: Slavica Djukic <slawica92@xxxxxxxxxxx> > > Change help_cmd sub in git-add--interactive.perl to use > show-help command from builtin add--helper. > > Add test to t3701-add-interactive to verify that show-help > outputs expected content. Use GIT_PRETENT_TTY > introduced in earlier commit to be able to test output color > on Windows. > It's great to see you adding a test for this, if it isn't too much work perhaps you could add it before changing the implementation to demonstrate that there are no changes introduced by the conversion to C. Best Wishes Phillip > Signed-off-by: Slavica Djukic <slawica92@xxxxxxxxxxx> > --- > git-add--interactive.perl | 11 +---------- > t/t3701-add-interactive.sh | 25 +++++++++++++++++++++++++ > 2 files changed, 26 insertions(+), 10 deletions(-) > > diff --git a/git-add--interactive.perl b/git-add--interactive.perl > index a6536f9cf3..32ee729a58 100755 > --- a/git-add--interactive.perl > +++ b/git-add--interactive.perl > @@ -1717,16 +1717,7 @@ sub quit_cmd { > } > > sub help_cmd { > -# TRANSLATORS: please do not translate the command names > -# 'status', 'update', 'revert', etc. > - print colored $help_color, __ <<'EOF' ; > -status - show paths with changes > -update - add working tree state to the staged set of changes > -revert - revert staged set of changes back to the HEAD version > -patch - pick hunks and update selectively > -diff - view diff between HEAD and index > -add untracked - add contents of untracked files to the staged set of changes > -EOF > + system(qw(git add--helper --show-help)); > } > > sub process_args { > diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh > index 65dfbc033a..9c9d5bd935 100755 > --- a/t/t3701-add-interactive.sh > +++ b/t/t3701-add-interactive.sh > @@ -639,4 +639,29 @@ test_expect_success 'add -p patch editing works with pathological context lines' > test_cmp expected-2 actual > ' > > +test_expect_success 'show help from add--helper' ' > + git reset --hard && > + cat >expect <<-\EOF && > + > + <BOLD>*** Commands ***<RESET> > + 1: <BOLD;BLUE>s<RESET>tatus 2: <BOLD;BLUE>u<RESET>pdate 3: <BOLD;BLUE>r<RESET>evert 4: <BOLD;BLUE>a<RESET>dd untracked > + 5: <BOLD;BLUE>p<RESET>atch 6: <BOLD;BLUE>d<RESET>iff 7: <BOLD;BLUE>q<RESET>uit 8: <BOLD;BLUE>h<RESET>elp > + <BOLD;BLUE>What now<RESET>> > + <BOLD;RED>status - show paths with changes > + update - add working tree state to the staged set of changes > + revert - revert staged set of changes back to the HEAD version > + patch - pick hunks and update selectively > + diff - view diff between HEAD and index > + add untracked - add contents of untracked files to the staged set of changes<RESET> > + <BOLD>*** Commands ***<RESET> > + 1: <BOLD;BLUE>s<RESET>tatus 2: <BOLD;BLUE>u<RESET>pdate 3: <BOLD;BLUE>r<RESET>evert 4: <BOLD;BLUE>a<RESET>dd untracked > + 5: <BOLD;BLUE>p<RESET>atch 6: <BOLD;BLUE>d<RESET>iff 7: <BOLD;BLUE>q<RESET>uit 8: <BOLD;BLUE>h<RESET>elp > + <BOLD;BLUE>What now<RESET>> > + Bye. > + EOF > + test_write_lines h | GIT_TEST_PRETEND_TTY=1 git add -i >actual.colored && > + test_decode_color <actual.colored >actual && > + test_i18ncmp expect actual > +' > + > test_done >