As it seems people are arguing about the revision systems hype, I just
wanted to point that CVS rulez. Sure, it does not
$some_obscure_witty_feature but, hey, is this feature really useful?
I've been using CVS for ten years, coded around 500k source line of
code and honestly, it suits all my needs. To tell the truth, I don't
even use all of its capabilities.
So, CVS can't keep history of a file when you move it. Big deal?
After all, renaming a file is just like creating a brand new one.
Leave a commit message stating previous name of foo is bar if you
really need history and that is it. So far, I never stumbled upon a
case where this "feature" limited me or made me loose more than 15
seconds.
Same for distributed RCS. Sure, on the paper they look good. Call me
a moron but I never managed to use one properly. Even a large but
well managed project does not need such monstruosity.
Matthew
is right on one point: RCS are like languages, geeks advocate
languages because of a specific subset of features. But they don't
realize 90% of functionality of a language is present in all other
languages and the 10 other percents can be achieved with method if you
really need them.
I personally find very discouraging to learn a brand new RCS for every
project I contribute to if upstream has decided this one is cool. If
you want users to contribute, use a standard RCS as well as a standard
mailing-list system, common language, etc.