Difference between revisions of "Utiliser SVN"
(Création page) |
(Lien page anglaise) |
||
(2 intermediate revisions by the same user not shown) | |||
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> — il contient l'arbre de développement principal, |
* <code>trunk</code> — il contient l'arbre de développement principal, |
||
Line 5: | Line 7: | ||
* <code>incubator</code> — il contient les modules en cours de développement (surtout des paires de langues) qui n'ont pas encore été mises dans <code>trunk</code> |
* <code>incubator</code> — il contient les modules en cours de développement (surtout des paires de langues) qui n'ont pas encore été mises dans <code>trunk</code> |
||
Si vous êtes nouveau sur Apertium et SVN, vous voulez probablement juste regarder le sous-répertoire <code>trunk</code>. Pour examiner son arborescence, vous pouvez aller sur : [https:// |
Si vous êtes nouveau sur Apertium et SVN, vous voulez probablement juste regarder le sous-répertoire <code>trunk</code>. Pour examiner son arborescence, vous pouvez aller sur : [https://svn.code.sf.net/p/apertium/svn/trunk données brutes] ou [https://apertium.svn.sourceforge.net/viewvc/apertium/ ViewSVN] |
||
== SVN, c'est quoi ? == |
== SVN, c'est quoi ? == |
||
Line 28: | Line 30: | ||
<pre> |
<pre> |
||
$ svn co https:// |
$ svn co https://svn.code.sf.net/p/apertium/svn/trunk/<nom_module> |
||
</pre> |
</pre> |
||
Line 34: | Line 36: | ||
<pre> |
<pre> |
||
$ svn co https:// |
$ svn co https://svn.code.sf.net/p/apertium/svn/trunk/apertium-eu-es |
||
</pre> |
</pre> |
||
Line 45: | Line 47: | ||
== Développeurs == |
== Développeurs == |
||
Pour |
Pour enregistrer vos modifications (les envoyer au serveur) : |
||
<pre> |
<pre> |
||
Line 70: | Line 72: | ||
<pre> |
<pre> |
||
$ svn mkdir https:// |
$ svn mkdir https://svn.code.sf.net/p/apertium/svn/<nom_module> |
||
</pre> |
</pre> |
||
Line 76: | Line 78: | ||
<pre> |
<pre> |
||
$ svn import . https:// |
$ svn import . https://svn.code.sf.net/p/apertium/svn/<nom_module> |
||
</pre> |
</pre> |
||
Line 95: | Line 97: | ||
</pre> |
</pre> |
||
Si vous ne voulez pas attendre que votre éditeur de texte s'ouvre lorsque vous |
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 : |
||
<pre> |
<pre> |
||
$ svn ci -m "Mon message |
$ svn ci -m "Mon message d'enregistrement" |
||
</pre> |
</pre> |
||
Il vaut mieux noter que si vous ne comprenez pas totalement le shell, il vaudra probablement mieux rester avec l'éditeur de texte. |
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 == |
||
Si vous avez changé de nombreux fichiers, et ne voulez pas |
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 : |
||
<pre> |
<pre> |
||
Line 111: | Line 113: | ||
</pre> |
</pre> |
||
Quelquefois, il vaut mieux |
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 == |
== Défaire les modifications locales == |
||
Si vous avez fait des modifications que vous ne voulez pas conserver - et que vous n'avez pas |
Si vous avez fait des modifications que vous ne voulez pas conserver - et que vous n'avez pas enregistré ces modifications - vous pouvez utiliser : |
||
<pre> |
<pre> |
||
Line 123: | Line 125: | ||
Cela remettra les fichiers à la dernière version que vous avez récupéré sur le serveur. |
Cela remettra les fichiers à la dernière version que vous avez récupéré sur le serveur. |
||
== Défaire tout ou partie d'un |
== Défaire tout ou partie d'un enregistrement == |
||
D'abord travaillez sur la révision que vous voulez |
D'abord travaillez sur la révision que vous voulez restaurer (probablement la révision que vous venez d'enregistrer moins 1), <code>cd</code> répertoire apertium . |
||
<pre> |
<pre> |
||
mv <nom_module> <nom_module>.new |
mv <nom_module> <nom_module>.new |
||
svn co -r <révision> https:// |
svn co -r <révision> https://svn.code.sf.net/p/apertium/svn/<nom_module> |
||
</pre> |
</pre> |
||
Line 143: | Line 145: | ||
== Garder la trace des nouvelles modifications == |
== Garder la trace des nouvelles modifications == |
||
Vous pouvez garder la trace des nouveaux |
Vous pouvez garder la trace des nouveaux enregistrements réalisés au moyen de |
||
* '''email''' — en vous inscrivant sur https://lists.sourceforge.net/lists/listinfo/apertium-devel (vous pourrez rajouter quelques filtres, sinon votre boite aux lettres sera rapidement inondée) |
* '''email''' — en vous inscrivant sur https://lists.sourceforge.net/lists/listinfo/apertium-devel (vous pourrez rajouter quelques filtres, sinon votre boite aux lettres sera rapidement inondée) |
||
* '''microblog''' — en suivant http://identi.ca/apertium |
* '''microblog''' — en suivant http://identi.ca/apertium |
Latest revision as of 08:43, 8 October 2014
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 danstrunk
,incubator
— il contient les modules en cours de développement (surtout des paires de langues) qui n'ont pas encore été mises danstrunk
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
Contents
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
- email — en vous inscrivant sur https://lists.sourceforge.net/lists/listinfo/apertium-devel (vous pourrez rajouter quelques filtres, sinon votre boite aux lettres sera rapidement inondée)
- microblog — en suivant http://identi.ca/apertium
- IRC — en joignant #apertium sur freenode.net (ici les messages viennent de http://cia.vc/stats/project/apertium)
- RSS feed — en ajoutant https://sourceforge.net/export/rss2_keepsake.php?group_id=143781 à votre lecteur RSS favori.
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