Version control repository

From Second Life Wiki
Revision as of 22:11, 2 February 2007 by Rob Linden (talk | contribs)
Jump to navigation Jump to search

Linden Lab doesn't yet provide live access to a central revision control repository for the viewer source code. However, this is being considered.

Request for proposals

Below is a request for proposals for public Subversion repository hosting.

Requirements:

  • High capacity, high availability anonymous read access, with corresponding SLA
  • Direct user management by Linden Lab (self-service add/remove/disable accounts)
  • Self-service password changing for all individual account holders
  • Minimum 40GB capacity
  • Ability to completely delete rogue revisions within one business day
  • Nightly backups
  • Real-time read access to all raw Subversion data files via ssh/sftp or other secure

Additional desirable features:

  • Integration with outside authentication system, either Kerberos or custom XML-RPC based system.
    • If relying on external authentication, user management still needed to provide authorization management

Proposals being accepted through February 9, 2007.

Please address responses to Rob Lanphier at Linden Lab

Choices considered

  • Subversion - default choice, and the obvious "safe" choice. Pros: familiar to us, used by a lot of people Cons: very centralized model; need to give people access to facilitate effective collaboration
  • Mercurial - bleeding edge choice. Pros: Distributed model makes it easier for anyone to distribute patchsets off of the main codebase without needing a central host. Much easier to maintain a private branch. Cons: more complicated model, less familiar, much newer system
  • svk - a decentralized revision control system built on top of svn.
  • Externally managed repository, via 3rd party site, such as sourceforge.net, Berlios.de, or similar.

Other systems can be found here: http://en.wikipedia.org/wiki/Comparison_of_revision_control_software

See a discussion of this issue in the "Version control repository" discussion on SLDev as well as the talk page for this page