|Version 17 (modified by moorman, 5 years ago)|
What is Subversion?
Subversion is a Source Code Management (SCM), a tool for software developers which supports collaborative development of software within a team, and the tracking of changes to software source code over time.
Subversion is used by developers, and advanced users who need the very latest changes to the software (before releases occur). Software users generally do not need Subversion; typically they will download official file releases made available by the project instead.
Developers should familiarize themselves with Subversion by reading Version Control with Subversion.
- All standard features of Subversion 1.5.x are supported (except revprop modification).
- Developer (read-write) and anonymous (read-only) access are provided via HTTPS.
- Several Subversion clients are supported, including:
- Repositories may be viewed via web browser using ViewVC.
- Existing repositories may be imported?, preserving history.
- Repository access may be granted or revoked from a developer using the Project Admin interface?.
- A versatile set of hook scripts is supported, including:
- svnnotify for email-based commit notifications.
- check-case-insensitive, to ensure filenames are nonconflicting for a case insensitive platform (e.g. MS Windows).
- check-mime-type, to confirm the MIME type property is set appropriately after files are added.
- ciabot_svn for integration with the CIA.vc activity tracking service.
- Repository backups and mirroring may be performed using rsync.
- Commit and checkout events are counted in the statistics system.
Subversion service may be enabled for your project as follows:
- Login as a project administrator and go to the Project Summary page for your project.
- Select the Subversion option under the Admin menu.
- Under the "Enable Subversion" heading, check the "The following box should be checked to enable Subversion" checkbox and click the Update button. Your repository will be created within a few minutes.
Once Subversion has been enabled, you will need to grant access? before the repository may be written to.
The standard way to modify the contents of your repository is using a Subversion client as detailed in Version Control with Subversion.
Under some circumstances it is necessary to manage your data more directly. The svnadmin command may be used to perform other administrative functions on the repository. SourceForge.net provides an interface for importing an existing repository? without losing history. If content needs to be removed from the repository completely, the repository must be dumped and filtered, then be reimported.
To access a Subversion repository, configure your Subversion client as follows (replace PROJECTNAME with the UNIX group name of the project):
- Hostname: PROJECTNAME.svn.sourceforge.net
- Port: 443
- Protocol: HTTPS
- Repository Path: /svnroot/PROJECTNAME
For clients that use a URL string:
No username and password will be requested when performing read operations.
When performing write operations, you will be prompted for your SourceForge.net username and password. To perform write operations, your project administrator must have granted you write access to the repository?.
SourceForge.net performs routine backups for all of our servers and will restore from these backups in the event of catastrophic server failure. We encourage projects to make their own backups of Subversion data as that data restore can be performed by the project in the event of accidental data destruction by a member of the project team.
Backups of a Subversion repository may be made using rsync.
Example (replace PROJECTNAME with the UNIX group name of your project):
rsync -av PROJECTNAME.svn.sourceforge.net::svn/PROJECTNAME/* .