Version 2 (modified by 16 years ago) ( diff ) | ,
---|
Subversion Repository
Boost uses Subversion to manage all of the data associated with Boost's development, including the source code to Boost, documentation for Boost libraries, and the Boost web site.
Accessing the Boost Subversion Repository
The Subversion repository can be accessed in several ways:
- Anonymous, read-only access to the Boost Subversion repository is available at http://svn.boost.org/svn/boost. To access the latest stable branch of Boost, for instance, one would check out from http://svn.boost.org/svn/boost/stable. For example, using the command-line
svn
, one might use:
svn co http://svn.boost.org/svn/boost/stable boost-stable
- Developer (read/write) access to the Boost Subversion repository is available for Boost contributors at https://svn.boost.org/svn/boost. For information about gaining developer access to the Boost Subversion repository, see below.
- The Subversion repository can be browsed online at http://svn.boost.org/trac/boost/browser.
Organization of the Boost Subversion Repository
The Boost Subversion repository is organized into several top-level directories, reflecting various stages of Boost library development and subtasks within the Boost community. We have the following top-level directories:
stable
: Contains the latest "stable" version of Boost.devel
: Contains the latest "development" version of Boost. This branch will typically be more volatile than thestable
branc.sandbox
: Contains libraries and tools that are under active development and have not yet been reviewed or accepted into Boost. See below for information about organization of the sandbox.website
: Contains the upcoming Boost web site, which is not yet live.branches
: Contains various branches of Boost libraries, typically for non-trivial changes to Boost libraries that need to be made separately from thedevel
branch.tags
: Contains "tags" that mark certain points in the source tree, such as particular Boost releases.sandbox-branches
: Similar tobranches
, but for code that resides in thesandbox
.sandbox-tags
: Similar totags, but for code that resides in the
sandbox`.
Developer Access to Subversion
Boost contributors are given read/write access to the Boost Subversion repository when their Boost tasks warrant. There are three different areas of the Boost Subversion repository that contributors may need access to:
- The main Boost development areas, including the
devel
andstable
directories. This level of access is typically restricted to authors and maintainers of Boost libraries. - The
sandbox
area, which is used to develop new libraries and tools that have not yet come up for Boost review. This level of access is available to contributors who want to develop future Boost libraries and collaborate with other Boost contributors. - The web site, which stores the Boost web site.
To gain developer access to the Boost Subversion repository, please send a email to the Boost Moderators at boost-owner -at- lists.boost.org
stating why you need write access to the Boost Subversion repository, and which parts of the repository--boost itself, the sandbox, or the web site--you need access to. Once a moderator has approved you for access to the Subversion repository, you will receive an invitation via e-mail that asks you to provide a user name and a password, which will be used to access both the Boost Subversion repository and the Boost Trac. You will also be asked to grant permission for your past and future Boost contributions to be licensed under the Boost Software License version 1.0 and future versions: your permission is required to work with the Boost Subversion repository, so that we can ensure that Boost code is licensed under the Boost Software License. Once you have signed in, you should notify the moderator of your username, and he will complete the process.
Once you have write access to Subversion, you may want to "upgrade" your anonymous checkouts to developer checkouts. You can do so with the svn switch command. For example, if boost-devel
is a checkout of Boost's development branch, change into that directory and execute:
svn switch https://svn.boost.org/svn/boost/devel
Sandbox Organization
The Boost Sandbox (housed in the sandbox
subdirectory of the Subversion repository) contains unreviewed code that is intended to eventually become a part of the Boost libraries. Because there are typically many projects in the sandbox at any one time (in various stages of development), the sandbox should be organized by project. Each project should have its own subdirectory inside sandbox
. For example, a new XML library would reside in sandbox/xml
. Inside that project-specific subdirectory, the project should be organized like any other Boost library, with a boost
subdirectory (for headers) and libs
subdirectory (for source code, build files, and documentation). Our hypothetical XML project would likely have the following structure:
sandbox/xml/
boost/ - Contains xml.hpp, which includes all of the headers from xml/
xml/ - Contains Boost.XML headers
libs/
xml/
build/ - Contains Jamfiles to build Boost.XML
doc/ - Contains documentation for Boost.XML
src/ - Contains Boost.XML compiled source files
Many existing projects in the sandbox do not follow this structure, opting to place headers in sandbox/boost
and supporting files in sandbox/libs
. We encourage developers to migrate these projects to the project-centric organizational structure.