At 01:57 PM 2/23/2004, you wrote:
Stephen P Rufle said:
> I also use VSS and I would like to know what about it is evil. I ask
> because I was looking into CVS also and it seemed that for our office we
>  would not gain much besides not having to pay for additional
> SourceOffsite  (remote client for VSS) licenses.
>
> It may be that I am not using any of the bad features.

It has been a while since I have used VSS so some of these things have
possibly changed.  I have three major gripes

1. It has a backwards culture.  By default it would always "exclusively"
checkout files.  So if the programmer next to me would checkout a module
(and thus hundreds of files), then run off to lunch.  Then I would need to
make a one line change to one of those files, I would have to wait until
he came back from lunch else do evil things to the repository.  It was
very much a hassle and all our developers were in the same room.  CVS/SVN
go on the "first commit wins" rule.  That is everyone can checkout as
writeable and first one to commit wins other wise you reconcile the diff.
This works out SO WELL!

This is actually what the guys i work with want. I had it setup to allow multiple checkouts. Then when the last person would checkin they would have to merge the changes. They complained so it is back to exclusive checkouts.


2. It is too visually oriented.  All the tools were GUI based.  This is
problematic because it makes things almost impossible to script or write
wrapper applications around.  While VSS did have a few shell commands they
were poorly documented and "clunky".

I guess that is what I learned on so it never effected me. I have used the command line version with some success but I can see that from the beginning that CVS has been oriented to the scriptable world which I like. And it has only been recently that I found a good external diff/merge tool. I like the VSS way of color coding . I think some of the issues have to do with the culture you know. I found that other developers have a hard time understanding the usefulness of branching and merging until they REALLY need it.

I have heard of subversion also and was waiting for it to be complete so I could take a look at it. Well thanks for the explanation.
 

3. Corruption, Corruption and more corruption.  The repository was taking
a dive pretty regularly.  We only had about 10 developers going against it
and yet it had problems not corrupting on at least a bi-weekly basis.


Some of number 3 had to do with it not having atomic commits.  For the
record CVS does not have atomic commits either(svn does).  HOWEVER, it's
clients are  not nearly as flaky so in several years with GNU Enterprise I
think we have only had an issue once or twice with this.

Its ability to track the history of the file line-by-line sucked as it was
a third party extension that was of course visual.  cvs/svn annotate is my
friend. :)

Its diff tool sucked for the same reasons.  cvs/svn diff is my friend.

Of course, this doesn't even address the largest issue to me.  That being,
I chose not to use propreitary software that has Free Software
equivalents. :)

-Derek

Stephen P Rufle
stephen.p.rufle@cox.net
H:480-802-7173
Yahoo IM: stephen_rufle
AOL IM: stephen0rufle