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.
Features
SourceForge.net provides the following features in its Subversion offering:
- All standard features of Subversion 1.5.x are supported.
- Developer (read-write) and anonymous (read-only) access are provided via HTTPS.
- Several Subversion clients are supported, including:
- TortoiseSVN (MS Windows).
- The official SVN client (MS Windows, Mac OS X, Linux, BSD).
- 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.
- Administrators may manage the repository at a filesystem level using our Interactive shell service.
- Repository backups and mirroring may be performed using rsync.
- Commit and checkout events are counted in the statistics system.
- Service usage is not restricted by quotas.
Management
Subversion service may be enabled for your project as follows:
- Login as a project administrator and go to the Develop page for your project.
- Under the Project Menu pulldown menu, click Feature Settings.
- Under the Available Features tab, check the Enabled checkbox. 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. Administrators may also directly modify the repository contents (such as importing an existing repository or permanently purging a file from the repository).
Administrators may also manually manipulate their repository via the adminrepo tool, and do their own dump / filter / restore work on their Subversion repositories via svnadmin.
Access
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:
https://PROJECTNAME.svn.sourceforge.net/svnroot/PROJECTNAME
Authentication
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.
Backups
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/* .