-
-
Notifications
You must be signed in to change notification settings - Fork 320
DVCSMigration
On November 21th, 2011 SCons codebase officially migrated from SVN to Mercurial.
The release team decided on 3 August 2010 to go ahead and migrate SCons development to Mercurial. The goal is to make the transition shortly after 2.1 is released, which by the current Roadmap is scheduled for October 2010.
This page and its sub-pages are to record opinions and discussion, as well as final decisions, leading up to the transition. Open-ended discussion and exploratory questions should be carried out on the [email protected] mailing list. Record things here if they represent some conclusion or other fact that affects the transition, or if they represent a significant dissenting opinion that should be recorded for posterity (e.g. to record an alternate solution if some aspect hits a snag).
Underlying assumption: at this point picking a reasonable direction and going with it will be more productive than continuing to dither while trying to decide on the "best" solution. With that in mind:
Mercurial won out over Git because Windows support is still not a first-class citizen in the Git world. Although msysgit
reportedly works well enough for "normal" use, it apparently still has problems with some workflows. Also, Mercurial is written and extensible in python, as is SCons.
Mercurial won out over Bazaar because two of the SCons development team have experience with it, and none have experience with Bazaar. Given that other key factors (multi-platform support, Python extensibility) were roughly equivalent and Bazaar didn't seem to have a "killer feature" that made it clearly superior for our likely purposes, the shallower learning curve of prior exposure gives Mercurial the nod as a reasonable choice.
We are planning to use the same branching model as Mercurial themselves, with main development on the trunk and long-lived branches for releases. Mercurial's documentation for this is at http://mercurial.selenic.com/wiki/StandardBranching.
Users will be able to clone the repository and submit pull requests for patches.
Transition planning (enumerating specific tasks) is being discussed at the DVCSMigration/TaskList sub-page.
We have decided to host SCons at bitbucket, at https://bitbucket.org/scons. Both bitbucket and Google Code seemed good enough, and some people already had repos at bitbucket.
The decision about where to host development is documented at the DVCSMigration/HostingSites sub-page.