1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Note: This documentation is written for the Classic SourceForge system. The documentation for SVN on the SourceForge 2.0 Beta system is available here.

Not sure if you have a Classic or Beta project? See this guide.

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.

Modern SCM facilities

Here's a nice writeup of why you should consider using a Distributed Version Control System (DVCS), and a comparison of the major DVCSs: http://www.infoq.com/articles/dvcs-guide

Features

SourceForge.net provides the following features in its Subversion offering:

Management

Subversion service is enabled by default for all new projects. However, if you have an older project, you can enable subversion for your project as follows:

  1. Login as a project administrator and go to the Develop page for your project.
  2. Under the Project Admin dropdown menu, click Feature Settings.
  3. 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.

Server Certificate Verification Failed

Subversion users may occasionally produce an error indicating that the SSL certificate issuer isn't trusted, giving you an option to accept the certificate:

Error validating server certificate for 'https://fooproject.svn.sourceforge.net:443':
- The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
Certificate information:
- Hostname: *.svn.sourceforge.net
- Valid: from Tue, 09 Oct 2007 13:15:07 GMT until Mon, 08 Dec 2008 14:15:07 GMT
- Issuer: Equifax Secure Certificate Authority, Equifax, US
- Fingerprint: fb:75:6c:40:58:ae:21:8c:63:dd:1b:7b:6a:7d:bb:8c:74:36:e7:8a
(R)eject, accept (t)emporarily or accept (p)ermanently? p

This typically happens during your first Subversion operation against our servers or when we replace the SSL certificate with a new one.

When you receive this error, we encourage you to validate that the server is the correct server by putting your checkout URL into a trusted web browser (i.e. https://PROJECTNAME.svn.sourceforge.net/svnroot/PROJECTNAME).

You may then check to make sure your browser accepts the certificate. If it does, you can trust the server much like you would any other HTTPS site, like banks, etc.

Once validated you should go back to your Subversion request and tell the client to permanently store the SSL certificate locally so you won't be prompted again until we update our certificate next.

pre-revprop-change

pre-revprop-change is enabled on the Subversion repositories.

To pull in a remote svn repository, issue these commands on your local machine:

$ svnsync initialize DEST_URL SOURCE_URL
$ svnsync synchronize DEST_URL

You can run the second command in a cronjob on your local machine and it will pull in any changes. If you run the cron hourly, it may take up to an hour for a new commit to be reflected in your SF mirrored 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/* .

Getting Help