[tools-discuss] Distributed source code management selection, draft

Stephen Hahn sch at eng.sun.com
Fri Apr 7 15:08:22 PDT 2006


  Commentary is encouraged.  We can start to look at specific
  SCM-dependent tools next week, unless we are more distant from
  consensus that I believe...

  Enjoy the weekend; my thanks to all.

  - Stephen

---

OpenSolaris
DISTRIBUTED SOURCE CODE MANAGEMENT SELECTION [DRAFT]
Bonnie Corwin, Stephen Hahn, Mike Kupfer, and Frank van der Linden

1.  Summary

    Based on the requirements, evaluations and experience gained with
    various distributed source code management (DSCM) tools, we are
    recommending the adoption of Mercurial for OpenSolaris projects that
    intend to use a DSCM solution.

2.  Discussion

    Over the last two months, we have been evaluating a number of
    distributed source code management (DSCM) solutions to find one to
    use for OpenSolaris repositories.

    The basis for our evaluation was the requirements document:

    http://www.opensolaris.org/os/community/tools/scm/dscmreqdoc/

    and the evaluation itself is described in

    http://opensolaris.org/os/community/tools/scm/

    After evaluating the final candidates (Git [1], Mercurial [2], and
    Bazaar-NG [3]), we have come to the following conclusions.

    * Bazaar fulfills many of the requirements, amongst them the
      important "rename with history" requirement. However, it has
      serious performance problems. For example, cloning and committing
      the OpenSolaris source tree was a lot slower than on other
      candidates.

    * Git and Mercurial are close in many aspects. Both are lightweight,
      and fast. Both, unfortunately, do not currently have a rename
      operation that preserves history. Both have active communities
      supporting them.

    The DSCM to be used for OpenSolaris projects (like the large ON
    consolidation) has to work with the infrastructure for code review
    and release engineering that OpenSolaris has and will have. Also,
    making it the DSCM for a large source code base like ON will result
    in a stream of additions and modifications coming from the
    OpenSolaris community. We believe that the source code base of
    Mercurial is the most suited one amongst the candidates for these
    circumstances. It has also been important that its developers have
    been very responsive, both during the evaluation and with projects
    using Mercurial for their own source code management.  (SCM
    developer participation from the other candidate SCMs was also noted
    with appreciation.)

    Therefore, we have decided to select Mercurial as the DSCM for
    OpenSolaris. In the coming time, we hope to work with the Mercurial
    community to address any issues we may find while integrating
    Mercurial into the OpenSolaris repository framework and converting
    existing source bases to use it.

3.  Acknowledgments

    Useful feedback on the evaluation came from many community members,
    with Al Hopper, Paul Jakma, Patrick Mauritz, and Cyril Plisko being
    particularly active.  Gentle hectoring proved once again to be
    highly effective.

    We also are very appreciative of the DSCM developers' direct
    participation in the evaluation:  James Blackwell (Bazaar-NG),
    Nikolay Molchanov (Open TeamWare), Bryan O'Sullivan (Mercurial), and
    Nathaniel Smith (Monotone) all ably represented their respective
    efforts.

4.  References

    1.  F. van der Linden, Git DSCM requirements evaluation,
	http://www.opensolaris.org/os/community/tools/scm/git-eval.txt,
	2006.

    2.  M. Kupfer, Mercurial DSCM requirements evaluation,
	http://www.opensolaris.org/os/community/tools/scm/dcm_evaluation_mercurial/,
	2006.

    3.  S. C. Hahn, Bazaar-NG DSCM requirements evaluation,
	http://www.opensolaris.org/os/community/tools/scm/bzr-eval,
	2006.

-- 
Stephen Hahn, PhD  Solaris Kernel Development, Sun Microsystems
stephen.hahn at sun.com  http://blogs.sun.com/sch/


----- End forwarded message -----

-- 
Stephen Hahn, PhD  Solaris Kernel Development, Sun Microsystems
stephen.hahn at sun.com  http://blogs.sun.com/sch/


More information about the tools-discuss mailing list