Friday, July 11, 2008

Distributed Revision Control

Software engineering can't be well processed without also a good SCM (Sofware Configuration System) policy. A corner stone of SCM is Revision Control which aims to trace along the development phase (and later) every artefact of the application under development.
We of course know all of us Revision Control systems like CVS and its autoproclamated successor Subversion. We know Clearcase, Sourcesafe, and so on... We know the differences between "pessimistic" and "optimisitic" approaches in revisions systems.... We also know the concept of task oriented systems which enables the developper to revision a set of changes for a specific task.
Since several years we also have to confront "centralized" and "distributed" Revision Systems, a new battle between "ancients" and "moderns".
I let you discover three tools of this new revision control paradigm
  • Mercurial : the most advanced system in my sense, and already used by several big companies or projects
  • GIT : initiated by Linus Tornval, a mix between a revision Control system and a new kind of files system itself
  • Monotone : interesting, but newer, less used and tooled fup to now
I let you also read this introduction of Mercurial I find interesting, and which gives a very good overview of the ins and outs of the paradigm and the tool.

No comments: