Accéder au contenu.
Menu Sympa

trad-gnu - Re: [Trad Gnu] Migration de www vers un autre VCS : Git ?? Bazaar ?

Objet : Liste de travail pour la traduction de la philosophie GNU (liste à inscription publique)

Archives de la liste

Re: [Trad Gnu] Migration de www vers un autre VCS : Git ?? Bazaar ?


Chronologique Discussions 
  • From: Thérèse Godefroy <godef.th AT free.fr>
  • Cc: "trad-gnu AT april.org" <trad-gnu AT april.org>
  • Subject: Re: [Trad Gnu] Migration de www vers un autre VCS : Git ?? Bazaar ?
  • Date: Wed, 18 Mar 2015 13:55:35 +0100
  • Openpgp: id=380791EF

Bonjour Denis, bonjour à tous,

On 16/03/2015 13:05, D. Barbier wrote:
>>> Dans le dépôt, on a actuellement :
>>> >> 1. les pages HTML originales
>>> >> 2. les autres fichiers originaux (images, etc)
>>> >> 3. les fichiers PO
>>> >> 4. les fichiers HTML générés par po4a
>>> >> Les coordinateurs des équipes de traduction ont besoin de 1 et 3 (et
>>> >> parfois 2),
>> >
>> > Oui, mais ils n'ont pas besoin des fichiers PO de toutes les langues.

> Si, pour corriger les erreurs de syntaxe (PO ou HTML) dans les fichiers PO.
>
Là je ne suis pas d'accord. Ce n'est pas normal que la régénération des
pages XX.html soit bloquée par une erreur de validation dans un YY.po ou
dans un include.


On 16/03/2015 16:10, D. Barbier wrote:
[...]
> Il n'y a rien de particulier à faire, tu peux avoir :
> - dans la branche po-fr
> accessibility/po/accessibility.fr.po
> - dans la branche po-de
> accessibility/po/accessibility.de.po
> Quand tu fusionnes les deux branches, tu as les 2 fichiers ensemble
> dans le répertoire accessibility/po/.

Je vois plutôt les choses à l'envers. Le répertoire www existe déjà ; on
l'élague un peu (module "static" pour les binaires, migration de
software/*/ vers un autre site web, etc.) et on le met sous Git, avec un
accès rsync au répertoire de travail (qui sera bloqué sur la branche
master). Ensuite chacun prend ce qui lui faut et crée sa branche, sans
historique évidemment. Certains voudront seulement *.XX.po et *.html,
d'autres voudront aussi *.pot et .XX.html, ou bien plusieurs langues,
etc. Les gens qui veulent l'historique voudront le reste aussi, donc www
leur conviendra.

J'ai fait l'essai avec mon répertoire www réduit (juste les .fr.po et
les .html). Il joue le rôle de dépôt distant. Le répertoire local
(www-po) ne contient que les POs. Voilà le détail des opérations.

1) _Création du dépôt www distant_

cd ~/GNU/www
git init
git commit -a -m "Commit initial www."

2) _Création du dépôt www-po local_

# Télécharger les fichiers PO avec rsync + un filtre.

rsync -av \
--exclude "CVS" \
--exclude ".git/" \
--include "*.po" \
--include "*/" \
--exclude "*" \
--prune-empty-dirs ~/GNU/www/ ~/GNU/www-po/

# Mettre www-po sous Git et lui donner www comme remote :

cd ~/GNU/www-po
git init
git remote add www ../www
git commit -a -m "Commit initial www-po."

# Renommer la branche master en "po" et la pousser sur www.

git branch -m master po
git push www po

3) _Envoi des modifs locales sur le serveur_

git commit -a -m "Modif locale."
git push www po

Il faut ensuite mettre cette modif sur la branche master de www. Je
ne la fusionne pas avec master, parce que ça lui ajouterait tous les
fichiers que je ne veux pas. C'est pourquoi j'utilise cherry-pick.

cd ~/GNU/www
git co master # En principe superflu
git cherry-pick po

4) _Synchronisation_

Si GNUN ou quelqu'un d'autre modifie les PO dans www, cela doit être
fait sur la branche master parce que c'est la seule qui aura un
répertoire de travail. Ensuite, je dois ramener ces modifs chez moi. Ce
n'est pas possible par l'intermédiaire de la branche po de www parce que
ça obligerait à faire un checkout de cette branche et à cherry-picker
des modifs dont certaines peuvent ne pas me concerner. J'utilise donc
rsync. Il n'y a aucun risque d'écraser des modifs locales parce qu'elles
ne sont jamais faites dans www-po (le dépôt www-fr est là pour ça). Les
gens qui veulent travailler dans www comme ils le font maintenant
synchroniseront avec git.

- Même commande rsync que plus haut (les modifs faites directement
dans le répertoire de travail www seront téléchargées même si elles ne
sont pas commitées, mais comme c'est le domaine de GNUN ou de son petit
frère, on peut lui dire de veiller au grain),
- "git commit -a" sur la branche po de www-po.

5) _Envoi d'une autre modif_

J'ai vérifié que "git push" fonctionne.


Note : j'ai installé git 1.9 sur wheezy à partir des backports (avec un
peu de mal) mais là, surprise, on ne peut plus utiliser gitk ni git-gui.
Il reste juste gitg. C'est plus joli comme interface, mais très poussif,
et on ne peut pas faire autant de choses qu'avec gitk. :(

Amicalement,
Thérèse



Archives gérées par MHonArc 2.6.18.

Haut de le page