for review: fix to Andrew's CVS merge errors

Fergus Henderson fjh at cs.mu.OZ.AU
Sat Feb 14 23:53:36 AEDT 1998


On 14-Feb-1998, Andrew Bromage <bromage at cs.mu.OZ.AU> wrote:
> The moral of the story: Don't trust CVS to find conflicts for you.
> Always compile after a "cvs update".

Yes, you should always compile after a cvs update.
That's necessary to find conflicts of the sort that CVS could
not be expected to find (e.g. change A adds an extra argument
to a procedure, change B adds a new call to the procedure
with the old number of arguments).

For languages with strong static checking, I think it is reasonable
to trust CVS + compilation to *find* conflicts for you.	[*]
However, you need to be careful about how you *resolve* those conflicts.
If CVS finds a conflict, then you should look at the log message and
the diff for the change that you are merging with so that you understand
what was changed and why.  This understanding is needed in order to
resolve conflicts correctly.

Cheers,
	Fergus.

[*] I don't recall any times during the development of the Mercury
implementation that conflicts have slipped past both CVS and the
Mercury compiler.  The conflict-related errors that have occurred
have been due to either failing to invoke the compiler before
committing or human error in deciding how to resolve the conflicts
that CVS detects.  I do however remember one conflict in a shell
script that slipped past due to the lack of static checking.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3         |     -- the last words of T. S. Garp.



More information about the developers mailing list