wiki:CommentUtiliserSvn

en

wiki:IntroductionToSVN?

fr

Attention : il ne faut pas télécharger "toute la zone", c'est à dire faire un « SVN checkout » svn://zone.spip.org/spip-zone/ ! En effet, cela vous créera une gigantesque copie de travail dont la taille augmentera de jour en jour et risque à terme de perturber les performances du serveur et de la machine sur laquelle vous travaillez.

Présentation de SVN

Interface en ligne de commande

Téléchargez d'abord le client en ligne de commande.

Commandes de base, quel que soit le système d'exploitation (Windows, Linux, MacOS ou autre) :

  • svn checkout : crée une copie de travail sur votre disque dur d'une partie de l'arborescence SVN du serveur (ou dépôt)
  • svn update : met à jour une copie de travail
  • svn diff : affiche les différences entre deux révisions ou chemins
  • svn stat : affiche l'état des fichiers et répertoires de la copie de travail
  • svn commit : envoie les modifications de votre copie de travail vers le dépôt
  • svn import : charge un fichier ou une arboresence non versionnée dans un dépôt (premier référencement d'un plugin ou autre)

Disons que vous êtes intéressé par _contribs_/_assistants_/spip-dreamweaver et que vous voulez le télécharger dans « D:\travail-zone\spip-dreamweaver ». Copiez l'URL et collez-la en changeant le début:

svn checkout svn://zone.spip.org/spip-zone/_contribs_/_assistants_/spip-dreamweaver D:\travail-zone\spip-dreamweaver

Notez que la commande checkout ne s'applique que sur des dossiers : il n'est pas possible de récupérer un seul fichier.

Ça crée chez vous une copie de travail que vous pouvez utiliser avec les autres commandes. Pour la mettre à jour, il vous suffit de faire :

svn update

dans ce répertoire et il va chercher ce qu'il faut où il faut.

Vous modifiez un fichier dans ce répertoire, avec une mise en page plus sexy; pour propager vos modifications au serveur, faire, par exemple :

svn commit -m "Nouvelle mise en page"

L'option -m "..." associe un message aux modifications que vous voulez propager. C'est très utile pour comprendre ultérieurement l'évolution des fichiers et savoir les raisons de leur modification.

Vous voulez importer un nouveau projet (un plugin encore en test appelé monProjet par exemple) sur le serveur, pour cela demandez un login et code de connexion sur la liste spip-zone (si vous n'en n'avez pas encore un) puis :

svn import -m "Mon log expliquant l'importation" monProjet svn://zone.spip.org/spip-zone/_plugins_/monProjet

monProjet correspond à votre répertoire de travail. notez que le répertoire monProjet sur le serveur sera créé automatiquement. L'option -m permet d'associer un message à votre importation.

Autre exemple: vous voulez avoir la dernière version des _plugins_, vous créez un répertoire plugins et puis vous tapez:

svn checkout svn://zone.spip.org/spip-zone/_plugins_ plugins/

Sous Windows avec TortoiseSVN

  • Installez TortoiseSvn. Choisissez la version qu'il vous faut et, éventuellement, le package français (optionnel).
  • Une fois fait, choisissez ou créez un repertoire vide (par exemple « D:\travail-zone\spip-dreamweaver »)
  • Dans l'explorateur de fichiers, cliquez sur le repertoire avec le bouton droit et choisissez "SVN Checkout" (ou SVN Extraire)
  • Entrez l'adresse du dépôt svn://zone.spip.org/spip-zone/ et cliquez sur le bouton de navigation "..." ou bien entrez l'adresse complète si vous la connaissez. Ex : svn://zone.spip.org/spip-zone/_contribs_/_assistants_/spip-dreamweaver
  • Le cas échéant, naviguez dans l'arborescence pour trouver ce que vous cherchez. Une fois trouvé, cliquez sur Ok.
  • Cliquez sur OK et voilà c'est fait ! ... Facile non ? ;-)

Autre client en ligne de commande sous Mac

  • à essayer : SCPlugin pour accèder aux commandes SVN via le Finder (un Tortoise pour Mac, en quelque sorte)
  • pour utiliser la version Fink avec SvnX, il faut configurer SvnX en lui indiquant le chemin /sw/bin/ au lieu de usr/local/bin/
    • testé sur Mac OS X 10.3.9 et Mac OS X 10.4 pour la version normal
    • testé sur Mac OS X 10.3.9 pour la version Fink
  • Il faut renseigner le chemin d'accès au binaire de subversion dans la variable PATH du shell (bash). Pour ce faire, sous le terminal :
    echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile
    

Sous GNU/Linux

Sous Eclipse (outil de developpement open source)

Récupérer une version donnée d'une contribution

En ligne de commande, on peut récupérer une révision particulière :

svn export -r 'revision' svn://zone.spip.org/spip-zone/repertoire_de_la_contrib

Notez qu'on peut faire de même avec SPIP :

svn export -r 7502 svn://trac.rezo.net/spip/branches/spip-1.9/

ou encore :

svn export -r 6666 svn://trac.rezo.net/spip/spip/

Note « svn export » fait une exportation brute, sans les métadonnées de gestion de configuration. C'est utile par exemple si vous voulez créer un zip ou placer les fichiers sur un serveur web, mais ça ne l'est pas si vous comptez travailler dessus (mettre à jour ou propager des modifications).

Miroir

Un miroir de spip et de la zone est disponible via http (pour ceux qui sont derrière un proxy ou firewall ça peut aider). Il est accessible en lecture seule (pas de commit autorisé mais les updates fonctionnent). Il est synchronisé toutes les nuits entre 4 et 5h environ. Attention il y a un décalage de +1 dans les numéros de version (version svn 1234 <=> version http 1235). A part ça, on l'utilise comme le repository svn seule l'adresse change.

Les adresses :

  • pour Spip (arborescence complète avec le tronc et les branches) :

svn://trac.rezo.net/spip <=> http://miroirspip.ventre.name/spip/spip

  • pour la Zone :

svn://zone.spip.org/spip-zone <=> http://miroirspip.ventre.name/spip-zone/spip-zone

Last modified 5 years ago Last modified on Nov 29, 2013, 7:06:28 PM

Attachments (1)

Download all attachments as: .zip