comp.lang.ada
 help / color / mirror / Atom feed
From: dweller@dfw.net (David Weller)
Subject: Re: Configuration Management for Ada on Unix
Date: 1996/05/31
Date: 1996-05-31T00:00:00+00:00	[thread overview]
Message-ID: <4oms1i$smh@dfw.dfw.net> (raw)
In-Reply-To: 4omf1q$jaq@goanna.cs.rmit.EDU.AU


In article <4omf1q$jaq@goanna.cs.rmit.EDU.AU>,
Richard A. O'Keefe <ok@goanna.cs.rmit.EDU.AU> wrote:
>bjw@f111.iassf.easams.com.au (Brendan WALKER) writes:
>>The first is that CVS allows more than one user to be modifying a
>>file at a time, rather then the SCCS/RCS single file lock system. This
>>may sound crazy at first, but it is actually very good. What CVS does is
>>automatically "merge" the changes made on a particular version of the
>>file.
>
>A method of merging deltas was described some years ago.
>It sounded to me like a really bad idea then, and does now.
>The assumption here is that changes that affect different lines are
>independent.
>I have never known this to be the case.
>

I felt the same way before I started using CVS.

The real issue is how much _control_ you can have over how sources are
changed and how versions are tracked.  There is already a lot of
empirical evidence, covering hundreds of thousands of lines of code
(admittedly, most if it in C).  

The common "fear"(myth) of "merge-based" CM is that you could end up
with a change history like this:

		Module Version
			1.1
		       /   \
                      /     \
      User A changes         User B changes 
      lines 5-10	     lines 20-56
		      \     /
		       \   /
		Resulting "remerged" file
		is a mess because the changes
		from User A "hosed over" User
		B's changes.

This is actually _not_ how the system works.  In general, one user (A
or B, you choose) will notice the repository has a changed version of
the file.  The person should inspect the changes (easily done) and
determine how/if it affects their changes.  No CM system in the world
replaces programming discipline.

Further, CVS provides mechanisms to force "sequentializing" of
checkin.checkout, just like you would get with "vanilla" RCS.  Having
had several people using CVS on my project, many working with the same
packages, I can confirm that the "line oriented" approach (versus
"file locking oriented") works wonderfully.  More to the point, it is
very easy to roll a change out if there are unexpected conflicts
(we've never had that situation come up -- CVS will _force_ a user
into Merge mode if their changes conflict with any new changes in the
repository).

The "theory" that "line oriented" CM is error prone holds about as
much water as the "theory" that somebody can write more efficient code
in C than in Ada because C lets them "get close to the machine" --
it's simply a misplaced "will to believe".

>Fifty years of programming language research, and we end up with C++ ???

Fifty years of CM and people still use SCCS :-)



-- 
    Visit the Ada 95 Booch Components Homepage: www.ocsystems.com/booch
           This is not your father's Ada -- lglwww.epfl.ch/Ada




  reply	other threads:[~1996-05-31  0:00 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-05-30  0:00 Configuration Management for Ada on Unix W. Wesley Groleau (Wes)
1996-05-30  0:00 ` Samuel Tardieu
1996-05-30  0:00   ` James A. Squire
1996-05-31  0:00   ` Samuel Tardieu
1996-05-31  0:00   ` Brendan WALKER
1996-05-31  0:00     ` Richard A. O'Keefe
1996-05-31  0:00       ` David Weller [this message]
1996-05-31  0:00         ` Fergus Henderson
1996-05-31  0:00   ` James A. Squire
1996-05-31  0:00     ` Robert Dewar
1996-06-02  0:00   ` Jim Kingdon
1996-06-03  0:00   ` James A. Squire
1996-06-03  0:00   ` James A. Squire
1996-06-04  0:00   ` Ken Garlington
1996-06-04  0:00     ` John McCabe
1996-06-04  0:00   ` Samuel Tardieu
1996-06-04  0:00   ` Simon Wright
1996-06-05  0:00   ` James A. Squire
1996-06-05  0:00   ` James A. Squire
1996-06-05  0:00     ` Robert Dewar
1996-06-05  0:00   ` James A. Squire
1996-06-05  0:00     ` David Weller
1996-06-05  0:00   ` Jim Kingdon
1996-06-06  0:00   ` Kevin F. Quinn
1996-06-06  0:00   ` Ken Garlington
1996-06-07  0:00   ` Kevin F. Quinn
1996-06-09  0:00   ` John & Susan Edge & Farrina Wilson
  -- strict thread matches above, loose matches on Subject: below --
1996-05-30  0:00 Bob Crispen
1996-05-22  0:00 David R. Ellison
1996-05-22  0:00 ` Robert Dewar
1996-05-23  0:00   ` Dave Wood
1996-05-22  0:00 ` Theodore E. Dennison
1996-05-24  0:00   ` Laurent Pautet
1996-05-25  0:00     ` Bob Crispen
1996-05-26  0:00       ` Laurent Pautet
1996-05-28  0:00         ` Theodore E. Dennison
1996-05-28  0:00           ` Laurent Pautet
1996-05-28  0:00             ` Tucker Taft
1996-05-29  0:00               ` Laurent Pautet
1996-05-29  0:00         ` Chris Papademetrious
1996-05-30  0:00           ` Robert Dewar
1996-05-30  0:00           ` Laurent Pautet
1996-06-01  0:00       ` Jim Kingdon
1996-06-02  0:00         ` Laurent Pautet
1996-05-23  0:00 ` Bob Gilbert
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox