r2 - 17 Nov 2007 - 20:39:39 - MarcGirodCmWiki  >  CM Web  >  ConfigurationManagement > SoftwareConfigurationManagement > MarcGirod  >  LateIdentification

Late Identification

CM, traditional SCM, bound to version control or source management, assumes on early identification. Identification is bound there to the addition to the version database, and is the basis for the control.

This results in multiple shortcomings, which get revealed by build management: identical derived objects produced from different dependencies cannot be recognized as same. Examples of this phenomenon can be found in cases such as:

  • the catastrophic consequences of trivial merges (systematic duplication of versions)
  • spurious differences of platform independent code (e.g. java) produced by tools run on different platforms (or by different, competing, tools, which in certain cases would produce identical results).
  • spurious propagation of innocuous changes (e.g. comments added to source code)
  • dependency on installation history: source files obtained by extracting a package, thus appearing as derived objects, cannot be assimilated to the versioned elements, during a comparative dependency tree analysis.
  • the identity of derived objects produced in parallel (e.g. because of race conditions, or use of express building followed with promotion of the results), cannot be resolved afterwards.

Thus, a generalized SCM, based on derived object management, would need late identification, i.e. an additional level of indirection.
Objects with non-matching dependencies should of course still get produced, but could be recognized afterwards as identical, as thus resolved as same as some previously existing, thus avoiding the spurious propagation of inexistent changes.

-- MarcGirod - 17 Nov 2007

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