Migrating From Centralized To Distributed Version Control System (DVCS)
Guido van Rossum today announced that Python would be moving to a distributed version control system (DVCS ), Mercurial (Hg).
In his mail announcing the move to Mercurial, he says
We’re switching to Mercurial (Hg). To me, the advantages of using *some* DVCS are obvious. At PyCon, Brett already announced that Git was no longer being considered — while it has obviously many fans, it also provokes strong antipathies. So it was between Hg and Bzr
Hg has a strong following among Python developers and few detractors, while few (except Canonical employees) seem to like Bzr. In addition, most timing experiments point towards Hg being faster than Bzr for most operations, and Hg is (again, subjectively) easier to learn for SVN users than Bzr.
Wikipedia says
Distributed revision control (DRCS) takes a peer-to-peer approach, as opposed to the client-server approach of centralized systems. Rather than a single, central repository on which clients synchronize, each peer’s working copy of the codebase is a bona-fide repository. Synchronization is conducted by exchanging patches (change-sets) from peer to peer.
Is it time for more projects to consider a distributed version control system as against the established central VCS systems like Subversion? What is your experience, what factors go into deciding the kind of versioning system to use?