[cvsnt] Re: Performance problems

Nitzan Shaked calius at netvision.net.il
Tue Dec 28 15:04:57 GMT 2004


(wow this is becoming a nested thread :-)

> The most common case is that people work near the top of the tree
> rather than on years old revisions. This means that if there is any
> optimization needed it would be to make sure the closest revisions to
> HEAD could be quickly retrieved.
> And this is exactly what CVS does...

Yes, I suppose I agree to that. There are two points which suggest somewhat
differently, and those the 2_0_x CVS branch itself (which Tony mentions) and
the "BUILD" tag system I and others use (see the CvsGui mailing list). Those
work on tags/branches somewhat far (several months from the tip). But I
suppose it's fast enough, as Tony says.

> But I tend to agree with your observation but on different grounds:
> If a developer has a thousand of edited files to commit at one single
> instance then he is doing something seriously wrong....

Great. So that means we basically agree there's room to improve update speed
on account of commit speed. A purely theoretical discussion now, but
still...

> >If you are appending (and you are, I think, when I commit to the tip of
> >HEAD, right?), then you can say the above idea to do so without
re-writing.
> >I understand I am suggesting a non-trivial thing here, and don't presume,
> >again, to have thought everything over -- just an idea I'd be happy to
> >develop.
>
> Hold off!
> You are suggesting changing the underlying RCS format paradigm and
> that would make CVSNT a non CVS version system!
> One of the great things about CVS is that it has all of the file
> history inside each RCS file including all revisions and all tags etc!
> So the RCS file can be moved or copied while retaining the file
> history intact. Storing data in separate files makes this impossible
> and thus will break the CVS-RCS heritage completely....

Yes and no. I *am* suggest to change the RCS file format, but it *will*
remain self-contained. Re-read my suggestion: I am suggesting to modify the
file itself, not use another file. The "use another file" was in the context
of how to do very quick per-file tags. What I wrote was that you could also
quickly add tags to the files themselves (if you don't want other metadata
files), and suggest to how do it quickly. But still in the same file.

The way I understand it CVS and RCS can't share files (Ton'y comment about
him changing slightly from "man rcsfile"), so it shouldn't be all that bad.

I'm not evangalizing or calling for any change right now -- just enjoying
the discussion on possible ways to improve CVS speed.

N.





More information about the cvsnt mailing list