Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
informatique:linux:subversion [2008/03/03 14:38] benoit |
informatique:linux:subversion [2019/11/18 13:39] (Version actuelle) benoit [Client] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== SUBVERSION ====== | ====== SUBVERSION ====== | ||
- | |||
- | |||
- | |||
===== Client ===== | ===== Client ===== | ||
Ligne 23: | Ligne 20: | ||
Lister l'historique des révisions | Lister l'historique des révisions | ||
svn log | svn log | ||
+ | |||
+ | Connaître les fichiers modifié avant de faire un update : | ||
+ | svn status --show-updates | ||
+ | |||
+ | Afficher le fichier "file.php" à son état de la révision 495. | ||
+ | svn cat file.php -r 495 | ||
+ | |||
+ | Pour le restaurer : | ||
+ | svn cat file.php -r 495 > file.php | ||
Recupération de la révision N°6 | Recupération de la révision N°6 | ||
Ligne 28: | Ligne 34: | ||
- | ===== Serveur ===== | ||
- | ==== Installation ==== | ||
- | Installer le package suivant : | ||
- | subversion | ||
+ | ===== Serveur Subversion sous Apache ===== | ||
+ | ==== Installation et configuration ==== | ||
+ | Installer les paquetages pré-requis (sous Debian): | ||
+ | apt-get install subversion libapache2-svn | ||
+ | Créer le dépôt SVN avec les commandes suivantes : | ||
+ | mkdir -p /opt/subversion/depot | ||
+ | mkdir -p /opt/subversion/conf | ||
+ | chown www-data:www-data /opt/subversion/depot | ||
+ | Activer, si besoin, le module « dav_svn » avec la commande suivante : | ||
+ | a2enmod dav_svn | ||
+ | Editer le module « dav_svn » : | ||
+ | vim /etc/apache2/mods-enabled/dav_svn.conf | ||
+ | Et insérer à la fin les lignes suivantes : | ||
+ | <Location /svn> | ||
+ | DAV svn | ||
+ | Require valid-user | ||
+ | SVNParentPath /opt/subversion/depot/ | ||
+ | AuthType Basic | ||
+ | AuthName "Depot SVN" | ||
+ | AuthUserFile /opt/subversion/conf/.htpasswd | ||
+ | AuthzSVNAccessFile /opt/subversion/conf/access | ||
+ | </Location> | ||
+ | Pour créer le premier compte utilisateur : | ||
+ | htpasswd -c /opt/subversion/conf/.htpasswd user | ||
+ | |||
+ | Créer le fichier d’accès : | ||
+ | vim /opt/subversion/conf/access | ||
+ | |||
+ | Insérer le contenu suivant : | ||
+ | [groups] | ||
+ | all = user | ||
+ | |||
+ | Recharger la configuration Apache : | ||
+ | /etc/init.d/apache2 restart | ||
+ | |||
+ | ==== Créer un nouveau projet ==== | ||
+ | Pour créer un nouveau projet : | ||
+ | svnadmin create /opt/subversion/depot/projet1 | ||
+ | chown -R www-data:www-data /opt/subversion/depot/projet1 | ||
+ | |||
+ | Création du compte utilisateur : | ||
+ | htpasswd /opt/subversion/conf/.htpasswd utilisateur | ||
+ | |||
+ | Editer le fichier d'accès : | ||
+ | vim /opt/subversion/conf/access | ||
+ | |||
+ | * Ajouter les nouveaux utilisateurs dans la section [groups] | ||
+ | * Définir les droits pour chaque projet | ||
+ | |||
+ | [groups] | ||
+ | all = user, utilisateur | ||
+ | | ||
+ | [projet1:/] | ||
+ | @all = rw | ||
+ | * = r | ||
+ | |||
+ | Explications : | ||
+ | * [projet1:/] : Représente le projet | ||
+ | * @ : Représente un groupe d’utilisateurs | ||
+ | * rw : permet de donner les droits de lecture et d’écriture | ||
+ | * r : permet de donner les droits de lecture seul | ||
+ | * « * » : Représente tous les utilisateurs non référencés dans le présent fichier. | ||
+ | |||
+ | ===== Serveur Subversion sans Apache ===== | ||
+ | |||
+ | ==== Installation et configuration ==== | ||
+ | |||
+ | Installer le package suivant : | ||
+ | subversion | ||
- | ==== Configuration ==== | ||
=== Création d'un premier dépôt SVN === | === Création d'un premier dépôt SVN === | ||
- | **Dans l'exemple ci-dessous nous allons créer un premier dépôt nommé ''mondepot'' | + | **Dans l'exemple ci-dessous nous allons créer un premier dépôt nommé ''mondepot''** |
Créer les repertoires suivants: | Créer les repertoires suivants: | ||
Ligne 80: | Ligne 150: | ||
chown -R svn:svn /home/subversion | chown -R svn:svn /home/subversion | ||
+ | |||
+ | == Configuration avec inetd == | ||
Modifier le fichier ''/etc/inetd.conf'' en ajoutant la ligne suivante: | Modifier le fichier ''/etc/inetd.conf'' en ajoutant la ligne suivante: | ||
svn stream tcp nowait svn /usr/bin/svnserve svnserve -i -r /home/subversion/repository | svn stream tcp nowait svn /usr/bin/svnserve svnserve -i -r /home/subversion/repository | ||
+ | == Configuration avec xinetd == | ||
Si xinetd est utilisé créer le fichier ''/etc/xinetd.d/svn'' avec les options suivantes: | Si xinetd est utilisé créer le fichier ''/etc/xinetd.d/svn'' avec les options suivantes: | ||
# Begin /etc/xinetd.d/svn | # Begin /etc/xinetd.d/svn | ||
Ligne 99: | Ligne 172: | ||
Redémarrer xinet.d | Redémarrer xinet.d | ||
/etc/init.d/xinetd reload | /etc/init.d/xinetd reload | ||
+ |