SVN Subversion: Version Control System

08 July 2009 Published in Blog

One version or revision of a product is the state where it is at a given moment in its development or modification. Version control is the management of various changes made on the elements of a product. A Version Control Systems allow us to manage different versions of each product developed and made possible customizations (eg for a specific client). In the case of software is used to track different versions of source code that are continually modified by the development team. The most used tool for this is Subversion.

Subversion is a software Version Control System that seeks to replace the popular CVS, which has several shortcomings. It is open source and is also known as svn (because this is the name of the command-line tool).


The use of Web applications is growing day by day as well as its size. This is why a project of this topic need a team of several developers with different skills in order to finish the product on time. This is why we use this tool. All files related to the project are stored in the repository which is located on a remote server. Any member of the team could make changes and send to the repository, which can then be downloaded by other members of the team.

These are some of the benefits of using this tool:

  • Multiple users can edit the same file simultaneously. Everyone can work without interruption in its local copy. To send the changes, the system will provide tools to integrate them without overwriting modifications made by another developer.
  • Associate changes to a task. Every changes sent to the repository can be associated to a particular task (eg development of a new feature, change, solving a bug, etc).
  • Roll-back to a previous version. At any time you can return to any previous version of the product.
  • Log of changes of the repository. Useful if you do not remember which files were modified in a particular task. It has a log of all changes posted and each files which were modified in them.
  • Get metric. Useful for measuring the quality and quantity of work in a unit time.
  • Restrict read / write directory. Allows you to set read and write permissions on each directory to different users. In this way, users only has access to files according to its profile and the tasks that should perform.
  • Backup. All versions of the product are hosted on a remote server. Its only necessary to backup the repository in the server to have all the versions saved.

Serfe info(at) FALUCHO 2032, S3016LDB, SANTO TOME, SANTA FE, ARGENTINA 1-305-5375397