Installing an SVN Server
What is an SVN server?
Apache™ Subversion® (SVN) is a free, open source version control system that operates according to the client/server model.
An SVN server is usually installed on a central computer and it manages the data of the SVN repository in a database. An SVN repository is simply directory tree that contains your CODESYS projects. The SVN server makes client access available to the stored data and the CODESYS projects.
The project data is available as a working copy on your workstation computer, which acts as the client. When you open your project, CODESYS SVN displays the SVN status of all objects in the object tree and provides SVN commands. Then you can use version control to continue developing your project in CODESYS.
Free documentation
Apache™ Subversion® (SVN) provides free documentation. We recommend the extensive documentation in the SVN book "red bean". In addition, there are also books available in book stores about this subject. However, you should pay attention that books correspond to the current SVN version.
For more information, see:
Version control with Subversion: http://svnbook.red-bean.com/en/1.8/
Server-relevant chapters:
Official FAQ: http://subversion.apache.org/faq.html
(recommended as a supplement)
Support resources
"Subversion Users" mailing list http://subversion.apache.org/mailing-lists.html
English-language mailing list with an extensive archive
(Check there before sending a request.)
IRC chat channel #svn http://en.wikipedia.org/wiki/Comparison_of_Subversion_clients
List of other SVN clients on the freenode network
Company support
Some companies offer commercial support for SVN. The following list is by no means complete. It in no way expresses a recommendation or even a guarantee of quality by CODESYS GmbH.
Variants of SVN servers
Several variants of SVN servers are currently available. An SVN repository can normally be enabled easily at the same time via several of the following variants. Moreover, one server installation can manage multiple SVN repositories.
Svnserve
This is the simplest variant for installing an SVN server. Access is made via the efficient
svn://
protocol. It is usually applied internally for company networks or in connection with VPN.Apache + mod_dav_svn
This is the SVN integrated into the Apache web server. Access is made via the "www protocol"
http://
or its encrypted varianthttps://
. This type of installation is frequently applied for public SVN servers or via SVN servers reached through the Internet.Svnserve + ssh
This variant uses the "secure shell" from Linux/Unix for implementing access control and encryption. This is primarily useful when the clients also run on Linux/Unix. However, it has limited capabilities for access control within a SVN repository.
Direct access to an SVN repository using the
file://
protocolThis variant is intended for testing purposes and administrator access only.
Note: We strongly advise you against using this variant by means of network sharing for shared access.
For more information, see: http://svnbook.red-bean.com/en/1.8/svn.serverconfig.overview.html
Client/Server issue
Configuration issue of SVN servers and CODESYS SVN
The current release of CODESYS SVN has issues in some mixed IPv4/IPv6 environments. The issue occurs when the host name of the SVN repository server is resolved successfully to the IPv4 and IPv6 address, but the SVN server itself (svnserve
or apache mod_svn
) accepts requests via IPV4 only. This results in unusually slow access by some of the dialogs which access the SVN repository. For example, this affects the SVN Repository Browser, Checkout, and SVN switch dialogs.
The best solution to the problem is to reconfigure the server so that it also accepts requests via IPv6. Another option is to access the SVN repository via the IPv4 address of the server and then to deactivate IPv6 on the client computer. You can also set up an alternative host name which resolves only the IPv4 address of the server.
Installing and configuring a server
Important
We recommend that you employ a productive SVN server as part of the IT infrastructure which is monitored and maintained by experts. Make sure to use fail-safe hardware that is intended for operation as a server. Update the installed software in regular intervals and protect the server from external access. Make sure that you have a functioning backup.
For CODESYS SVN as the SVN client, it does not matter which operating system the server runs on.
Select a current version (example: version 1.9.x) when installing the SVN server for the first time. There should not be any problems with an existing server of version 1.8. Avoid server versions 1.7.x and lower. We recommend that you update this because SVN developers no long offer support for this version and earlier.
For Windows servers, download the installation packages from the Internet, for example from Apache.org or VisualSVN Server. For "Apache.org", the current versions of the graphical TortoiseSVN client provide options for installing the command line tools, including "svnserve". For Linux servers, SVN packages are usually available by the distribution. That is probably the easier way.
Securing a server/client connection by authentication and certificate
You can use an encrypted connection in order not to establish the connection to the SVN server over an unsafe network. Encryption can be done by means of a standard procedure such as SSL or SSH. The server has to be configured by the administrator to do this.
You can authenticate yourself on the server by confirming the server certificate.
You can perform the client authentication (permission check) by means of the following options:
Client certificate
Passphrase
User name and password
For more information, see: Subversion Authentication