On Friday, June 27, 2003, at 12:41 PM, mark benedetto king wrote:
> On Fri, Jun 27, 2003 at 10:14:16AM -0500, kfogel@collab.net wrote:
>> which I'm pretty sure does not support the extended RCS file
>> definition. Maybe it should, but then we'd probably also have to get
>> an improved version of RCS 'co', or find some other means to obtain
>> specific revisions from a ,v file...
>>
>
> I had to do some rcs file mangling recently, with thousands of
> revisions
> of very large files. Using co directly was unacceptable because of the
> O(N^2) nature.
Actually, co is *not* O(n^2). it does delta combination on the deltas,
*then* applies the final delta.
The reason we use it is because it was *much* faster than doing the
delta application in python the inefficient way (applying deltas one by
one), which is what cvs2svn did originally.
>
> Instead, I used a slightly modified rcsparse to extract not only the
> change
> metadata, but the deltas themselves, and the fulltext of the HEAD.
>
> I took HEAD and picked up the deltas in reverse order, reconstructing
> all of the fulltexts in N passes (there were no branches in these
> rcs files).
>
> This gave me a tremendous speedup, but wouldn't it also allow us to
> remove the requirement for "co"?
Only if it's faster than co.
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jun 27 19:44:39 2003