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

Re: [PATCH 1/3] gitweb: Move check-ref-format code into separate function

From
Jakub Narębski <jnareb@gmail.com>
Date
Dec 3, 2013, 19:38 UTC
Message-ID
<CANQwDwd0_bgKfjsRFjohmzBAnN7vDm-pYYsfe0Q71Za2K7Hw4w@mail.gmail.com>
In-Reply-To
<xmqqd2ldoj0s.fsf@gitster.dls.corp.google.com>
On Tue, Dec 3, 2013 at 8:02 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Krzesimir Nowak <krzesimir@endocode.com> writes:
Show 9 quoted lines
>> +sub check_ref_format {
>> +     my $input = shift || return undef;
>> +
>> +     # restrictions on ref name according to git-check-ref-format
>> +     if ($input =~ m!(/\.|\.\.|[\000-\040\177 ~^:?*\[]|/$)!) {
>> +             return undef;
>> +     }
>> +     return $input;
>> +}
[...]
Show 21 quoted lines
>> @@ -1462,10 +1472,9 @@ sub validate_refname {
>>       # it must be correct pathname
>>       $input = validate_pathname($input)
>>               or return undef;
>> -     # restrictions on ref name according to git-check-ref-format
>> -     if ($input =~ m!(/\.|\.\.|[\000-\040\177 ~^:?*\[]|/$)!) {
>> -             return undef;
>> -     }
>
> So far, so good.
>
>> +     # check git-check-ref-format restrictions
>> +     $input = check_ref_format($input)
>> +             or return undef;
>>       return $input;
>
> Hmmm.  Why do you need "<LF><INDENT>or return under" here?  It would
> not hurt too much per-se (strictly speaking, if the $input were a
> string "0", this will return undef instead of "0", which should be
> an OK name as far as the regexp is concerned), but it seems to be
> making the logic unnecessarily complex for no real gain.

I think this simply follows "$input = validate_sth($input) or return undef;" pattern used in this area of gitweb code (perhaps mis-used).

Stricly speaking pure refactoring (no functional change, e.g. no assign to $input) would be "check_ref_format($input) or return undef;", or even "return check_ref_format($input);" if we keep check_ref_format() passthru on valid refname.

-- 
Jakub Narebski
Previous: Junio C HamanoNext: Junio C Hamano
Message 4 of 14 in “Show extra branch refs in gitweb”
  1. 0/3 Show extra branch refs in gitwebKrzesimir Nowak, Dec 3, 2013
  2. 1/3 gitweb: Move check-ref-format code into separate functionKrzesimir Nowak, Dec 3, 2013
  3. Junio C HamanoDec 3, 2013
  4. Jakub NarębskiDec 3, 2013
  5. Junio C HamanoDec 3, 2013
  6. Krzesimir NowakDec 4, 2013
  7. 2/3 gitweb: Add a feature for adding more branch refsKrzesimir Nowak, Dec 3, 2013
  8. Junio C HamanoDec 3, 2013
  9. Junio C HamanoDec 3, 2013
  10. Jakub NarębskiDec 3, 2013
  11. Krzesimir NowakDec 4, 2013
  12. Junio C HamanoDec 4, 2013
  13. 3/3 gitweb: Denote non-heads, non-remotes branches.Krzesimir Nowak, Dec 3, 2013
  14. Krzesimir NowakDec 4, 2013

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.