[darcs-users] GSoC: network optimisation vs cache vs library?

Max Battcher me at worldmaker.net
Thu Apr 15 18:00:13 UTC 2010

Petr Rockai wrote:
> Max Battcher <me at worldmaker.net> writes:
>> It may be "revision 1782" to Trac, but 'show contents --match "hash
>> 2008..."' is "commute this file to how it would appear if only the
>> patches preceding or equal to this one with a timestamp from two years
>> ago were applied" to darcs. (Which ends up being quite possibly not a
>> "real" historic version at all [snip]
> Just for the record, this is completely wrong. This operation does no
> commutation at all. All it does is reconstruct the file as it was the
> instant after patch "2008..." was applied. The reason it is expensive is
> that obtaining the set of patches touching that file is O(n) in
> *repository* history (from 2008... to HEAD) , not in the *file* history.

Sorry, forgive my lazy verb choice with "commute", but I think the point 
I was trying to get across still stands that an O(n) operation (even if 
just n = patches that touch file, which in pathological cases is not 
very different from repository history) is still a mismatch compared to 
the O(1)/O(log n) operation in svn/git...

(Sure, caching will/does help, but I still think there's a cultural 
impedance mismatch between what Trac+Darcs is trying to do and the way 
darcs operates in practice, but that may of course be as much my own 
point of view as anything else.)

--Max Battcher--

More information about the darcs-users mailing list