[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Performance of cvs
RE: Performance of cvs
Mon, 23 Mar 2009 20:53:48 +1100
> From long time use with large scale usage in a multi-country setup
> I think performance improvements (faster cvs diff/update) is
> on my wish list.
Generally CVS works very very well over a WAN and people start looking
for proxies etc before they look at the existing performance and at
procedures - however I'll give you the benefit of the doubt and assume
you've already done all that.
I think some proxy work was also done in CVS 1.12 but I'm not sure if it
was a full read/write through proxy.
Generally if something is on your wish list for a FOSS project then you
should add it to your 'to do' list, that's why the source code is
'free', so you have the freedom to change it.
I know the CVSNT project (Free/GPL like CVS, runs on linux/unix etc) has
done some work on WAN performance, including using checksums to improve
the performance of status and update over slower WANs (rather than send
the file to the server) - this helps particularly if you have a very
slow WAN or high latency WAN (eg: Sydney AU to Manchester UK) with large
binary files (eg: PDFs). Those improvements went into release 2.5.04,
as did a 'local proxy' so that you can set up a proxy for all 'read'
operations geographically closer to each team. CVSNT has a separate
newsgroup and you should search there if you want to pursue that option.
CVSNT forked from CVS back in 1.10 and paralleled it until 1.11
something, so the 'crossgrade' is quite straightforward.
Mercurial/Git etc all basically put an entire repository on each PC; a
little similar to ClearCase snapshot views. It has many advantages and
many disadvantages. What I like least is that it developers can 'push'
out selected revisions, eg: 1.2 then 1.224 and 'hide' from the rest of
the world what happened between - which is often vital in IP cases - so
I don't think they are suitable for commercial development - but may be
fine for FOSS work. Again - each of these have their own newsgroups -
go there for more info.
The same team that wrote CVSNT have released EVS (also called CM Server,
previously called CVSNT 3.1) - but that is currently windows-only and
whilst 95% of the source is LGPL, the .exe itself is not (EVS is a
library for writing version control systems and is 'free' and CVSNT 3.1
is 'free' but CM Server is not). It does however have 'true' multi-site
capabilities like Dimensions and ClearCase where each repository 'owns'
a 'branch', and all other sites can 'see' other sites' branches and
merge from them to their own branches. EVS is also 'open client' - you
can currently use CVS, SVN and TeamSystem clients all against a single
EVS repository. You guessed it - EVS has it's own newsgroup.