r6 - 04 Sep 2007 - 09:21:13 - MarcGirodCmWiki  >  CM Web  >  AvoidTrivialMerging

Avoid Trivial Merges

The purpose of merging is to achieve convergence, thus to reduce accidental and useless diversity. This is in line with the motto of SCM: Share to Manage, Manage to Share.

Getting insight about resources by sharing them in multiple contexts.

Now, with systematic branching strategies, one often meets the case of so-called trivial merges i.e. also, copy merges -- merges in which the contents of the target happens to be identical to this of either of the two sources.

We'll claim here that this is not a good idea, and should be avoided -- that it is a valuable goal to design one's strategy in order to avoid it.

The rationale: trivial merges result into a useless duplication, an accidental diversity. It is indifferent whether one uses either of two identical versions, therefore, this introduces a harmful noise into the dependency tree of a dependent resource. This noise will make it harder to detect real, meaningful differences.

The noise is particularly noticeable in the context of real merges: they tend to get hidden by the trivial ones. But the worst cost is paid with invalidating derived objects, thus ruining any management strategy based on them.

-- MarcGirod - 12 Sep 2005

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r6 < r5 < r4 < r3 < r2 | More topic actions | key Log In
 
Copyright © 1998-2008 CM Crossroads LLC
Ideas, requests, problems regarding CmWiki?? Send feedback