Re: [PATCH] Make git-add -i accept ranges like 7-
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 14, 2008, 18:15 UTC
- Message-ID
- <7vfxqcgwni.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <1216058784-32584-1-git-send-email-ciaran.mccreesh@googlemail.com>
Ciaran McCreesh <ciaran.mccreesh@googlemail.com> writes:
> 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".
You didn't describe why you changed the first regexp from \d+ to \d*, which would allow "-9" as a valid input as well.
But in that case $bottom will become an empty string. Don't you need to adjust the users of this data in the codepaths that follow this part? I didn't check.
Show 19 quoted lines
> diff --git a/git-add--interactive.perl b/git-add--interactive.perl
> index 801d7c0..72a8858 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;
> --
> 1.5.6.2