Difference between revisions of "Utiliser SVN"

From Apertium
Jump to navigation Jump to search
(Correction accès svn)
(Lien page anglaise)
 
Line 1: Line 1:
  +
[[Using SVN|In English]]
  +
 
Le code de développement d'Apertium est conservé dans SVN. Ce qui suit est une cheatsheet(?) de base pour utiliser SVN. Le dépôt SVN est arrangé en quatre sous-répertoires:
 
Le code de développement d'Apertium est conservé dans SVN. Ce qui suit est une cheatsheet(?) de base pour utiliser SVN. Le dépôt SVN est arrangé en quatre sous-répertoires:
 
* <code>trunk</code> &mdash; il contient l'arbre de développement principal,
 
* <code>trunk</code> &mdash; il contient l'arbre de développement principal,

Latest revision as of 08:43, 8 October 2014

In English

Le code de développement d'Apertium est conservé dans SVN. Ce qui suit est une cheatsheet(?) de base pour utiliser SVN. Le dépôt SVN est arrangé en quatre sous-répertoires:

  • trunk — il contient l'arbre de développement principal,
  • tags — il contient les versions archivées des releases,
  • branches — il contient les branches sur lesquelles des gens travaillent pour chacun des modules dans trunk,
  • incubator — il contient les modules en cours de développement (surtout des paires de langues) qui n'ont pas encore été mises dans trunk

Si vous êtes nouveau sur Apertium et SVN, vous voulez probablement juste regarder le sous-répertoire trunk. Pour examiner son arborescence, vous pouvez aller sur : données brutes ou ViewSVN

SVN, c'est quoi ?[edit]

SVN est un système de contrôle de version. Les utilisateurs de Linux et Mac devraient l'avoir déjà installé (sinon, il sera disponible à travers votre gestionnaire de paquets), les utilisateurs de Windows devraient utiliser tortoisesvn (voir Utiliser SVN avec TortoiseSVN).

Tout le monde[edit]

Si vous avez une bande passante ou un espace disque limité, veuillez voir Installation minimale depuis SVN.

Pour récupérer toute l'arborescence :

$ svn co https://apertium.svn.sourceforge.net/svnroot/apertium

Note: L'arborescence totale dépasse les 4 Goctets, Si vous disposez d'une connexion lente ou avez des limitations de transfert, probablement il vaudra mieux récupérer seulement les modules dont vous avez besoin — pour une installation de base, les modules "lttoolbox" et "apertium" suffisent.

Pour récupérer un module :

$ svn co https://svn.code.sf.net/p/apertium/svn/trunk/<nom_module>

Donc, par exemple, pour récupérer la paire basque-espagnol, tapez

$ svn co https://svn.code.sf.net/p/apertium/svn/trunk/apertium-eu-es

Pour faire une mise à jour :

$ svn update

Développeurs[edit]

Pour enregistrer vos modifications (les envoyer au serveur) :

$ svn commit

Note: N'oubliez pas d'écrire un beau message de log !

Pour rajouter un fichier ou un répertoire à un module existant :

$ svn add <nom du fichier ou répertoire>

Pour supprimer un fichier ou un répertoire du serveur :

$ svn delete <nom du fichier ou répertoire>

Note : Cela supprime également le fichier localement !

Pour importer un nouveau module dans SVN :

$ svn mkdir https://svn.code.sf.net/p/apertium/svn/<nom_module>

Puis cd dans le répertoire que vous voulez importer.

$ svn import . https://svn.code.sf.net/p/apertium/svn/<nom_module>

Raccourcis[edit]

Si vous utilisez SVN régulièrement, ça pourrait valoir la peine d'apprendre quelques raccourcis, pour gagner du temps.

À la place de svn commit vous pouvez utiliser :

$ svn ci

À la place de svn delete, vous pouvez utiliser

$ svn rm

Si vous ne voulez pas attendre que votre éditeur de texte s'ouvre lorsque vous enregistrez, vous pouvez spécifier le message d'enregistrement en ligne de commande :

$ svn ci -m "Mon message d'enregistrement"

Il vaut mieux noter que si vous ne comprenez pas totalement le shell, il vaudra probablement mieux rester avec l'éditeur de texte.

Enregistrer seulement une partie de vos changements[edit]

Si vous avez changé de nombreux fichiers, et ne voulez pas enregistrer tout d'un coup, vous pouvez donner une liste de noms de fichiers à svn commit, et seulement ces fichiers seront enregistrés :

$ svn ci fichier1 fichier2

Quelquefois, il vaut mieux enregistrer de cette manière; pour mettre les modifications en lien entre elles dans le même enregistrement, et garder séparément les modifications sans rapport. Ça permet plus facilement de défaire vos changements plus tard, si on s'aperçoit qu'il y a un problème.

Défaire les modifications locales[edit]

Si vous avez fait des modifications que vous ne voulez pas conserver - et que vous n'avez pas enregistré ces modifications - vous pouvez utiliser :

svn revert <nom des fichiers ou répertoire>

Cela remettra les fichiers à la dernière version que vous avez récupéré sur le serveur.

Défaire tout ou partie d'un enregistrement[edit]

D'abord travaillez sur la révision que vous voulez restaurer (probablement la révision que vous venez d'enregistrer moins 1), cd répertoire apertium .

mv <nom_module> <nom_module>.new
svn co -r <révision> https://svn.code.sf.net/p/apertium/svn/<nom_module>

Maintenant copiez tous les fichiers que vous voulez remettre à l'ancienne révision (<nom_module>) dans la nouvelle révision (<nom_module>.new), puis faire :

rm -rf <nom_module>
mv <nom_module>.new <nom_module>
cd <nom_module>
svn commit

Garder la trace des nouvelles modifications[edit]

Vous pouvez garder la trace des nouveaux enregistrements réalisés au moyen de

Maintenance[edit]

Erreurs "502 Bad Gateway"[edit]

Lors de l'exécution de certaines opérations (comme SVN COPY ou branchement/marquage, en utilisant SVN COPY), vous pouvez obtenir une erreur 502 Bad Gateway si vous avez utilisé HTTP plutôt que HTTPS pour vérifier votre copie de travail. Repositionnez votre copie de travail sur HTTPS et réessayez. (Voir ce ticket sur Sourceforge pour plus d'information. Voir cet article pour une explication plus détaillée sur la raison du problème.)

$ svn switch --relocate http://apertium.svn.sourceforge.net/ https://apertium.svn.sourceforge.net/

"Host not found" lors de l'utilisation d'un proxy Squid[edit]

Si vous obtenez

svn: OPTIONS of 'http://apertium.svn.sourceforge.net/svnroot/apertium/trunk/lttoolbox':
	 Could not resolve hostname `apertium.svn.sourceforge.net': Host not found (http://apertium.svn.sourceforge.net)

et que vous utilisez un proxy Squid, ajoutez

[global]
http-proxy-host=proxyhost
http-proxy-port=3128

au fichier ~/.subversion/servers