git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Ciaran McCreeshNext: Ciaran McCreesh
Message 2 of 3 in “Make git-add -i accept ranges like 7-”
  1. Make git-add -i accept ranges like 7-Ciaran McCreesh, Jul 14, 2008
  2. Junio C HamanoJul 14, 2008
  3. Make git-add -i accept ranges like 7-Ciaran McCreesh, Jul 14, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.