This guide presents the operation, configuration, and usage of the Subversion (SVN) service integrated into Tuleap. We will focus on the features provided by Tuleap to manage your source code repositories.
Prerequisite: getting familiar with Subversion
Learning Subversion concepts
Before using the tools, understanding how SVN works is essential.
The book "Version Control with Subversion" (The "SVN Book"), freely accessible online, is the most comprehensive resource for learning how SVN works, from the basics to the most advanced concepts such as branches and merges.
Choosing an SVN client
An SVN client is the software you will install on your computer to communicate with the repository hosted on Tuleap.
TortoiseSVN: The most popular client for Windows. It integrates directly into the file explorer, allowing you to perform all SVN operations (commit, update, etc.) via a simple right-click on your files.
Command line (
svnclient): The most direct and universal method. The client can be installed via your distribution's package manager.Additionally, most modern Integrated Development Environments (IDEs) include support for Subversion, either natively or through extensions. Check the installation options for your favorite IDE.
Prerequisites
The "SVN" service must be enabled in the administration of your Tuleap instance and in your project administration.
You must have a Subversion client (
svn) installed on your workstation.
Accessing the SVN service

The SVN service home page lists all existing repositories in the project. Each repository card displays the latest commit information and provides quick access to administration (if you have the required permissions). You can also create new SVN repositories from this page.
Creating an SVN repository

From the SVN service home page, click "Create a new SVN repository".
Enter a unique name for the repository.
Confirm the creation.
The repository is created with an initial directory structure (trunk, branches, tags) and the project's default permissions.
Info
You must be an SVN administrator of the project to create a repository. By default, project administrators have this role.
Browsing a repository
.png?sv=2026-02-06&spr=https&st=2026-06-01T05%3A09%3A21Z&se=2026-06-01T05%3A24%3A21Z&sr=c&sp=r&sig=IVGB8AZz8r3TIUrKT5J%2Fo6IJaXn8P%2FQ71qlTzzrvVbQ%3D)
The web interface allows you to explore the content of an SVN repository without needing a Subversion client installed. You can:
Browse the directory and file tree.
View the content of a file.
View the revision history of a file.
Compare two revisions of the same file (diff).
View line-by-line annotation of a file (blame) to see who modified each line and when.
Find the repository root path and the checkout command.
Info
Accessing the web browser requires authentication. Only users with read permissions on the repository can view it.
Authentication
Two authentication methods are available for operations requiring authentication (e.g., commit, checkout on a private project):
Password: You can use your Tuleap credentials (when you are not authenticating via OIDC).
Personal Access Key: You can use a Personal Access Key with the SVN scope instead of your password. This is the recommended method for scripts and automated tools.
Settings and administration
Administration functions are accessible via the "Settings" button on the SVN service home page or when browsing a repository.
Info
You must be an SVN administrator of the project to access the settings. Project administrators automatically have this role. Other user groups can be authorized through the project permissions configuration.
Email notifications

Tuleap can send an email for each commit in the repository. You can configure multiple notifications, each with:
Monitored path: the SVN path on which notifications are sent (e.g.,
/trunk,/branches/v2).Recipients: users, user groups, or email addresses.
A customizable subject header can be defined per repository to make sorting in your inbox easier.
The email contains the commit message, author, list of impacted files, and links to the diff in the Tuleap web interface.
Access control

Default permissions
Default SVN access permissions depend on the project status (public or private) and user type:
User type | Public project | Private project |
|---|---|---|
Anonymous users | No access | No access |
Registered users | Read-only | No access |
Project members | Read + Write | Read + Write |
Project administrators | Read + Write | Read + Write |
Info
If "restricted users" mode is enabled on the platform, only project members have access by default. All source code access is logged and can be viewed in the Access Logs.
Custom permissions
As an SVN administrator, you can redefine access permissions by editing the repository's access control file. The syntax follows the standard SVN format:
[chemin]
nom = permissionWhere:
cheminis the relative path in the repository.nomis a Tuleap login, a group name preceded by@, or*for any registered user.permissionisr(read-only),rw(read + write), or empty (access denied).
Examples:
Restrict write access to a specific team:
[/]
* =
@members = r
@staff = rwRestrict access to a subfolder:
[/secret]
@members =
@staff = rwWarning
Permissions are cumulative and the last definition takes precedence. It is recommended to use only Tuleap user groups to define permissions.
Access file version history
Each modification of the access control file is versioned. You can view the version history and revert to a previous version via the version selector in the editing interface. This feature allows you to quickly fix a configuration error without risk.
Info
Default permissions are automatically generated and cannot be modified. You edit additional permissions that are added below them. For more details on the syntax, see the Subversion Book - Path-Based Authorization.
Immutable tags

Immutable tags protect certain repository paths from modifications. Once a file is created in an immutable path, it cannot be modified or deleted, but new files can be added.
Example: with an immutable tag on /tags:
Action | Allowed? |
|---|---|
Modify | No |
Delete | No |
Add | Yes |
Global whitelist
You can define paths in the global whitelist to allow adding content in subfolders of an immutable path.
Example: with an immutable tag on /tags and a whitelist entry for /tags/module*:
Action | Allowed? |
|---|---|
Add | Yes |
Add | Yes |
Modify | No |
Delete | No |
Commit rules

Each SVN repository can be configured with rules applied at commit time:
Mandatory reference: if enabled, every commit must contain a reference to a Tuleap Artifact (e.g.,
art #123). Commits without a reference are rejected.Allow commit message changes: if enabled, the commit message can be modified after the fact via
svn propset --revprop. By default, this option is disabled to preserve history integrity.
Info
These rules are configurable per repository, in the "Settings" tab of the SVN repository, or via the REST API.
Maximum file size
The platform administrator can define a maximum individual file size (in megabytes) applicable to all SVN repositories. If a commit contains a file exceeding this limit, it is automatically rejected. Existing files that exceed the limit can no longer be modified, only deleted.
Deleting and restoring a repository

As an SVN administrator, you can delete a repository from its settings. The repository enters a "pending deletion" state, which allows you to restore it from the administration section before it is permanently deleted.
Cross-references with Artifacts
The SVN integration in Tuleap provides a bidirectional cross-reference mechanism between SVN commits and Artifacts:
In an SVN commit message, use
art #123,bug #456,task #789, etc. to create a link to an Artifact. The reference is automatically transformed into a clickable link.In an Artifact, use
revision #YYYorrev #YYYto create a link to an SVN commit.
Tip
It is considered best practice to always reference an Artifact in commit messages, and conversely, to mention revision numbers in Artifact follow-up comments.