Centre de Ressources Informatiques Université Paul Verlaine - Metz Ile du Saulcy BP 80794 57012 Metz Cedex 1
Accès rapide
Avoir un compte
Messagerie
Wifi 
31 : 8 [CriNET] FERME perturbations internet
27 : 8 [CriNET] INFO Coupure téléphone
17 : 8 [CriNET] FERME Coupure Internet
16 : 8 [CriNET] INFO Coupure Internet
S'abonner au flux RSS
Mises à jour du site de l'UPV-M
Metzuniversité : journal trimestriel de l'UPV-M
Cours de langues étrangères pour adultes
Le service formation continue de l'UFR Lettres & langues ...
Les sciences sur la place 2010
Mardi 14 septembre 2010
Monsieur Namupot Mas MUMBAL IKIE est autorisé à soutenir ...
Tickets CRINet
2010082700INFO
Coupure téléphone
2010082701FERME
perturbations internet
2010081600INFO
Coupure Internet
2010080200FERME
Coupure Internet

Utilisation de subversion / svn


Pour les développeurs


apt-get install subversion

Consulter par le web  https://svn.univ-metz.fr
les projets commençant par cri_ sont réservés aux membres du groupe ldap crium

L'administrateur doit créer le projet, préciser si l'accès en lecture est public ou privé.
Par défaut, 3 dossiers sont créés :
trunk/ pour le code de travail
branches/ pour déployer de nouvelles branches de travail / test
tags/ pour identifier du code distribué

Lorsque le projet est créé par l'admin
$ cd mon_rep_de_code

$ svn import https://svn.univ-metz.fr/cri/nom_projet/trunk -m "Initial Import"

dans un nouveau dossier de travail

$ svn co https://svn.univ-metz.fr/cri/nom_projet/trunk (checkout)
$ cd trunk

Etat du projet

pour ses développement
$ svn status
$ svn diff
pour les développements sur le dépôt
$ svn info
$ svn update

Modification courantes


s'il faut ajouter / supprimer / renommer un fichier

$ svn add newfile.pl
$ svn del newfile.pl
$ svn mv  newfile.pl

puis

$ svn ci (commit)
vi s'ouvre pour mettre une description

Tags / branches


lorsqu'une release est faites on peut la taguer
$ svn copy https://svn.univ-metz.fr/pub/authcas/trunk
     https://svn.univ-metz.fr/pub/authcas/tags/0.18.3 -m "0.18.3 release"

en cas d'erreur on peut deleter ce tag
$ svn delete https://svn.univ-metz.fr/pub/authcas/tags/0.18.3
et recommencer

On peut ainsi récupérer une version fonctionelle avec

$ svn co https://svn.univ-metz.fr/pub/authcas/tags/0.18.3
ou mieux

$ svn export https://svn.univ-metz.fr/pub/authcas/tags/0.18.4

on obtient juste la version désirée sans les .svn

Résolution de pb / de conflits

si un commit failed :  ( svn: Aborting commit: '/..../fichier' remains in conflict )
Résoudre le conflit puis
$ svn resolved fichier_ok

Revenir à un version antérieure
$ svn merge -r 13:10 https://svn.univ-metz.fr/pub/authcas/trunk
on revient de la révision 13 à la 10
!! ATTENTION, les révisions 11, 12, 13 ne sont pas effacées, on ne peut pas
 complètement effacer un commit accidentel !!

Revert

svn revert pour les changement locaux (non comités)
svn merge -rHEAD:lastgood-num pour un changement commité

SVK


SVK permet d'utiliser subversion (svn) en mode non connecté ou de facilement gérer des projets déjà existant.

Plus d'info sur svk ICI

À lire

http://svnbook.red-bean.com/en/1.1/index.html
http://toutprogrammer.com/article_19_5.html http://toutprogrammer.com/article_19_6.html

Pour l'administrateur

création du projet


svnadmin create /home/svn/cri/crium_session

chown -R www-data:www-data /home/svn

svn mkdir https://svn.univ-metz.fr/cri/crium_session/trunk 
https://svn.univ-metz.fr/cri/crium_session/branches 
https://svn.univ-metz.fr/cri/crium_session/tags 
-m "Création des répertoires d'archivage Subversion."


ou le script
#!/bin/sh
#
# création de projets svn
#
dir='cri/';

echo -n "projet Privé ou publiC ? [P/c]";
read param;

case $param in
    c|C)
        echo " Site Public";dir='pub/';;
    p|P)
        echo " Site Privé";dir='cri/';;
    *)
        echo " Site Privé";;
esac

echo -n "nom :"
read projet;

site="https://svn.univ-metz.fr/$dir$projet";

while true; do
    echo -n "Confirmez : $site ? (y/n)";
    read yn;
    case $yn in
        [nN]* ) echo "Abandon";echo;exit;;
        [yY]* ) echo;break;;
    esac
done

echo " svnadmin create /home/svn/$dir$projet --fs-type fsfs";
svnadmin create /home/svn/$dir$projet
echo " chown -R www-data:www-data /home/svn/$dir$projet";
chown -R www-data:www-data /home/svn/$dir$projet
echo " svn mkdir $site/trunk $site/branches $site/tags  
 -m \"Création des répertoires d'archivage Subversion.\"";
svn mkdir $site/trunk $site/branches $site/tags  
 -m "Création des répertoires d'archivage Subversion."

echo "
##########################################
Pour la lecture web : viewcvs.cgi
Ajoutez à svn_roots = 
dans /etc/viewcvs/viewcvs.conf
   pub_$projet: /home/svn/$dir$projet,
ou
   cri_$projet: /home/svn/$dir$projet,
   si vous voulez protéger l'accès en lecture
##########################################
";

echo "Fin";

Hooks

Les "hooks" permettent d'effectuer des actions lors de commit, comme par exemple alerter une liste et envoyer les diff. Dans /home/svn/cri/crium_session vous trouverez un dossier hooks. Copiez post-commit.tmpl (un template) en post-commit. Adaptez post-commit à votre situation et rendez le exécutable.

Administration système
Installation du serveur