mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
git add -p: new "quit" command at the prompt.
There's already 'd' to stop staging hunks in a file, but no explicit command to stop the interactive staging (for the current files and the remaining ones). Of course you can do 'd' and then ^C, but it would be more intuitive to allow 'quit' action. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c965c02933
commit
9a7a1e03d5
|
@ -245,6 +245,7 @@ patch::
|
|||
|
||||
y - stage this hunk
|
||||
n - do not stage this hunk
|
||||
q - quite, do not stage this hunk nor any of the remaining ones
|
||||
a - stage this and all the remaining hunks in the file
|
||||
d - do not stage this hunk nor any of the remaining hunks in the file
|
||||
j - leave this hunk undecided, see next undecided hunk
|
||||
|
|
|
@ -894,6 +894,7 @@ sub help_patch_cmd {
|
|||
print colored $help_color, <<\EOF ;
|
||||
y - stage this hunk
|
||||
n - do not stage this hunk
|
||||
q - quit, do not stage this hunk nor any of the remaining ones
|
||||
a - stage this and all the remaining hunks in the file
|
||||
d - do not stage this hunk nor any of the remaining hunks in the file
|
||||
g - select a hunk to go to
|
||||
|
@ -930,7 +931,7 @@ sub patch_update_cmd {
|
|||
@mods);
|
||||
}
|
||||
for (@them) {
|
||||
patch_update_file($_->{VALUE});
|
||||
return 0 if patch_update_file($_->{VALUE});
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -976,6 +977,7 @@ sub display_hunks {
|
|||
}
|
||||
|
||||
sub patch_update_file {
|
||||
my $quit = 0;
|
||||
my ($ix, $num);
|
||||
my $path = shift;
|
||||
my ($head, @hunk) = parse_diff($path);
|
||||
|
@ -1006,6 +1008,11 @@ sub patch_update_file {
|
|||
$_->{USE} = 0 foreach ($mode, @hunk);
|
||||
last;
|
||||
}
|
||||
elsif ($line =~ /^q/i) {
|
||||
$_->{USE} = 0 foreach ($mode, @hunk);
|
||||
$quit = 1;
|
||||
last;
|
||||
}
|
||||
else {
|
||||
help_patch_cmd('');
|
||||
next;
|
||||
|
@ -1113,6 +1120,16 @@ sub patch_update_file {
|
|||
}
|
||||
next;
|
||||
}
|
||||
elsif ($line =~ /^q/i) {
|
||||
while ($ix < $num) {
|
||||
if (!defined $hunk[$ix]{USE}) {
|
||||
$hunk[$ix]{USE} = 0;
|
||||
}
|
||||
$ix++;
|
||||
}
|
||||
$quit = 1;
|
||||
next;
|
||||
}
|
||||
elsif ($line =~ m|^/(.*)|) {
|
||||
my $regex = $1;
|
||||
if ($1 eq "") {
|
||||
|
@ -1239,6 +1256,7 @@ sub patch_update_file {
|
|||
}
|
||||
|
||||
print "\n";
|
||||
return $quit;
|
||||
}
|
||||
|
||||
sub diff_cmd {
|
||||
|
|
Loading…
Reference in a new issue