Translated using DeepL

Machine-translated page for increased accessibility for English questioners.

Starting a new repository?

Use the more modern Git versioning system instead of the outdated SVN. We recommend that you create your repository on the faculty GitLab. This offers Issues, Milestones and Wiki in addition to a more convenient web interface. See documentation.

For FI students, the Subversion version control system is available. Users can set up a repository using the FI Faculty Administration application.

Row client

On Unix machines, the subversion module is available (or subversion-X.Y.Z with the version number of the currently installed version). The basic repository content management command is svn. But first create a typical repository structure with the following directories, e.g. in /tmp/project/:

will contain the current working copy of the project
is for storing consistent, significant versions of the project
is for storing different branches of the project

Save your entire project in the trunk directory and then call svn to import the entire structure into the repository:

$ svn import /tmp/project/${REPOSITORY_NAME}
Adding         project/trunk
Adding         project/branches
Adding         project/tags

To start working with the repository, first get an up-to-date working copy from the server (i.e. important because of the metadata that is added to each directory):

$ svn checkout${REPOSITORY_NAME} ~/project/
A    /home/xpepik/project/trunk
A    /home/xpepik/project/branches
A    /home/xpepik/project/tags
Checked out revision 1.

To continue working with the repository, svn has the following parameters:

  • add
  • delete
  • copy
  • move
  • update

Example: we create a new file and assign it under version control:

$ cd ~/project/trunk/
$ vim Makefile
$ svn add Makefile

Changes to the working copy should be saved to north:

$ svn commit
Adding         trunk/Makefile
Transmitting file data .
Committed revision 2.

Web client

A simple web client is available at the same address as the full network name of the repository:${REPOSITORY_NAME}