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 .
- new on left (blue)
- new on right ( green )
- same line but different text (red)
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