Re: [PATCH 02/18] Change style of some regular expressions to make them clearer
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Jun 7, 2013, 04:39 UTC
- Message-ID
- <CAPig+cRyHc0SiWrHKQ3w4jCW5a-2p=k0TsjeRBe_kyw+DfnrqA@mail.gmail.com>
- In-Reply-To
- <7vbo7iwt3h.fsf@alter.siamese.dyndns.org>
On Thu, Jun 6, 2013 at 10:30 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 15 quoted lines
> Eric Sunshine <sunshine@sunshineco.com> writes:
>
>>> - if (my ($child, $parents) = $line =~ m/^-?([a-f0-9]+) ([a-f0-9 ]+)/) {
>>> - foreach my $parent (split(' ', $parents)) {
>>> + if (my ($child, $parents) = $line =~ /^-?([a-f0-9]+) ([a-f0-9 ]+)/) {
>>> + foreach my $parent (split(/ /, $parents)) {
>>
>> This is a behavior-altering change. split(' ',...) is handled as a
>> special case[*1*] which strips leading whitespace and then splits on
>> /\s+/ (run of whitespace). Changing it to split(/ /,...) makes it
>> match only a single space (rather than a run of whitespace).
>
> I initially had the same reaction, but this is reading the output of
> the "rev-list --parents" command, whose fields are separated by one
> SP each, so there is indeed no behaviour change.True. This potentially subtle point may deserve mention in the commit message (or this particular change can be dropped).