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:39] 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''** | ||
| Ligne 83: | Ligne 151: | ||
| - | == configuration avec inetd == | + | == 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 == | + | == 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 104: | Ligne 172: | ||
| Redémarrer xinet.d | Redémarrer xinet.d | ||
| /etc/init.d/xinetd reload | /etc/init.d/xinetd reload | ||
| + | |||