Version Control
A version control system (…),is a software which enables to manage different development versions of a given document. These systems are commonly used in software development to control different views– historical and development – from source-code and also from documentation.
This type of system is present in many companies and technology institutions aswell as software houses. It is also quite common in open source software development. It is useful,in many ways,both for small and simple personal projects as for big comercial projects.
TRANSLATED FROM:SISTEMA DE CONTROLE DE VERSÃO. In:WIKIPÉDIA,a enciclopédia livre. Flórida:Wikimedia Foundation,2010.
Available at:<http://pt.wikipedia.org/w/index.php?title=Sistema_de_controle_de_vers%C3%A3o&oldid=19261507>. Last access in:16 mar. 2010.
In case you are not very familiar with the concept of version control systems,I strongly recommend you to read Wikipedia’s article about it (This is the link for the English version). The article is quite complete and well explained. If you already know about it or prefer the rather short version:Version Control allows that different people to modify or work with a given file,all the modifications to the file will be registered and can be compared to. It will give an historic of all alterations and it is possible to revert a file to its last version (or any other if you’d like). There are many other functions,but they are beyond the scope of this article.
Subversion
Subversion (or SVN) is a free Open Source software for version control. It can be installed in many operating systems as a server and as a client. For server installs I recomment Linux servers.
Linux server instalation:
In case you’re using a Debian/Ubuntu based distribution,simply:
sudo apt-get install subversion libapache2-svn
After package instalation,let’s criate the repository(ies):
svnadmin create /usr/example/svn/repository/project1
After that we can import the existing project’s files into the repository (optional,since we can place them from the client later).
svn import /path/to/project1 file:///usr/example/svn/repository/project1 -m “initial import”
After the repository creation,let’s configure the server.
To install via http protocol in apache (note:I assume you already have apache up and running),edit /etc/apache2/mods-available/dav_svn.conf,at least the following lines must be configured:
<Location /svn>DAV svnSVNPath /path/to/repositoryAuthType BasicAuthName “Repositoy Name”AuthUserFile /etc/subversion/passwd</Location>
After enabling the module with the command:
a2enmod dav_svn
Restart the server:
service apache2 restartor
/etc/init.d/apache2 restart
If you don’t want to install svn through Apache you can install it with the svn protocol,for that you must edit the configuration file svnserve.conf in /usr/example/svn/repository/project1/conf/ (Attention: Options shouldn’t have spaces or tabs at the begginning of lines,otherwise the file won’t be read properly and errors may be presented).
[general]anon-access = readauth-access = writepassword-db = /path/to/file/passwd
Afterwards,edite the passwd file and place the user/password pair as shown bellow:
[users]emporio = svnpasswordtest = test1234
Then,go to /etc/init.d,edit the script svnserve and place the path to the repository:
DAEMON_ARGS=”-d -r /usr/example/svn/repository”
Now just start the service and voilá ! Server’s up and running…
service svnserve startor
/etc/init.d/svnserve start
If your box doesn’t have the svnserve script,it’s available here.
These steps cover the basic instalation of an SVN server through the http:// and svn:// methods,which send authentication data in open text. It’s possible to obtain greater security using the https:// and svn+ssh:// protocols.
Read the next part of this article in SVN –Version Control System (Part 2).


Portuguese
English
[...] –Sistema de Controle de Versão (Parte 2) No artigo anterior efetuei uma breve explicação sobre o SVN e Sistemas de Controle de Versão (SCV). Neste artigo [...]
Like or Dislike:
0
0