On Wed, Dec 08, 2004 at 06:21:18PM -0700, Phil Frost wrote: > On Wed, Dec 08, 2004 at 07:19:07PM -0500, William Coleda wrote: > > Is there a plan at any point to move to an svn repository from cvs? > > > > I'd like to work on a patch to move all the perl* pmcs into dynclasses, > > which would involve quite a bit of file moving, and I'll happily wait for > > svn if we're going that way, since it'll be smoother. > > If you are planning on switching revision control systems, I suggest > something other than svn. There are a number of other systems available > to the free software developer which offer serious advantages which > might not be aparent to those who have not experienced them. Among them > are arch, darcs, and monotone.
Arch is out. Its Win32 support is crap. http://wiki.gnuarch.org/moin.cgi/Native_20WIN32_20Support monotone is out. Its too unstable. They just made an incompatible change requiring *lossy* migration. http://www.venge.net/monotone/README.changesets This leaves just Darcs. I would eshew Darcs for a large, Open project for these reasons. * Its immature. What happens if we hit a bug and wedge the repository or worse, corrupt it? What happens if they introduce an incompatible change as monotone did? * We don't have any Darcs experts to solve the hard problems. * The darcs manual proudly proclaims "Darcs is refreshingly different from CVS." "Because of the different models used by cvs and darcs, it is difficult to provide a complete equivalence between cvs and darcs." Parrot has a lot of CVS users. They do not want "refreshingly different". However, this does not mean distributed version control is out. There is an option. SVK. Its distributed version control WITHOUT everybody having to learn and run SVK. SVK is a *client* of a Subversion (or CVS or Perforce) repository. This means Parrot can switch to Subversion and those that want to play with distributed version control can do so without everybody else having to drink their brand of Kool-Aid. For reference, here's the gauntlet I'd make any new revision control system for Parrot run through. 1) Are they easily available on all the platforms Parrot is? Various Unixen, OS X, Windows. Is there any hope for a VMS port? 2) Can the command set and workflow be made similar to CVS? You're going to have enough trouble convincing people to leave the warm, familiar, comforting, if slightly demented, embrace of CVS that they have known for years. Its best if the new system works as much like CVS as possible. 3) Do we need distributed version control? Can this be gotten without having to drink their brand of Kool-Aid, such as by individuals using SVK over a Subversion repository? 4) Are these systems mature enough that they're not going to fall apart under a large repository? Or that we don't have to worry about hitting a bug which corrupts the repository or gets it into an inconsistent state? Or that they'll introduce an incompatible change? 5) Do we have any experts with these new version control systems? Someone who knows how to solve the hairy problems. 6) Can we convert the existing CVS repository to it without losing revision histories? 7) Can we supply a read-only CVS mirror of the repository? 8) What's the documentation like? Is there a well-written, comprehensive tutorial? Can I get going in under an hour? -- Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern/ Home of da bomb