subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Fuhrmann <stef...@apache.org>
Subject Re: svn ls --search/pattern/glob/case-insensitive
Date Sat, 02 Sep 2017 16:08:44 GMT


On 01.09.2017 15:31, Branko ─îibej wrote:
> On 01.09.2017 06:36, Stefan Fuhrmann wrote:
>>
>>
>> On 29.08.2017 14:04, Branko ─îibej wrote:
>>> On 29.08.2017 13:28, Stefan Sperling wrote:
>>>> On Tue, Aug 29, 2017 at 01:12:07PM +0200, Stefan Fuhrmann wrote:
>>>>> How would you implement the case-insensitive comparison
>>>>> on the server side consistent with the client-side locals?
>>>> As far as I can tell the utf8proc code which the client uses
>>>> for this is local-independent.
>>>
>>> "Locale," but yes. Utf8proc relies on the Unicode generic case-folding
>>> rules, which are indeed locale-independent. They won't always be 100%
>>> grammatically correct for a particular environment, but from my reading
>>> they'll be good enough for the purpose, which is to find stuff not write
>>> a linguistic thesis. A few strictly-speaking false-positive edge cases
>>> won't hurt.
>>
>> Then it should not be hard to extend the existing code to
>> do "fuzzy" comparisons using generic case- and accent folding.
> 
> I'd be very surprised if we don't have that kind of matching code
> somewhere already ... indeed: normalize_cstring() in
> libsvn_subr/utf8proc.c does exactly this kind of transformation using
> utf8proc, exposed as a (private) API in svn_utf__xfrm() which has a
> nodding acquaintance to the standard strxfrm().

I've seen that begin called in the client but was not sure
whether that is generic logic or locale-dependent.

-- Stefan^2.

Mime
View raw message