[NTLUG:Discuss] Comparison of CVS and SrcSafe

Steve Baker sjbaker1 at airmail.net
Thu Nov 4 17:42:15 CST 1999


Kevin Brannen wrote:

> I prefer the branching/locking model (SCCS) over "everyone
> get a copy and we'll magically merge and make it all OK later"
> philosophy (RCS).  All too often, the "magic and OK" part only comes
> after much "wailing and gnashing of teeth" (for any project with more
> than about 3 people).

We also used SCCS - and the "Lock and hide" approach can also be painful.

The number of times someone would check out a file, work on it and
go home (or on vacation or off sick) without checking it back in
again...then you'd need to make a silly one-line change and find
yourself completely unable to do so without hacking into the miscreant's
account, checking in a bunch of half-finished code, fixing it all up 
and than doing the one line change.

With RCS, it's easy - you just edit the file, check in your one-liner
and when the person who is doing the major hack comes to check it in,
they'll see the one line change you did and be able to intelligently
make sure it's in the merged file (or not).

I *by far* prefer RCS (and hence CVS) - but I guess it depends on the
context in which it's being used.

We had a setup where each person mostly "owned" a large chunk of the
code and did the bulk of large changes.  I guess if lots of people
are making BIG changes all over the place, then it could get chaotic.

Another thing that I hated about SCCS was if I needed to make a
systematic change to *ALL* of my source files (eg If I changed the
name of a header file or something).

In SCCS, I had to check out the ENTIRE tree - and that meant
everyone else on the project having to check in their work so
I could make a 10 second edit.

With RCS, I just grab a new copy of the tree, make my change
and check the entire thing back in again.  Since my changes
don't hit the same lines of code as anyone elses', their
subsequent merges are painless.

I guess you just have to get really comfortable with merging.
If you are an Emacs user, it's pretty painless.  If not, get
a copy of mgdiff.

-- 
Steve Baker                  http://web2.airmail.net/sjbaker1
sjbaker1 at airmail.net (home)  http://www.woodsoup.org/~sbaker
sjbaker at hti.com      (work)






More information about the Discuss mailing list