Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
subversion [Le 13/11/2012, 11:55]
84.14.5.193 [Commandes de base] Fix default editor change
subversion [Le 11/09/2022, 12:10] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>​programmation serveur ​svn}}+{{tag>​programmation serveur}}
  
 ---- ----
Ligne 9: Ligne 9:
 ===== Installation ===== ===== Installation =====
  
-Toute installation de SVN nécessitera l'​[[:​tutoriel:​comment_installer_un_paquet|installation du paquet]] **[[apt://subversion|subversion]]**.+Toute installation de SVN nécessitera l'​[[:​tutoriel:​comment_installer_un_paquet|installation du paquet]] **[[apt>subversion|subversion]]**
  
 Une bonne base pour les futurs dépôts ("//​repository//"​) est **///​var/​svn//​** : Une bonne base pour les futurs dépôts ("//​repository//"​) est **///​var/​svn//​** :
Ligne 29: Ligne 29:
 <note tip> <note tip>
   * Dans les 2 derniers cas, dans l'​adresse d'​accès à un dépôt, //​mon_serveur///​ représente **la base** des dépôts.   * Dans les 2 derniers cas, dans l'​adresse d'​accès à un dépôt, //​mon_serveur///​ représente **la base** des dépôts.
-  * La configuration SVN + Apache (avec le module //​dav_svn//​) semble plus simple.+  * La configuration SVN + Apache (avec le module //​dav_svn//​) semble plus simple ​mais est moins performante.
 </​note>​ </​note>​
 ==== Serveur SVN seul ==== ==== Serveur SVN seul ====
Ligne 35: Ligne 35:
 Tout d'​abord,​ [[subversion#​creer_un_depot_svn|créez un dépôt]] (nous considérerons le répertoire //​projet1//​). Tout d'​abord,​ [[subversion#​creer_un_depot_svn|créez un dépôt]] (nous considérerons le répertoire //​projet1//​).
  
 +  cd /var/
 +  sudo mkdir svn
   sudo svnadmin create /​var/​svn/​projet1   sudo svnadmin create /​var/​svn/​projet1
  
Ligne 112: Ligne 114:
 <code bash> <code bash>
 #!/bin/sh #!/bin/sh
 +### BEGIN INIT INFO
 +# Provides: ​         subversion ​
 +# Required-Start: ​   $local_fs $remote_fs $network $syslog
 +# Required-Stop: ​    ​$local_fs $remote_fs $network $syslog
 +# Default-Start: ​    2 3 4 5
 +# Default-Stop: ​     0 1 6
 +# Short-Description:​ Start/stop subversion daemon ​
 +### END INIT INFO
  
 set -e set -e
Ligne 167: Ligne 177:
 Pour installer un serveur SVN utilisant le serveur web [[Apache]], nous aurons besoin d'​Apache et de la bibliothèque de Subversion pour Apache. Pour installer un serveur SVN utilisant le serveur web [[Apache]], nous aurons besoin d'​Apache et de la bibliothèque de Subversion pour Apache.
  
-Il faut donc [[:​tutoriel:​comment_installer_un_paquet|installer les paquets]] **[[apt://apache2,​libapache2-svn|apache2libapache2-svn]]**.+Il faut donc [[:​tutoriel:​comment_installer_un_paquet|installer les paquets]] **[[apt>apache2,​libapache2-mod-svn|apache2 libapache2-mod-svn]]**
  
 === Configuration d'​Apache === === Configuration d'​Apache ===
  
-La configuration principale du serveur SVN se situe dans le fichier **''/​etc/​apache2/​mods-available/​dav_svn.conf''​**.+Il est nécessaire dans un premier temps d'​activer le module dav_svn pour apache (non activé par défaut): 
 + 
 +  sudo a2enmod dav_svn 
 + 
 +La configuration principale du serveur SVN se situe maintenant ​dans le fichier **''/​etc/​apache2/​mods-enabled/​dav_svn.conf''​**.
  
  
Ligne 186: Ligne 200:
 Ici nous considérons que le nom du dépôt que l'on veut créer s'​appelle "​projet1"​ et qu'il doit se situer dans le répertoire "/​var/​svn"​ et que l'on veut y accéder //par l'​url//​ http://​mon_serveur/​projet (le nom et l'url sont ici volontairement différents pour voir la différence). Ici nous considérons que le nom du dépôt que l'on veut créer s'​appelle "​projet1"​ et qu'il doit se situer dans le répertoire "/​var/​svn"​ et que l'on veut y accéder //par l'​url//​ http://​mon_serveur/​projet (le nom et l'url sont ici volontairement différents pour voir la différence).
  
-Ouvrir le fichier **''/​etc/​apache2/​mods-available/​dav_svn.conf''​** et décommenter la ligne d'​ouverture de l'​environnement,​ et modifier le nom par l'url que vous voulez utiliser:+Ouvrir le fichier **''/​etc/​apache2/​mods-enabled/​dav_svn.conf''​** et décommenter la ligne d'​ouverture de l'​environnement,​ et modifier le nom par l'url que vous voulez utiliser:
  
   <​Location /projet>   <​Location /projet>
Ligne 222: Ligne 236:
 //​l'​url//​ http://​mon_serveur/​svn et la racine s'​appelle /var/svn. //​l'​url//​ http://​mon_serveur/​svn et la racine s'​appelle /var/svn.
  
-Ouvrir le fichier **''/​etc/​apache2/​mods-available/​dav_svn.conf''​** et décommenter la ligne d'​ouverture de l'​environnement,​ et modifier le nom par l'url que vous voulez utiliser:+Ouvrir le fichier **''/​etc/​apache2/​mods-enabled/​dav_svn.conf''​** et décommenter la ligne d'​ouverture de l'​environnement,​ et modifier le nom par l'url que vous voulez utiliser:
  
   <​Location /svn>   <​Location /svn>
Ligne 256: Ligne 270:
 === Authentification === === Authentification ===
  
-[[:​tutoriel:​comment_editer_un_fichier|Modifier]] le fichier **///​etc/​apache2/​mods-available/​dav_svn.conf//​** pour activer l'​authentification,​ en décommentant et renseignant certaines lignes comme ceci :+[[:​tutoriel:​comment_editer_un_fichier|Modifier]] le fichier **///​etc/​apache2/​mods-enabled/​dav_svn.conf//​** pour activer l'​authentification,​ en décommentant et renseignant certaines lignes comme ceci :
  
   AuthType Basic   AuthType Basic
Ligne 279: Ligne 293:
   sudo /​etc/​init.d/​apache2 restart   sudo /​etc/​init.d/​apache2 restart
  
 +<note important>​En mode d'​authentification « Basic », comme indiqué dans le fichier **//​dav_svn.conf//​**,​ veuillez noter qu'une connexion SSL (https) est nécessaire pour éviter l’interception du mot de passe</​note>​
 === Accès === === Accès ===
  
Ligne 362: Ligne 377:
   svn import votre_repertoire URL_svn   svn import votre_repertoire URL_svn
  
-"​URL_svn"​ pouvant être un répertoire local, il suffit de faire: ​+"​URL_svn"​ pouvant être un répertoire local, il suffit de faire:
  
   svn import votre_repertoire file:///​repertoire_svn   svn import votre_repertoire file:///​repertoire_svn
 +  ​
 +=== Retour en arrière ===
 +Connaître les révisions:
 +<​code>​svn log</​code>​
 +S'il y en a beaucoup, on peut les rediriger dans un fichier pour l'​éditer dans son éditeur préféré:
 +<​code>​svn log > liste_revisions.log</​code>​
 +
 +Retour en arrière (remplacer //###// par le numéro de la révision):
 +<​code>​svn update -r ###</​code>​
 +
 ==== Client SVN graphique ==== ==== Client SVN graphique ====
  
Ligne 384: Ligne 409:
  
 Installation : Installation :
-  * pour Ubuntu 12.04 et 11.10 (utilisant le Nautilus de gnome 3) : en attendant la [[https://​bugs.launchpad.net/​ubuntu/​+source/​rabbitvcs/​+bug/​741562|MAJ de la version dans Ubuntu]], utiliser la version du [[https://​launchpad.net/​~rabbitvcs/​+archive/​ppa|PPA du projet]] **ppa:​rabbitvcs/​ppa**,​ puis [[:​tutoriel:​comment_installer_un_paquet|installant le paquet]] **[[apt://rabbitvcs-nautilus3|rabbitvcs-nautilus3]]**+  * pour Ubuntu 12.04 et 11.10 (utilisant le Nautilus de gnome 3) : en attendant la [[https://​bugs.launchpad.net/​ubuntu/​+source/​rabbitvcs/​+bug/​741562|MAJ de la version dans Ubuntu]], utiliser la version du [[https://​launchpad.net/​~rabbitvcs/​+archive/​ppa|PPA du projet]] **ppa:​rabbitvcs/​ppa**,​ puis [[:​tutoriel:​comment_installer_un_paquet|installant le paquet]] **[[apt>rabbitvcs-nautilus3|rabbitvcs-nautilus3]]**
  
   * pour Ubuntu 10.10 et 11.04, les dépôts officiels suffisent   * pour Ubuntu 10.10 et 11.04, les dépôts officiels suffisent
   * pour Ubuntu 9.10 à 10.10, utiliser le PPA   * pour Ubuntu 9.10 à 10.10, utiliser le PPA
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt://rabbitvcs-nautilus|rabbitvcs-nautilus]]** et optionnellement **[[apt://rabbitvcs-gedit,​rabbitvcs-cli|rabbitvcs-gedit rabbitvcs-cli]]**.+[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>rabbitvcs-nautilus|rabbitvcs-nautilus]]** et optionnellement **[[apt>rabbitvcs-gedit,​rabbitvcs-cli|rabbitvcs-gedit rabbitvcs-cli]]**
  
   * pour Ubuntu 8.04 à 9.04 : [[http://​rabbitvcs.googlecode.com/​files/​rabbitvcs_0.12-1%7Ehardy_all.deb|RabbitVCS 0.12 (Hardy)]], [[http://​rabbitvcs.googlecode.com/​files/​rabbitvcs_0.12-1%7Ekarmic_all.deb|RabbitVCS 0.12 (Karmic)]]. Il est toutefois conseillé d'​utiliser le [[https://​launchpad.net/​~rabbitvcs/​+archive/​ppa|PPA du projet]] pour bénéficier des mises a jour.   * pour Ubuntu 8.04 à 9.04 : [[http://​rabbitvcs.googlecode.com/​files/​rabbitvcs_0.12-1%7Ehardy_all.deb|RabbitVCS 0.12 (Hardy)]], [[http://​rabbitvcs.googlecode.com/​files/​rabbitvcs_0.12-1%7Ekarmic_all.deb|RabbitVCS 0.12 (Karmic)]]. Il est toutefois conseillé d'​utiliser le [[https://​launchpad.net/​~rabbitvcs/​+archive/​ppa|PPA du projet]] pour bénéficier des mises a jour.
Ligne 398: Ligne 423:
  
 [[:​tutoriel:​comment_installer_un_paquet| [[:​tutoriel:​comment_installer_un_paquet|
-Installez le paquet]] **[[apt://nautilus-script-collection-svn|nautilus-script-collection-svn]]**.+Installez le paquet]] **[[apt>nautilus-script-collection-svn|nautilus-script-collection-svn]]**.
  
-Puis activez-le : +Puis activez-le :
  
   nautilus-script-manager enable Subversion   nautilus-script-manager enable Subversion
Ligne 415: Ligne 440:
   ​   ​
   nautilus restart   nautilus restart
 +
 +==== Intégration à Nemo ====
 +
 +=== RabbitVCS ===
 +Un port de la version Nautilus a été réalisé pour Nemo. Pour cela :
 +  - ajoutez le [[https://​launchpad.net/​~gwendal-lebihan-dev/​+archive/​cinnamon-stable|PPA du projet]] : **ppa:​gwendal-lebihan-dev/​cinnamon-stable**
 +  - [[:​tutoriel:​comment_installer_un_paquet|
 +Installez le paquet]] **[[apt>​nemo-rabbitvcs]]**.
  
 ==== KDESVN : plugin SVN pour Konqueror ==== ==== KDESVN : plugin SVN pour Konqueror ====
Ligne 420: Ligne 453:
 Avantage non négligeable pour certains, le plugin est accessible en français. Avantage non négligeable pour certains, le plugin est accessible en français.
  
-Tout d'​abord,​ [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt://kdesvn|kdesvn]]** ainsi que les dépendances proposées.+Tout d'​abord,​ [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>kdesvn|kdesvn]]** ainsi que les dépendances proposées.
  
-[[http://​kdesvn.alwins-world.de/​|KDESVN]] gère :+[[https://​kdesvn.alwins-world.de/​|KDESVN]] gère :
   * le dépôt lui-même : indiquez dans la barre d'​adresse [[http://​mon_serveur/​projet1]]   * le dépôt lui-même : indiquez dans la barre d'​adresse [[http://​mon_serveur/​projet1]]
   * votre copie locale : indiquez dans la barre d'​adresse /​var/​svn/​projet1   * votre copie locale : indiquez dans la barre d'​adresse /​var/​svn/​projet1
Ligne 429: Ligne 462:
  
 À noter aussi, que ce soit dans Dolphin, Konqueror ou les dossiers sous formes de plasmoïdes,​ le menu contextuel (bouton droit) vous permet d'​ouvrir un dossier avec KDESVN. À noter aussi, que ce soit dans Dolphin, Konqueror ou les dossiers sous formes de plasmoïdes,​ le menu contextuel (bouton droit) vous permet d'​ouvrir un dossier avec KDESVN.
- 
-==== Plugin SVN pour Thunar ==== 
- 
-Il existe un plugin pour le gestionnaire de fichier de [[Thunar]]. Ce plugin est encore assez jeune.((C'​est la version 0.1.4. qui est disponible en juin 2012.)) Beaucoup de fonctionnalités ne sont pas encore implémentées. Vous trouverez des infos complémentaires sur la page dédiée au plugin sur [[http://​goodies.xfce.org/​projects/​thunar-plugins/​thunar-vcs-plugin|Xfce Goodies Project]] [en]. 
- 
-=== Ubuntu versions 12.04 & + === 
- 
-Il suffit d'​installer le paquet **[[apt>​thunar-vcs-plugin]]** qui est maintenant disponible dans les dépôts. 
- 
-=== Ubuntu versions 11.10 & - === 
- 
-Il n'​existe pas de paquet dans les dépôts pour les versions antérieures à Ubuntu [[:​precise|12.04]]. Si tel est votre cas, il va falloir le [[[[:​tutoriel:​compilation|compiler]] depuis les sources. 
- 
-<note warning>​Attention cette opération nécessite des connaissances sur la compilation. Elle peut rendre instable votre système.</​note>​ 
- 
-Télécharger la dernière version stable de thunar-svn-plugin [[http://​goodies.xfce.org/​projects/​thunar-plugins/​thunar-svn-plugin/​|ici]] (la 0.0.3 au moment de la rédaction de cette note). 
- 
-Décompresser l'​archive et se rendre dans le répertoire. 
- 
-[[:​tutoriel:​comment_installer_un_paquet|Installez]] les dépendances nécessaires à la compilation :  
-<​code>​ 
-sudo apt-get install pkg-config libthunar-vfs-1-dev libapr1-dev libsvn-dev libsasl2-dev libneon27-gnutls-dev libserf-dev 
-</​code>​ 
-Préparer la compilation 
-<​code>​ 
-./configure --prefix=$(pkg-config --variable prefix thunarx-1) 
-</​code>​ 
-compiler 
-<​code>​make</​code>​ 
-et installer 
-<​code>​sudo make install</​code>​ 
- 
-Relancer [[thunar]] et vous devriez voir apparaître un menu SVN dans le menu contextuel. 
- 
-{{ :​thunar_svn_plugin.png?​500 |Menu contextuel avec le plugin SVN}} 
  
 ==== Colorsvn ==== ==== Colorsvn ====
Ligne 481: Ligne 479:
 <​code>​alias svn='​colorsvn'</​code>​ <​code>​alias svn='​colorsvn'</​code>​
  
-===== Voir aussi ===== +==== git-svn ​==== 
- +Il est possible d'​interagir sur un dépôt SVN avec [[:git]]. \\ 
-**(Livre SubVersion)** ​[[http://​svnbook.red-bean.com/​|Gestion de versions avec Subversion]] +Pour cela, il faut installer ​[[apt>git-svn]]\\ 
- +Plus d'​infos: [[https://git-scm.com/book/fr/v2/Git-et-les-autres-syst%C3%A8mes-Git-comme-client ​§9.et 9.2 de la doc git fr]]
-**(en)** [[http://​subversion.tigris.org/​|Site officiel]] +
- +
-**(fr)** ​[[wpfr>Subversion_(logiciel)|Article sur Wikipedia]] +
- +
-**__Tutoriels ​:__** +
- +
-  * **(fr)** ​[[http://www.siteduzero.com/​tutoriel-3-2696-gerez-vos-projets-a-l-aide-du-gestionnaire-de-versions-subversion.html|Installation et utilisation de base]] sur siteduzero.com (lignes de commandes et aussi interface graphique... sous Windows, mais le principe reste valable avec les GUI disponibles pour ubuntu) +
-  * **(fr)** [[http://www.toutprogrammer.com/​index.php/​Installation_et_utilisation_de_base_de_Subversion|Installation et utilisation de base]] sur toutprogrammer.com (lignes de commandes) +
-  * **(fr)** [[http://​www.system-linux.eu/​index.php?​post/​2009/​01/21/Configuration-et-Compilation-Subversion|Installation et administration du dépôt]] sur system-linux.eu (lignes de commandes) +
-  * **(en)** [[http://​artis.imag.fr/​~Xavier.Decoret/​resources/​svn/​index.html|Utilisation de subversion]] ​ (lignes de commandes) +
-  * **(fr)** [[http://​blog.lapinfo.fr/​installer-un-serveur-subversion/|Installation de USVN avec Subversion]] sur blog.lapinfo.fr (lignes de commandes) +
- +
-**__Outils en rapport avec SVN :__** +
-  * **(fr)** [[http://​usvn.info| USVN]] : interface web PHP pour gérer vos SVN (projet, utilisateurs,​ groupes, permissions ...) +
-  * **(en)** [[http://​www.websvn.info/​| WebSVN]] : interface web PHP avec exploration,​ comparaison de version, suivi RSS ... +
-  * **(en)** [[http://​www.easysw.com/​~mike/​fldiff/​|fldiff]] : Affichage graphique des différences entre votre copie locale ​et le dépôt (pour Subversion et CVS) +
-  * **(fr)** [[http://​scord.sourceforge.net/​|scord]] (Subversion Check Out, Reduced Disk) : programme utilisant [[fuse]] permettant de réduire d'un facteur ​l'​utilisation du disque pour un dépôt subversion local (il utilise pour cela des différences au lieu de garder 2 copies du fichier (celle dans le .svn, et la copie de travail)). +
-  * **(en)** [[http://​versioncontrol.netbeans.org/​| Netbeans]] & Subversion +
-**__Ebook :__** +
- +
-  * **(fr)** [[http://​svnbook.red-bean.com/​|Gestion de versions avec Subversion]] +
----- +
- +
-//​Contributeurs : [[:​utilisateurs:​Takahani]] , [[:​utilisateurs:​Ju]] (relecture),​ [[:​utilisateurs:​SSJ17Vegeta]],​ [[:​utilisateurs:​zedtux]],​ [[:​utilisateurs:​v0n]],​ [[:​utilisateurs:​Spirzouf]],​ [[:​utilisateurs:​neopi21]]//​+
  • subversion.1352804151.txt.gz
  • Dernière modification: Le 13/11/2012, 11:55
  • par 84.14.5.193