Subversion

De wikilivois
Sauter à la navigation Sauter à la recherche


Constr12.gif Cet article est en construction. N'hésitez pas à y apporter votre contribution.

http://subversion.tigris.org

http://svnbook.red-bean.com/nightly/en/index.html

http://gentoo-wiki.com/Subversion

Linuxmag 85

Installation

Package Gentoo: subversion

Editer /etc/conf.d/svnserve

  /etc/conf.d/svnserve
# Options for svnserve
SVNSERVE_OPTS="--root=/var/www/svn.livois.com"

# User and group as which to run svnserve
#SVNSERVE_USER="apache"
#SVNSERVE_GROUP="apache"


#/etc/init.d/svnserve start

Noter que subversion utilise le port tcp 3690

Configuration

Créer un repository

#mkdir -p /var/www/svn.livois.com/monys


#svnadmin create /var/www/svn.livois.com/monys

Here is a brief description of all of the items you see in your new repository directory:


  • conf - A directory containing repository configuration files.
  • dav - A directory provided to Apache and mod_dav_svn for their private housekeeping data.
  • db - Where all of your versioned data resides. This directory is either a Berkeley DB environment (full of DB tables and other things), or is an FSFS environment containing revision files.
  • format - A file whose contents are a single integer value that dictates the version number of the repository layout.
  • hooks - A directory full of hook script templates (and hook scripts themselves, once you've installed some).
  • locks - A directory for Subversion's repository locking data, used for tracking accessors to the repository.
  • README.txt - A file which merely informs its readers that they are looking at a Subversion repository.
#svn import /usr/local/monys file:///usr/local/svn/monys 
#svn list file:///var/www/svn.livois.com/monys


Configurer le mode webdav

http://gentoo-wiki.com/HOWTO_Apache2_with_subversion_SVN_and_DAV

http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html

  /etc/conf.d/apache
APACHE2_OPTS="$APACHE2_OPTS -D DAV -D DAV_FS -D SVN"


Commenter les lignes de 47_mod_dav_svn.conf

  /etc/apache2/modules.d/47_mod_dav_svn.conf
        #<Location /svn>
                #DAV svn
                #SVNPath /var/svn/repos
                #AuthType Basic
                #AuthName "Subversion repository"
                #AuthUserFile /var/svn/conf/svnusers
                #Require valid-user
        #</Location>


  /etc/apache2/vhosts.d/svn.livois.com.conf
<IfModule mod_dav_svn.c>
<Location /svn>
  DAV svn
  SVNParentPath /var/www/svn.livois.com/
  #SVNPath /var/www/svn.livois.com/monys
</Location>
</IfModule>


Avec l'option SVNParentPath /var/www/svn.livois.com/, vérifier le fonctionnement avec la commande

#svn list http://svn.livois.com/svn/monys

Avec l'option SVNPath, la vérification se fait par la commande:

#svn list http://svn.livois.com/svn/

Utilisation

Créer sa base svn locale

http://svnbook.red-bean.com/nightly/en/svn.tour.html

#cd localsvndir
#svn checkout file:///var/www/svn.livois.com/monys/

ou si le répertoire est accessible via webdav :

#svn checkout http://svn.livois.com/monys

ou si les firewalls autorisent l'utiliation du protocole svn:

#svn checkout svn://svn.livois.com/monys

Gérer les droits

Les fichiers de configuration se trouvent dans /var/www/svn.livois.com/conf: Trois fichiers servent à la configuration des droits :

  • authz
  • passwd
  • svnserve.conf

Le cycle de travail

http://svnbook.red-bean.com/nightly/en/svn.tour.cycle.html

Mettre à jour sa copie de travail

chris@home:~/svn/monys$ svn update
U    mail/dev/TODO
Actualisé à la révision 2.

Faire des changements

#svn add foo


#svn delete foo


#svn move foo


#svn copy foo  

Vérifier les changements

#svn status


#svn diff


#svn revert

Envoyer ses changements (commit)

#svn commit

Gestion des conflits

http://svnbook.red-bean.com/nightly/en/svn.tour.cycle.html

Réserver un fichier (lock)

http://svnbook.red-bean.com/nightly/en/svn.advanced.locking.html


Clients pour Windows

RapidSVN - http://www.rapidsvn.org/

TortoiseSVN - http://tortoisesvn.net/

Administration

Sauvegarde

La sauvegarde :

#svnadmin dump mon_referentiel > mon_fichier_de_sauvegarde

La restauration:

#svnadmin load mon_nouveau_referentiel < mon_fichier_de_sauvegarde



Copyright

© 2007 Christophe de Livois

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale. Pour plus d'informations consulter le site de l'APRIL.