[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
On Thu, Jan 15, 2004 at 06:24:49PM -0500, Chris Fowler wrote:
> CVS allows you to control the present. The past can not be changed.
> These are strict rules that I think all control systems should live by.
> If it is committed or taged then it can *never* be changed.
Well, "control" is a bit of a stretch, IMHO. Like Danny said, CVS
doesn't allow you to rename or move a file; you have to remove it and
then add it again. CVS also doesn't version directories; once you add a
directory to CVS, it's there forever (barring, of course, direct
manipulation of the repository). And if you ever have the unfortunate
task of renaming a directory, or changing a directory structure (like,
for instance, if you want to re-package java classes), then you have to
move each file individually, where "move" means "delete, then add". And
once you've finished that, you have all these empty directories that you
can't get rid of. Instead, you have to remember to prune empty
directories whenever you checkout or update. There's also no non-clunky
way to recover a deleted file. Looks like I'm the one rambling now...
Having said all that, CVS can be an excellent source control, as long as
you are aware of its weaknesses and plan everything very carefully.
I've been wanting to try subersion for a while now, but it's always had
some weird dependency issues on the systems I've tried to install it on,
and I haven't been motivated enough to try and work them out. I would
love to hear some feedback on it as well.
Jason Day jasonday at
http://jasonday.home.att.net worldnet dot att dot net
"Of course I'm paranoid, everyone is trying to kill me."
-- Weyoun-6, Star Trek: Deep Space 9