mirror of
https://github.com/git/git.git
synced 2024-11-24 10:26:17 +08:00
Merge branch 'jk/add-p-commentchar-fix'
"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
This commit is contained in:
commit
54e6ce5960
@ -1081,7 +1081,7 @@ EOF2
|
|||||||
|
|
||||||
open $fh, '<', $hunkfile
|
open $fh, '<', $hunkfile
|
||||||
or die sprintf(__("failed to open hunk edit file for reading: %s"), $!);
|
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;
|
close $fh;
|
||||||
unlink $hunkfile;
|
unlink $hunkfile;
|
||||||
|
|
||||||
@ -1136,6 +1136,7 @@ sub prompt_yesno {
|
|||||||
while (1) {
|
while (1) {
|
||||||
print colored $prompt_color, $prompt;
|
print colored $prompt_color, $prompt;
|
||||||
my $line = prompt_single_character;
|
my $line = prompt_single_character;
|
||||||
|
return undef unless defined $line;
|
||||||
return 0 if $line =~ /^n/i;
|
return 0 if $line =~ /^n/i;
|
||||||
return 1 if $line =~ /^y/i;
|
return 1 if $line =~ /^y/i;
|
||||||
}
|
}
|
||||||
|
@ -477,4 +477,12 @@ test_expect_success 'add -p does not expand argument lists' '
|
|||||||
! grep not-changed trace.out
|
! 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
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user