XpdWiki

FrontPage
RecentChanges
XtC
FindPage
PageIndex
XpApprentices

Set your name in
UserPreferences

Edit this page

Referenced by
...nobody




JSPWiki v2.0.52


CvsForAgileTeams


Grrrr! Eclipse / CVS is really not great for small XP teams doing frequent releases on projects containing > 10,000 files.

We are currently running CVS on the local network without SSH. Synchronizing is starting to take an annoyingly long time. The model used by CVS does not scale in the same way ENVY for VisualAge did when you are doing frequent synchronizations.

Any tips, alternatives or hacks to make it run faster?

MpC

---

Other complaints about CVS below:

Is anyone interested in working with me on making a few adjustments to a java based CVS client (particularly I'm thinking of using this in eclipse).

I effectively want to modify a CVS client so that if everyone in a small team uses the 'CVSTeams' client then they would get atomic releases and support for rolling back the state of a whole set of CVS modules to any particular release.

I propose to do this using some kind of server side CVS meta data that uses a CVS write lock and to force automated versioning of all modules at each release point.

Or something similarly simple. I am proposing no changes to the CVS server other than a meta project or meta file.

Basically this would be reimplementing some of the functionality of TeamStreams ontop of CVS.

MpC

We just have a physical release token and tag every release, giving us atomicity, and the ability to roll it back. Surely it's the simplest thing? -- OliBye

People have to remember to tag and remember to obtain the release token. Also an automated checkout process can't obtain a physical lock (such as the release Cow in our case) It just annoys me you need these work arounds for an inadequate release system. MpC


You should probably take a look at MetaCvs . It doesn't offer the functionality you want but they've taken the same approach towards decorating CVS on the client-side.

Also see the bottom of this page for another approach to adding atomicity to CVS.


I really don't understand why anyone still puts up with cvs. Habit and the comfort of familiarity, I suppose. This is no longer good enough for me. I have got cvs running on my laptop, but mainly because it came pre-installed with MacOSX?, and serves well enough for the fairly trivial versioning I do of a bit of toy code now and again. But for work? Or do anything "advanced", like for instance branch some files, or (gasp!) rename/move a file retaining it's history? Far too clunky.

We've used Perforce at Penrillian with great success for small team work (1-4 pairs) on the codebases of, for example, an entire Java runtime, or even the complete source tree and build files of Symbian OS 7, a custom UI layer for same and all it's bundled applications. And that's a lot of files. We've found it fast, easy, powerful, safe, friendly, easily scripted, robust, happy to integrate with other tools, and with a little care parsimonious of disk space even when heavily used. It's free as in beer for personal use (I have it running on the SPARC box in my home network), and dirt cheap considering what you get for commercial use. Oh, and the support is excellent.

The bundled merge tool does have some heinous defects in it, but then you don't have to use it.--KeithB


I'd give subversion a try. It only sends the diffs over the wire so it scales better for large numbers of files. Atomic commits. Cheap tags and branches. It still classed as alpha by the developers, but it's very solid. I've had no problems for the six months I've been using it. -- AdrianHoward

Take a look at the SubVersion page and at SimpleVersionControl.


Edit this page   More info...   Attach file...
This page last changed on 25-Sep-2003 13:15:37 BST by unknown.