The Teamwork Server can be configured to use the SVN repository as a back-end. In this mode, the Teamwork Server retrieves and commits project versions into the SVN repository.
To use this repository type, the SVN client executable must be correctly installed on the computer where the Server runs. The Teamwork Server must be able to launch the SVN executable; the SVN executable must be accessible on the system's PATH and have appropriate permissions to execute. Supported SVN client versions are 1.4, 1.5, 1.6, 1.7, and 1.8.
All SVN repository access methods are supported:
- local access through file:// type URLs
- remote repository access through svn://, svn+ssh:// type URLs
- remote repository access through HTTP and WebDAV - http://, https:// type URLs
Passwords Based Logins
Only password based logins are supported (public/private key logins for svn+ssh:// and https:// access methods are currently not available).
Teamwork Server, with the SVN repository, supports pass-through authentication into the SVN. A pass-through authentication is used for all access methods, except the file:// method. In this case, the Teamwork Server only maintains a list of users but does not store their passwords. When a user tries to log on the Teamwork Server, the server does not verify the password. It logs on the SVN with the typed user name and password. The server performs all project update/commit actions on the repository on the user’s request. Thus, if you explore the repository with SVN tools, you will see that all the changes are attributed to the correct user.
For file:// type URLs, the pass-through authentication is not possible. Teamwork Server uses the same built-in authentication method as the Native repository type, maintaining the users list with their encrypted passwords in a repository file. The server authenticates users using this file. The server performs actions in a repository on the user’s request. If the server is started as the NT service, all actions in the repository will be attributed to the Local System user (unless a different user is specified in service settings). If the server is started manually, all actions in the repository will be attributed to the user who started the server. This difference can only be seen when examining the SVN repository with SVN native tools. When looking at the project versions with the MagicDraw client, all commit actions will be attributed to the uses who performed them.
When a project file is committed into the SVN repository, the server stores auxiliary information about the project in an additional directory. For example, if you commit the MyProject.mdzip project into the server, the auxiliary information will be stored in the MyProject_files directory nearby. Do not delete this directory from the repository.
For the best performance, the Teamwork Server and SVN repository should have a good link between them. Optimally, Teamwork Server could run on the machine where the repository is installed.