Différences
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 | ||
subversion [Le 31/08/2013, 14:53] 90.36.40.142 [Serveur SVN + Apache] |
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 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|apache2 libapache2-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 === | ||
- | Il est nécessaire dans un premier temps d'activer le module dav_svn pour apache (non activer par défaut): | + | 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 | sudo a2enmod dav_svn | ||
Ligne 283: | 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 366: | 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 404: | Ligne 425: | ||
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 419: | 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 426: | Ligne 455: | ||
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 433: | 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 485: | 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.1 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 2 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]]// | + |