Creation site internet pour les entreprises. Site vitrine, CMS, site e-commerce.
Administration de site internet et intégration d'applications Open Source.
Prestations de services informatiques et creation site web à Bordeaux.
Base de connaissance > How To > Subversion (SVN)
  • default color
  • blue color
  • green color
  • red color

Subversion

Envoyer Imprimer

Création d'un utilisateur SVN et du répertoire contenant les 'repositories' :

servername:~# cd /usr/share/
servername:~# mkdir svn
servername:~# cd svn/
servername:~# groupadd svn
servername:~# useradd svn -g svn
servername:~# chown -R svn:svn /usr/share/svn/
servername:~# su - svn
svn@servername:/$ svnadmin create /usr/share/svn/repository_name

Lancement du serveur svnserve :

svn@servername:/$ svnserve -d -r /usr/share/svn/

Ajout récursif des éléments non versionnés d'une copie de travail :

Positionnez vous dans le dossier (copie de travail) contenant les fichiers à ajouter :
user@servername:/$ cd /emplacement/du/dossier/
Le symbole pour les fichiers et dossiers non versionnés, retourné par svn status, est '?'. La commande suivante retourne alors la liste des fichiers qui ne sont pas gérés par svn au sein du copie de travail :
user@servername:/$ svn status | grep "^\?" | sed -e 's/? *//' | sed -e 's/ /\\ /g'
Combinée à la commande xargs, nous pouvons ajoutés à la révision les éléments de cette liste :
user@servername:/$ svn status | grep "^\?" | sed -e 's/? *//' | sed -e 's/ /\\ /g' | xargs svn add

Suppression des éléments manquants d'une copie de travail :

Après la suppression d'un composant de site internet par exemple, certains fichiers versionnés vont apparaitrent comme manquant tant qu'ils n'auront pas également été supprimés par svn.
Positionnez vous à la racine de la copie de travail :
user@servername:/$ cd /emplacement/du/dossier/
Le symbole retourné par Subversion pour les fichiers manquants est '!'. Il nous suffit d'adapter la commande précédente afin de filtrés les fichiers manquants et les effacer avec 'svn delete'.
user@servername:/$ svn status | grep "^\!" | sed -e 's/! *//' | sed -e 's/ /\\ /g' | xargs svn delete

Suppression récursive des dossiers .svn dans une copie de travail :

Contrairement à l'utilisation de l'option export de subversion, supprimmer les dossiers .svn d'une copie de travail permet d'obtenir un répertoire qui ne sera plus une copie de travail mais qui contiendra aussi les fichiers ignorés (svn ignore) et ceux qui n'ont pas encore été ajoutés.
user@servername:/$ cd /emplacement/de/la/copie/de/travail
user@servername:/$ ls -lAhR . | grep ".svn:" | sed -e 's/ /\\ /g' | cut -d ':' -f 1,1 | xargs rm -dr

Mise à jour le Vendredi, 16 Juillet 2010 02:57  

Ajouter un Commentaire


Code de sécurité
Rafraîchir