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 27/04/2011, 21:53] fabux [Voir aussi] retrait lien vers doc usvn (quasi inexistante donc supprimée) |
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 22: | Ligne 22: | ||
SVN peut être installé de plusieurs façons : | SVN peut être installé de plusieurs façons : | ||
- | * Seul, en local, l'accès au dépot se faisant par [[file://dossier/projet]] | + | * Seul, en local, l'accès au dépôt se faisant par [[file://dossier/projet]] |
* seul, en mode serveur, c'est-à-dire que l'accès au dépôt SVN sera sous la forme [[svn://mon_serveur/projet1]] , avec des utilisateurs SVN créés à cet effet; | * seul, en mode serveur, c'est-à-dire que l'accès au dépôt SVN sera sous la forme [[svn://mon_serveur/projet1]] , avec des utilisateurs SVN créés à cet effet; | ||
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 ==== | ||
- | Tout d'abord, [[subversion#creer_un_depot_svn|créez un dépôt]] (nous considèrerons le repertoire //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 | ||
=== Création des utilisateurs SVN === | === Création des utilisateurs SVN === | ||
- | Vous pouvez ensuite éditer les fichiers de configuration (pour choisir mot de passe et autres) dans le répertoire créé (nous considèrerons le dépôt //projet1//). | + | Vous pouvez ensuite éditer les fichiers de configuration (pour choisir mot de passe et autres) dans le répertoire créé (nous considérerons le dépôt //projet1//). |
Ligne 105: | Ligne 107: | ||
sudo chown -R svn: /var/svn | sudo chown -R svn: /var/svn | ||
- | <note warning>Si un nouveau repos est créé alors nous conseillons d'utiliser plutôt la commande :\\ | + | <note warning>Il est désormais préférable de créer chaque nouveau //repository// avec l'utilisateur //svn// grâce à la commande :\\ |
- | **sudo -u svn svnadmin create /var/svn/votre_repos**</note> | + | **sudo -u svn svnadmin create /var/svn///votre_nouveau_repository//**</note> |
Maintenant que nous avons un utilisateur spécifique, pour exécuter SVN au démarrage, il faut créer un script exécutable **///etc/init.d/svnserve//** contenant le code : | Maintenant que nous avons un utilisateur spécifique, pour exécuter SVN au démarrage, il faut créer un script exécutable **///etc/init.d/svnserve//** contenant le code : | ||
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 === | ||
- | 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''**. | ||
Il y a deux orientations de configuration: | Il y a deux orientations de configuration: | ||
- | * Configurer tous les dépots un par un, ce qui permet de gérer les autorisations dépot par dépot mais qui oblige à modifier la configuration d'Apache (et donc de le relancer ensuite) à chaque ajout de dépot. | + | * Configurer tous les dépôts un par un, ce qui permet de gérer les autorisations dépôt par dépôt mais qui oblige à modifier la configuration d'Apache (et donc de le relancer ensuite) à chaque ajout de dépôt. |
- | * Configurer un répertoire parent de tous les dépots, ce qui n'oblige pas à reconfigurer Apache pour chaque ajout mais qui ne permet pas de gérer les autorisations finement. | + | * Configurer un répertoire parent de tous les dépôts, ce qui n'oblige pas à reconfigurer Apache pour chaque ajout mais qui ne permet pas de gérer les autorisations finement. |
Une source classique d'erreur est d'utiliser un répertoire pour SVN qui est dans le path d'Apache, dans ce cas SVN ne fonctionne pas. Il faut obligatoirement utiliser un répertoire en dehors du path d'Apache. | Une source classique d'erreur est d'utiliser un répertoire pour SVN qui est dans le path d'Apache, dans ce cas SVN ne fonctionne pas. Il faut obligatoirement utiliser un répertoire en dehors du path d'Apache. | ||
Ligne 184: | Ligne 198: | ||
=== Configuration au cas par cas === | === Configuration au cas par cas === | ||
- | Ici nous considérons que le nom du dépot 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 194: | Ligne 208: | ||
DAV svn | DAV svn | ||
- | Enlever le commentaire et faire pointer vers votre répertoire SVN la ligne suivante vers l'adresse du dépot sur votre disque dur: | + | Enlever le commentaire et faire pointer vers votre répertoire SVN la ligne suivante vers l'adresse du dépôt sur votre disque dur: |
SVNPath /var/svn/projet1 | SVNPath /var/svn/projet1 | ||
Ligne 206: | Ligne 220: | ||
sudo /etc/init.d/apache2 restart | sudo /etc/init.d/apache2 restart | ||
- | [[#creer_un_depot_svn|Créez le dépôt]] //projet1// et donner les droits d'accès au dépôt à Apache: | + | [[#creer_un_depot_svn|Créez le dépôt]] //projet1// et donner les droits d'accès au dépôt uniquement à Apache: |
+ | sudo svnadmin create /var/svn/projet1 | ||
+ | find /var/svn/projet1/ -type f -exec chmod 640 {} \; | ||
+ | find /var/svn/projet1/ -type d -exec chmod 770 {} \; | ||
chown -R www-data:www-data /var/svn/projet1 | chown -R www-data:www-data /var/svn/projet1 | ||
+ | | ||
Vérifier à l'aide d'un navigateur que http://mon_serveur/projet réponde. | Vérifier à l'aide d'un navigateur que http://mon_serveur/projet réponde. | ||
- | Pour ajouter un deuxieme répertoire, il faut recopier le contenu entre les balises <location> et </location> une deuxième fois dans le fichier, et donner une url différente au deuxième projet. | + | Pour ajouter un deuxième répertoire, il faut recopier le contenu entre les balises <location> et </location> une deuxième fois dans le fichier, et donner une url différente au deuxième projet. |
=== Configuration globale === | === Configuration globale === | ||
- | Dans ce cas on a juste besoin de connaitre l'url de la racine des dépots et l'adresse de cette racine sur le disque dur. Ici nous utilisons | + | Dans ce cas on a juste besoin de connaître l'url de la racine des dépôts et l'adresse de cette racine sur le disque dur. Ici nous utilisons |
//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 231: | Ligne 248: | ||
SVNParentPath /var/svn | SVNParentPath /var/svn | ||
- | Ajouter cette ligne après SVNParentPath si vous voulez que //la racine// http://mon_serveur/svn affiche la liste des dépots SVN existants: | + | Ajouter cette ligne après SVNParentPath si vous voulez que //la racine// http://mon_serveur/svn affiche la liste des dépôts SVN existants: |
SVNListParentPath On | SVNListParentPath On | ||
Ligne 243: | Ligne 260: | ||
sudo /etc/init.d/apache2 restart | sudo /etc/init.d/apache2 restart | ||
- | Vérifier à l'aide d'un navigateur que http://mon_serveur/svn réponde (liste des dépots si la liste est activée, erreur HTTP 403 sinon). | + | Vérifier à l'aide d'un navigateur que http://mon_serveur/svn réponde (liste des dépôts si la liste est activée, erreur HTTP 403 sinon). |
- | Maintenant vous pouvez créer autant de dépots que vous voulez dans le répertoire racine puis donner les droits de modification à Apache, ils seront accessibles sans redémarrer Apache. | + | Maintenant vous pouvez créer autant de dépôts que vous voulez dans le répertoire racine puis donner les droits de modification à Apache, ils seront accessibles sans redémarrer Apache. |
Créez le dépôt //projetXXX// et donner les droits d'accès au dépôt à Apache: | Créez le dépôt //projetXXX// et donner les droits d'accès au dépôt à Apache: | ||
sudo svnadmin create /var/svn/projet1 | sudo svnadmin create /var/svn/projet1 | ||
- | sudo chown -R www-data:www-data /var/svn/projetXXX | + | sudo chown -R www-data:www-data /var/svn/projet1 |
=== 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 276: | 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 === | ||
Votre dépôt doit maintenant être accessible //via// les [[#commandes_de_base|commandes SVN de base]] sous l'URL : | Votre dépôt doit maintenant être accessible //via// les [[#commandes_de_base|commandes SVN de base]] sous l'URL : | ||
- | [[http://mon_serveur/projet1]] | + | [[http://mon_serveur/svn/projet1]] |
- | Si vous avez suivi la procédure d'authentification, un nom d'utilisateur et mot de passe (précédement créés) seront demandés. | + | Si vous avez suivi la procédure d'authentification, un nom d'utilisateur et mot de passe (précédemment créés) seront demandés. |
==== Subversion et Eclipse ==== | ==== Subversion et Eclipse ==== | ||
Ligne 332: | Ligne 350: | ||
svn commit -m "Message" | svn commit -m "Message" | ||
- | Le message du //commit// (option //-m//) est obligatoire, elle permet d'inscrire dans les logs une explication des modifications. Exemple : "Ajout de la fonction xxx dans le fichier xxx, ...". Si vous ne précisez pas cette option, SVN vous ouvre un éditeur de texte (Nano par défaut) afin d'y inscrire ce message. | + | Le message du //commit// (option //-m//) est obligatoire, il permet d'inscrire dans les logs une explication des modifications. Exemple : "Ajout de la fonction xxx dans le fichier xxx, ...". Si vous ne précisez pas cette option, SVN vous ouvre un éditeur de texte (Nano par défaut) afin d'y inscrire ce message. |
- | Si vous voulez changer l'éditeur par défaut (Nano), il faut modifier la valeur de la variable **SVN_EDITOR**. FIXME | + | Si vous voulez changer l'éditeur par défaut (Nano), il faut modifier la valeur de la variable **editor-cmd** du fichier ~/.subversion/config. Par exemple //editor-cmd = vi// |
<note tip>Pensez à toujours exécuter un //update// avant d'exécuter un //commit//. Ceci évitera beaucoup de conflit.</note> | <note tip>Pensez à toujours exécuter un //update// avant d'exécuter un //commit//. Ceci évitera beaucoup de conflit.</note> | ||
Ligne 359: | 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 ==== | ||
- | * [[RapidSVN]] n'est pas mal du tout, il permet de réaliser toutes les actions de base en mode graphique. | + | * [[rapidSVN]] n'est pas mal du tout, il permet de réaliser toutes les actions de base en mode graphique. |
* esvn (très léger) permet de travailler avec des "workspaces", dans le cas où votre projet reprend des dépôts différents. <note tip>fonctionne très bien avec fldiff et kdiff3 </note> | * esvn (très léger) permet de travailler avec des "workspaces", dans le cas où votre projet reprend des dépôts différents. <note tip>fonctionne très bien avec fldiff et kdiff3 </note> | ||
Ligne 376: | Ligne 404: | ||
Anciennement appelé NautilusSVN, il s'agit d'un outil réalisé en Python couplé aux scripts Nautilus et utilisant des emblèmes de Nautilus (à l'instar de TortoiseSVN sous Windows). | Anciennement appelé NautilusSVN, il s'agit d'un outil réalisé en Python couplé aux scripts Nautilus et utilisant des emblèmes de Nautilus (à l'instar de TortoiseSVN sous Windows). | ||
- | RabbitVCS est disponible pour Ubuntu 8.04 et supérieur en paquet deb : [[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)]] \\ | + | RabbitVCS est disponible en paquet |
- | Il est toutefois conseillé d'utiliser le [[https://launchpad.net/~rabbitvcs/+archive/ppa|PPA du projet]] pour bénéficier des mises a jour. | + | * dans les dépôts officiels depuis la version 10.10 d'Ubuntu |
+ | * et dans le [[https://launchpad.net/~rabbitvcs/+archive/ppa|PPA du projet]] **ppa:rabbitvcs/ppa** pour toutes les versions d'Ubuntu depuis la 8.04. | ||
+ | |||
+ | 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 10.10 et 11.04, les dépôts officiels suffisent | ||
+ | * 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]]** | ||
+ | |||
+ | * 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. | ||
- | [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt://rabbitvcs-core rabbitvcs-nautilus rabbitvcs-gedit rabbitvcs-cli|rabbitvcs-core rabbitvcs-nautilus rabbitvcs-gedit rabbitvcs-cli]]**. | ||
=== Scripts SVN pour Nautilus === | === Scripts SVN pour Nautilus === | ||
Ligne 386: | 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 395: | Ligne 432: | ||
FIXME La commande nautilus --restart ne fonctionne pas. A remplacer par nautilus restart (Ubuntu 9.10 et +) | FIXME La commande nautilus --restart ne fonctionne pas. A remplacer par nautilus restart (Ubuntu 9.10 et +) | ||
+ | |||
+ | FIXME La commande nautilus restart ne fonctionne pas non plus (Ubuntu 10.10). Il faut faire nautilus -q puis relancer nautilus | ||
nautilus --restart | nautilus --restart | ||
Ligne 401: | 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 406: | 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 415: | 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 très jeune. Beaucoup de fonctionnalités ne sont pas encore implémentées. | ||
- | |||
- | Il n'existe actuellement pas de paquet dans les dépôts. Il va falloir le [[[[:tutoriel:compilation|compiler]] depuis ces 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 460: | 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) | + | |
- | + | ||
- | **__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]]// | + |