Calendar

March 2010
MTWTFSS
«Feb May »
1234567
891011121314
15161718192021
22232425262728
293031 

Polls

O que precisa melhorar neste blog?

Ver os resultados

Loading ... Loading ...

SVN –Version Control System (Part 1)

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 svn
SVNPath /path/to/repository
AuthType Basic
AuthName “Repositoy Name”
AuthUserFile /etc/subversion/passwd
</Location>

After enabling the module with the command:

a2enmod dav_svn

Restart the server:

service apache2 restart

or

/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 = read
auth-access = write
password-db = /path/to/file/passwd

Afterwards,edite the passwd file and place the user/password pair as shown bellow:

[users]
emporio = svnpassword
test = 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 start

or

/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).

1 comment to SVN –Version Control System (Part 1)

Leave a Reply

  

  

  


*

You can use these HTML tags

<a href=""title=""><abbr title=""><acronym title=""><b><blockquote cite=""><cite><code><del datetime=""><em><i><q cite=""><strike><strong>