[chora] Status / Roadmap

Anil Madhavapeddy anil@recoil.org
Fri, 6 Apr 2001 10:32:47 +0100


Todd Kirby wrote:
>
> Doesn't the CVSweb perl script have the same
> bottleneck?

Yes.  Although, we can reduce a lot of forks by implementing the 'cvs
server' protocol in PHP, and holding a persistent connection open.  Or
saving results to a database and caching them (99% of the data in there is
easily cacheable, since CVS by its nature only appends information, and
doesn't change it).  Bi-directional popen() in PHP would be a huge gain in
terms of reducing temp file usage.

The 'cvs server' protocol is obscure though.  Look at the annotate code to
see what I mean.  And the database is on the roadmap, once I get time to
breath again :-)  Ideally, I just want to use the Horde framework to just
serialize CVSLib_* objects.  If each CVSLib_File has a unique hash based on
its filename/lastmodified, given that some of these files don't change in
years, we have a big win in terms of time spent parsing them.  And then you
can have repository-wide searching capabilities via the database too.

> It seems to me implementing the CVS functionality in
> php wouldn't be a very compatible way to go. It might
> be beneficial to a large installation like
> Sourceforge, but almost no one else is going to need
> that kind of scalability.

Indeed ... it's just easier to put a beefier machine than spend a whole lot
of time on it (for me at least), and there's so many other features I want
to press on with.

(Mathieu, your patches haven't been forgotten!  I haven't sat down with
Chora for a while now though, I'll reinstall OpenBSD on my laptop this
weekend so I have a bit more time to play)

Anil