UC3M

Telematic/Audiovisual Syst./Communication Syst. Engineering

Systems Architecture

September 2017 - January 2018

Chapter 15.  The version control system Subversion

Subversion is a version control system, that is, an application to store and share among several users multiple copies of a set of files and folders. In order to use such tool two programs need to be installed.

The first of them is the remote server that maintains a central copy and executes in a computer that you need to connect through the net. The second program is the client and is executed in your computer. It connects with the remote repository and exchanges files in both directions, bringing new versions of the files from the repository to your local folder, and sending new file versions from your computer to the central repository.

Open a terminal window in your computer and execute the command svn help, a message similar to the one that appears in the following figure is shown.

The client program is invoked by its name (svn) followed by the action that wants to be executed and the location of the common repository used to perform the operation.

15.1.  Connecting with the remote repository

Initialization issues. This tutorial asumes that the user has an account in an SVN server (e.g. the free hosting offered by riouxsvn.com). The way this account is created depends on the typology of the server selected. Therefore, the tutorial asumes that the user has the following three elements necessary to access the repository:

  • YOUR_ID, used to to access the repository. Sugestion: A good choice is to use your University NIA as a login identifier
  • TU_PASSWORD: the key to access the repository.
  • An REPOSITORY_URL similar to: https:servername.com/asng_2027 used to indentify the repository. As in the previous case, you need to create a new reposority in the server to access this url.

The most frequent operations are two: obtain the latest version of the files from the remote repository, and send your modified files to be stored in the remote repository. But before executing these commands, we may list the content of the remote repository using the client program with the order list in the following way:

svn --username [YOUR_ID] list [REPOSITORY_URL]

If this command does not execute correctly, you must review your network connectivity, and verify that your user name/key and svn url repository, checking that the three are properly checked.

To avoid the step of writing the message in the editor, you can save time writing the message when executing the commit command, as follows:

svn --username [YOUR_ID] commit -m "Any message"