Skip to content

Commit

Permalink
In add --patch, Handle K,k,J,j slightly more gracefully.
Browse files Browse the repository at this point in the history
Instead of printing the help menu, this will print "No next hunk" and then
process the given hunk again.

Signed-off-by: William Pursell <bill.pursell@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
William Pursell authored and Junio C Hamano committed Feb 2, 2009
1 parent dd971cc commit ace30ba
Showing 1 changed file with 28 additions and 15 deletions.
43 changes: 28 additions & 15 deletions git-add--interactive.perl
Original file line number Diff line number Diff line change
Expand Up @@ -1039,29 +1039,42 @@ sub patch_update_file {
$ix = $iy;
next;
}
elsif ($other =~ /K/ && $line =~ /^K/) {
$ix--;
elsif ($line =~ /^K/) {
if ($other =~ /K/) {
$ix--;
}
else {
print STDERR "No previous hunk\n";
}
next;
}
elsif ($other =~ /J/ && $line =~ /^J/) {
$ix++;
elsif ($line =~ /^J/) {
if ($other =~ /J/) {
$ix++;
}
else {
print STDERR "No next hunk\n";
}
next;
}
elsif ($other =~ /k/ && $line =~ /^k/) {
while (1) {
$ix--;
last if (!$ix ||
!defined $hunk[$ix]{USE});
elsif ($line =~ /^k/) {
if ($other =~ /k/) {
while (1) {
$ix--;
last if (!$ix ||
!defined $hunk[$ix]{USE});
}
}
else {
print STDERR "No previous hunk\n";
}
next;
}
elsif ($other =~ /j/ && $line =~ /^j/) {
while (1) {
$ix++;
last if ($ix >= $num ||
!defined $hunk[$ix]{USE});
elsif ($line =~ /^j/) {
if ($other !~ /j/) {
print STDERR "No next hunk\n";
next;
}
next;
}
elsif ($other =~ /s/ && $line =~ /^s/) {
my @split = split_hunk($hunk[$ix]{TEXT}, $hunk[$ix]{DISPLAY});
Expand Down

0 comments on commit ace30ba

Please sign in to comment.