Subject: Re: [PATCH] gitweb: Better regexp for SHA-1 committag match

From: Jakub Narebski <[email-masked]>
Date: Sat, 7 Feb 2009 11:07:32 +0100

On Sat, 7 Feb 2009, demerphq wrote:
> 2009/2/6 Jakub Narebski <[email-masked]>:
>> Dnia piątek 6. lutego 2009 10:49, Rafael Garcia-Suarez napisał:
>>> 2009/2/6 Jakub Narebski <[email-masked]>:

>>>> Make SHA-1 regexp to be turned into hyperlink (the SHA-1 committag)
>>>> to match word boundary at the beginning and the end.  This way we
>>>> reduce number of false matches, for example we now don't match
>>>> 0x74a5cd01 which is hex decimal (for example memory address),
>>>> but is not SHA-1.
>>>
>>> Further suggestion: you could also turn the final \b into (\b|\@),
>>
>> You meant \b -> \b(?!\@), didn't you?  Word boundary _not_ followed
>> by '@', and not word boundary _OR_ '@' as you wrote...
> 
> Since \b(?!\@) is effectively two zero width negative assertions in a
> row you could simplify by saying:
> 
>   (?![^\w\@])

I don't know if "sth\b" is effectively "sth(!?[^\w])"... perhaps it is.

> 
> and that way you can easily add the '.' case as well.

We cannot add '.' case, because it there can be legitimate SHA-1 match
ending sentence, e.g.

     ... at commit 8457bb9e.

-- 
Jakub Narebski
Poland