aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCiaran McCreesh <ciaran.mccreesh@googlemail.com>2008-07-14 19:29:37 +0100
committerJunio C Hamano <gitster@pobox.com>2008-07-15 07:37:00 -0700
commit1e5aaa6db38964fd6ca679864c0a40f7af01cf1a (patch)
tree0e3b98144ffc6d7df2dac75b0f094e2bf4ab7943
parenta271b2a9ceb2f65095cf789d2d7c7e44ca5d95f4 (diff)
downloadgit-1e5aaa6db38964fd6ca679864c0a40f7af01cf1a.tar.gz
git-1e5aaa6db38964fd6ca679864c0a40f7af01cf1a.tar.xz
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>
-rw-r--r--Documentation/git-add.txt5
-rwxr-xr-xgit-add--interactive.perl6
2 files changed, 6 insertions, 5 deletions
diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt
index 46dd56c12..3558905a9 100644
--- a/Documentation/git-add.txt
+++ b/Documentation/git-add.txt
@@ -187,8 +187,9 @@ update::
"Update>>". When the prompt ends with double '>>', you can
make more than one selection, concatenated with whitespace or
comma. Also you can say ranges. E.g. "2-5 7,9" to choose
- 2,3,4,5,7,9 from the list. You can say '*' to choose
- everything.
+ 2,3,4,5,7,9 from the list. If the second number in a range is
+ omitted, all remaining patches are taken. E.g. "7-" to choose
+ 7,8,9 from the list. You can say '*' to choose everything.
+
What you chose are then highlighted with '*',
like this:
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 801d7c025..a6a5c52b5 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -406,9 +406,9 @@ sub list_and_choose {
if ($choice =~ s/^-//) {
$choose = 0;
}
- # A range can be specified like 5-7
- if ($choice =~ /^(\d+)-(\d+)$/) {
- ($bottom, $top) = ($1, $2);
+ # A range can be specified like 5-7 or 5-.
+ if ($choice =~ /^(\d+)-(\d*)$/) {
+ ($bottom, $top) = ($1, length($2) ? $2 : 1 + @stuff);
}
elsif ($choice =~ /^\d+$/) {
$bottom = $top = $choice;