SVN Clients

subforge exposes every repository over HTTP using the standard SVN protocol. Any SVN client that supports http:// or https:// URLs will work — TortoiseSVN, SmartSVN, the svn command-line tool, and IDE integrations.

Finding your checkout URL

Open the repo's Code tab and click the Clone button. The URL follows this pattern:

https://subforge.sh/svn/<workspace>/<repo>

Use this URL for all SVN operations — checkout, update, commit, switch, etc.

Checking out

svn checkout https://subforge.sh/svn/<workspace>/<repo> my-working-copy

You will be prompted for credentials the first time. Use your subforge username and password. Most clients offer to save the credentials so you're not asked again.

Authentication

Common operations

# Update working copy to latest revision
svn update

# Check status of local changes
svn status

# Add a new file
svn add newfile.txt

# Commit changes
svn commit -m "Your commit message"

# Check revision log
svn log --limit 10

# Show diff of local changes
svn diff

Branches and tags

New repos are initialised with /trunk, /branches, and /tags directories. SVN branches and tags are just directory copies — use svn copy to create them:

# Create a branch
svn copy https://subforge.sh/svn/<workspace>/<repo>/trunk \
         https://subforge.sh/svn/<workspace>/<repo>/branches/my-feature \
         -m "Branch for my-feature"

# Switch working copy to the branch
svn switch https://subforge.sh/svn/<workspace>/<repo>/branches/my-feature

Relocating an existing working copy

If a repo was imported with its UUID preserved (shown by a Relocate button on the Code tab), you can point an existing working copy at subforge without a fresh checkout:

svn relocate https://subforge.sh/svn/<workspace>/<repo>

Run this from inside the working copy root. If the UUID was not preserved during import, you need a fresh svn checkout instead.

Troubleshooting

Permission denied / 403 Forbidden

Your account doesn't have access to the repo. Ask the repo owner to add you as a collaborator, or check that you're using the correct username in your SVN client.

Authentication fails even with the right password

Try clearing your SVN client's cached credentials. In the command-line client this is typically in ~/.subversion/auth/. In TortoiseSVN, go to Settings → Saved Data → Authentication data → Clear.

Commit rejected with "read-only" error

The repo may be archived, a synced mirror (permanent read-only — revisions are polled in from an upstream URL), or you may have read-only collaborator access. Check the web UI for a banner explaining which.