-CVS (One of the first RCS, I think most projects are moving away from this
one.)

I wouldn't suggest starting a new project with CVS. Subversion (svn) resolves several of the main issues with it, so using SVN instead wins over CVS in just about every possible way.

- Subversion-(pretty popular right now, but it is a client/server model.)

A good solid & popular choice, but the merging capabilities are a bit weak (the latest version just added some better capabilities for branching/merging, but it's a bit of a hack). It's also not the most efficient storage -- git and mercurial (hg) both have very efficient repository structures compared to SVN. The family DVCS tools (git, mercurial, bzr, darcs) are stronger in this area. My employer uses SVN for their primary repository. Documentation is outstandingly good (documentation for the others is also good, but SVN's is exceptional).

-Git (originally created for Linux and now used by several very large
projects)

I've tried several times to like git -- some folks swear by it. The Win32 support has been a bit wanting, but growing. I find it a bit more complex but it's certainly not lacking for power. I'll continue to try it occasionally to see if it meets my needs better than Mercurial

-Mercurial (this is a big up and coming RCS)

This is currently my favorite: good branching/merging, fast, written mostly in Python (one C extension module, IIRC), and a simple interface

-Bazaar (written in Python. Also pretty new. I don't know about Windows
support)

I like Bazaar (bzr), but the last several times I've tried it, it's been a little slow. This has been steadily improving, and I like their emphasis on correctness foremost. It's a lot like mercurial, but is pure python (no C extension module) which makes it nice to deploy into environments such as my shared web-hosting service where I can't build extension C modules or install packages such as hg/git/svn from the repository.

All of them have GUI interfaces if you need, but I tend to just use them from the command-line. For most of them, you can get by with a handful of commands without needing to learn every last corner.

For what you (the OP) describe, I'd suggest SVN, Mercurial, or Bazaar as they're a little easier to wrap your head around -- SVN wins for documentation, Mercurial wins for speed and merging, and Bazaar wins for portability and merging. Git would win for sheer power, but if you're just beginning, I'd skip it for now.

-tkc








--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to