Browse Source

Merge branch 'jk/add-p-commentchar-fix' into maint

"git add -p" were updated in 2.12 timeframe to cope with custom
core.commentchar but the implementation was buggy and a
metacharacter like $ and * did not work.

* jk/add-p-commentchar-fix:
  add--interactive: quote commentChar regex
  add--interactive: handle EOF in prompt_yesno
maint
Junio C Hamano 8 years ago
parent
commit
f904494574
  1. 3
      git-add--interactive.perl
  2. 8
      t/t3701-add-interactive.sh

3
git-add--interactive.perl

@ -1085,7 +1085,7 @@ EOF2 @@ -1085,7 +1085,7 @@ EOF2

open $fh, '<', $hunkfile
or die sprintf(__("failed to open hunk edit file for reading: %s"), $!);
my @newtext = grep { !/^$comment_line_char/ } <$fh>;
my @newtext = grep { !/^\Q$comment_line_char\E/ } <$fh>;
close $fh;
unlink $hunkfile;

@ -1140,6 +1140,7 @@ sub prompt_yesno { @@ -1140,6 +1140,7 @@ sub prompt_yesno {
while (1) {
print colored $prompt_color, $prompt;
my $line = prompt_single_character;
return undef unless defined $line;
return 0 if $line =~ /^n/i;
return 1 if $line =~ /^y/i;
}

8
t/t3701-add-interactive.sh

@ -477,4 +477,12 @@ test_expect_success 'add -p does not expand argument lists' ' @@ -477,4 +477,12 @@ test_expect_success 'add -p does not expand argument lists' '
! grep not-changed trace.out
'

test_expect_success 'hunk-editing handles custom comment char' '
git reset --hard &&
echo change >>file &&
test_config core.commentChar "\$" &&
echo e | GIT_EDITOR=true git add -p &&
git diff --exit-code
'

test_done

Loading…
Cancel
Save