wiki:Git/WhyGit

Version 2 (modified by Beman Dawes, 12 years ago) ( diff )

--

Why Should Boost Move to Git?

Subversion works well for Boost's version control needs, so why should we move to Git?

That's really the wrong question, however. Here are the real questions:

Why should Boost move to a distributed version control system?

  • Decouples the Boost mothership repository from developers' local repositories:
  • Allows developers to commit, branch, merge, and perform other version control operations while offline.
  • Allows developers to commit partial work locally without breaking the trunk.
  • Works more smoothly for developers who prefer to work mostly locally, and only rarely commit to trunk.
  • Is often faster for everyday operations, and sometimes much faster.
  • Allows public library specific repositories, such as on GitHub:
  • Scales up to a much larger number of libraries:
  • Encourages wider participation and ease patches. The ability to submit pull requests provides a smoother way for a new developer to ease into participation, and makes it easier to submit and apply non-trivial patches. (I'm pretty sure that has been the experience of other projects, but a citation or two would be useful.)
  • Eliminates much or all of the need for the sandbox.

Why should Boost choose Git as our distributed version control system?

Mercurial, Bazaar, and perhaps Fossil are also well developed and supported DVCS systems. They are widely used by well-known open source projects. So why choose Git?

What is the downside of Boost using distributed version control and Git?

  • Will the real Boost step forward?
Aside: The Wikipedia article on Distributed revision control as of 2 Feb 2011 is weaker than usual and may be misleading. Don't draw any conclusions based on it.
Note: See TracWiki for help on using the wiki.