On 07.12.2013 19:26, Thomas Åkesson wrote:
> On 29 nov 2013, at 21:09, Branko Čibej <br...@wandisco.com> wrote:
>
>> On 29.11.2013 20:42, Ivan Zhakov wrote:
>>> On 29 November 2013 22:22,  <br...@apache.org> wrote:
>>>> Author: brane
>>>> Date: Fri Nov 29 18:22:00 2013
>>>> New Revision: 1546619
>>>>
>>>> URL: http://svn.apache.org/r1546619
>>>> Log:
>>>> * branches/fsfs-ucsnorm/BRANCH-README: New file.
>>>>
>>>> Added:
>>>>     subversion/branches/fsfs-ucsnorm/BRANCH-README   (with props)
>>>>
>>>> Added: subversion/branches/fsfs-ucsnorm/BRANCH-README
>>>> URL: 
>>>> http://svn.apache.org/viewvc/subversion/branches/fsfs-ucsnorm/BRANCH-README?rev=1546619&view=auto
>>>> ==============================================================================
>>>> --- subversion/branches/fsfs-ucsnorm/BRANCH-README (added)
>>>> +++ subversion/branches/fsfs-ucsnorm/BRANCH-README [UTF-8] Fri Nov 29 
>>>> 18:22:00 2013
>>>> @@ -0,0 +1,66 @@
>>>> +The purpose of this [fsfs-ucsnorm] branch is to implement two optional
>>>> +checks related to Unicode normalisation to FSFS.
>>>> +
>>>> +
>>>> +Option: Prevent name collisions
>>>> +===============================
>>>> +
>>>> +If this option is enabled, FSFS will reject operations that would
>>>> +create two different representations of the same name in the same
>>>> +directory. This will prevent situations where a user could see more
>>>> +than one form of the name in a directory listing:
>>> Nice feature, but why in FS layer? May be it's better to implement
>>> this feature on svn_repos layer?
>> It's not, for at least two reasons:
>> Users of the FS API must have the same constraints as repository clients, 
>> otherwise the whole thing falls on its face.
>> The repos layer cannot implement this optimally; at a rough guess, it would 
>> have to double the number of lookups performed:
>> The node cache in an FSFS implementation detail, and this option will affect 
>> how cache keys are generated.
>> Likewise for actual lookups into the on-disk representation.

Hi Thomas.

> Just want to say that, in my opinion, the design described in BRANCH-README 
> since r1546640 looks very good.

Thanks. It's finally in a shape where I'm happy with it, too.

> You might remember from back when I did some specification work (in the wiki) 
> that I am a strong proponent of the "normalization-preserving" approach to 
> the problem. I believe n-p makes many issues dealing with existing 
> repositories much easier to manage, in most cases go away completely unless 
> there are actually normalization conflicts.

Agreed. The only "problem" with this approach is that it affects
performance; but I'm hoping that the effect will be minor.

>  E.g. the issue raised by Bert 2013-11-24 regarding mergeinfo is not a 
> problem with n-p (I guess without thinking too much about it).

Mergeinfo really has all the same problems as paths; in both cases, both
the server and the client have to be normalization-agnostic and
-preserving in all their path and mergeinfo operations.

-- Brane


-- 
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. br...@wandisco.com

Reply via email to