At 04:15 8/31/2001, Sander Striker wrote the following:
--------------------------------------------------------------
>> Given these targets:
>> contact.html
>> docs/mailinglist.txt
>> orderform.html
>> docs/biography.pdf
>>
>> The sort algorithm, unlike what Ben and I both seemed to think, does
>> NOT do a "dirs first" approach--it simply sorts paths, promising that
>> children of the same parent will be grouped.
>>
>> So, the output of this sort would be:
>> contact.html
>> docs/biography.pdf
>> docs/mailinglist.txt
>> orderform.html
>>
>> NOT:
>> docs/biography.pdf
>> docs/mailinglist.txt
>> contact.html
>> orderform.html
>>
>> AND NOT:
>> contact.html
>> orderform.html
>> docs/biography.pdf
>> docs/mailinglist.txt
>>
>> As you can see, this means when we commit `contact.html' we will lock
>> its parent directory, `/'. The we do `docs/biography.pdf' and
>> `docs/mailinglist.txt', and we lock `docs/'. Finally, we come to
>> `orderform.html', and we need to lock `/' -- but it has already been
>> locked.
>>
>> If the sorting algorithm promised to put grandchildren of a given
>> parent above their...uncles and aunts? (a dirs-first sorting) then we
>> wouldn't run into this. But that's not required by the editor.
>
>The changes to svn_path_compare_paths are fairly trivial. I can
>modify that this weekend to let it do:
> contact.html <
> orderform.html <
> docs/biography.pdf <
> docs/mailinglist.txt
>
>Before falling back to strncmp it is simply a matter of '/' counting.
>The path with lesser directory seperators in it should be before the
>other path. When the counts are the same, fall back to strncmp.
Wouldn't just checking whether the dir's been locked already be easier
and _cheaper_ than sorting the targets? I'm not really familiar with the
SVN internals, so excuse this question: does one 'svn commit' after
'svn add'? You could be adding lots of files in one commit, sorting
seems like an unnecessary burden. What have I missed?
sleep-deprived
__________________________________________________
Roman Neuhauser
neuhauser@mail.cz
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:37 2006