[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn ls --search/pattern/glob/case-insensitive

From: Stefan Fuhrmann <stefan2_at_apache.org>
Date: Sat, 2 Sep 2017 18:08:44 +0200

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.
Received on 2017-09-02 18:08:47 CEST

This is an archived mail posted to the Subversion Dev mailing list.