Make git-add -i accept ranges like 7-
git-add -i ranges expect number-number. But for the supremely lazy, typing in that second number when selecting "from patch 7 to the end" is wasted effort. So treat an empty second number in a range as "until the last item". Signed-off-by: Ciaran McCreesh <ciaran.mccreesh@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ciaran McCreesh committed
Jul 14, 2008 at 19:29 UTC
69c231f4732e1373f7872dde6dc50ffe62673865
2 files changed
+6
-5
Documentation/git-add.txt
+3
-2
@@ -187,8 +187,9 @@ update::
187
"Update>>". When the prompt ends with double '>>', you can
188
make more than one selection, concatenated with whitespace or
189
comma. Also you can say ranges. E.g. "2-5 7,9" to choose
190
- 2,3,4,5,7,9 from the list. You can say '*' to choose
191
- everything.
190
+ 2,3,4,5,7,9 from the list. If the second number in a range is
191
+ omitted, all remaining patches are taken. E.g. "7-" to choose
192
+ 7,8,9 from the list. You can say '*' to choose everything.
193
+
194
What you chose are then highlighted with '*',
195
like this:
git-add--interactive.perl
+3
-3
@@ -394,9 +394,9 @@ sub list_and_choose {
394
if ($choice =~ s/^-//) {
395
$choose = 0;
396
}
397
- # A range can be specified like 5-7
398
- if ($choice =~ /^(\d+)-(\d+)$/) {
399
- ($bottom, $top) = ($1, $2);
397
+ # A range can be specified like 5-7 or 5-.
398
+ if ($choice =~ /^(\d+)-(\d*)$/) {
399
+ ($bottom, $top) = ($1, length($2) ? $2 : 1 + @stuff);
400
}
401
elsif ($choice =~ /^\d+$/) {
402
$bottom = $top = $choice;