Archive for the 'SCM tools comparison' Category

Dave Dribin: “Choosing a Distributed Version Control System”

Sunday, February 10th, 2008

Dave Dribin wrote a couple of posts on choosing between the usual suspects: Mercurial, Bazaar and Git. Well-written, recommended.

Read at: Choosing a Distributed Version Control System; follow-up: Why I Chose Mercurial.

SCM systems comparison: a better frontend

Saturday, January 26th, 2008

We’ve reorganized the information from the famous Better SCM: Comparison project, and presented it in a more useful way.

Announcing: Version control systems comparison 2.0.

You may compare any number of systems against each other. See for example:

TODO: add (at least) Git, PlasticSCM and Microsoft TFS information to the original Better SCM database and re-import it here. Stay tuned for updates.

AccuRev streams vs branches

Monday, January 14th, 2008
Damon Poole (CTO of AccuRev) wrote a teaser post in AccuRev blog about AccuRev streams: Damon Poole: “Streams vs Branches”.

This article links to a whitepaper: Damon Poole: “Stream-based architecture for SCM.

As far as I understood from the first reading, idea of streams is very straightforward and simple concept making “streams of development” a first-class object in AccuRev repository. Streams are very easily presented on UI level, making them easily understood for software developer and release manager. Branches, tags, and private workspaces could be superseded by various flavors of streams.

E.g. “Release 4.0″ is a stream. “Release 4.0.1″ is the child stream. Changes made in 4.0.1 could be “promoted” to 4.0. When we start the “5.0″ line of development, it automatically gets everything that was promoted to 4.0, either from older version or from bug-fix version (4.0.x).

I understand that streams could be enormously useful if they actually do the merging well. Technically this is handled easily by modern standards. Something like this could be done (and may be is already done) in many GUI clients for most open source version control systems.

Second part of the whitepaper is dedicated to AccuRev TimeSafe, which is the underlying repository format. I have to remark that the article only compares TimeSafe features with CVS and ClearCase repository features. Those are embarrasingly easy targets for criticism. Why are modern repository formats such as Subversion FSFS and Git not mentioned? Are they technically superior? ;)

Article on Timesafe: Damon B. Poole “The Timesafe Property - A Formal Statement of Immutability in CM”.

See also: DaveOnSCM: “Agile: Branches vs. Streams”.

Karl Fogel, Ben Collins-Sussman, on distributed version control

Thursday, October 11th, 2007

Important opinions from Subversion developers:

Karl Fogel: “Subversion, decentralized version control, and the future”

Ben Collins-Sussman: “The Risks of Distributed Version Control”

Mozilla: Version Control System Shootout Redux Redux

Sunday, June 24th, 2007
J. Paul Reed, a build engineer for Mozilla, writes an account on choosing the version control system for Mozilla development, instead of traditional CVS. The article is filled with digitally enhanced screenshots from Mortal Kombat II, illustrating the story. Mercurial is current favorite (but not the winner). Git, Mercurial, Bazaar, and Monotone were considered. Highlights:
  • Git is inappropriate for cross-platform projects due to its UNIX-centric nature; same goes for Monotone;
  • Mercurial had lots of initial troubles with import of Mozilla repository, which is huge and complicated;
  • Bazaar imports well, but extremely slowly: more than a month for trunk-only part of Mozilla repository;
Read at: Version Control System Shootout Redux Redux. See also: Mozilla Version Control System Requirements.

Better SCM Initiative: ClearCase, Mercurial and AccuRev Added to the Comparison

Tuesday, February 27th, 2007
A well-known SCM comparison resource “Better SCM Initiative” has updated the table, adding three more version control systems: Rational ClearCase, AccuRev, and Mercurial. So, now it has a feature-by-feature breakdown comparison of nineteen systems, open-source and commercial. Sadly, it does not yet cover GIT. Read at: “Better SCM Initiative: Comparison”

John Goerzen: “Whose Distributed VCS Is The Most Distributed?”

Tuesday, January 16th, 2007
John Goerzen tells a story about his evaluation of SCM tools for the following problem:
One of my tests was a real problem: I wanted to track the Linux 2.6.16.x kernel tree, apply the Xen patches to it, and pull only specific patches (for the qla2xxx driver) from 2.6.17.x into this local branch. I wanted also to be able to upgrade to 2.6.17.x later (once Xen supports it) and have the version control system properly track which patches I already have.
John Goerzen “Whose Distributed VCS Is The Most Distributed?”