@@ -721,6 +721,58 @@ Serveur de documentation en local
721721
722722 make serve
723723
724+ Copier des traductions d'une branche à l'autre
725+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
726+
727+ Dans certains cas on a besoin de bouger des traductions d'une branche
728+ à l'autre :
729+
730+ - D'une ancienne branche vers une nouvelle branche : Lors du passage
731+ d'une version à l'autre de cpython, quelqu'un à une PR sur une
732+ ancienne release (*forward porting*).
733+ - D'une nouvelle branche vers des anciennes branches : Pour propager
734+ de temps en temps le travail sur d'anciennes releases (*back porting*).
735+
736+ On utilise ` ` pomerge` ` : on le fait lire sur une branche, puis écrire
737+ sur une autre, par exemple pour copier de la 3.7 à la 3.8 :
738+
739+ git fetch
740+ git checkout 3.7
741+ git reset --hard upstream/3.7
742+ pomerge --from-files *.po */*.po
743+ git checkout -b forward-porting upstream/3.8
744+ pomerge --no-overwrite --to-files *.po */*.po
745+ powrap -m
746+ git add -p
747+ git commit -m "Forward porting from 3.7"
748+ git push -u origin HEAD
749+
750+ Notes :
751+
752+ - J'utilise ` ` git fetch` ` au début pour avoir upstream/3.7 et
753+ upstream/3.8 à jour localement, ainsi je peux travailler sans
754+ toucher au réseau jusqu'au ` ` git push` ` , mais chacun fait comme il
755+ veut.
756+ - J'utilise ` ` *.po */*.po` ` et pas ` ` **/*.po` ` , car si vous avez un
757+ venv il va vous trouver des traductions de Sphinx et peut être
758+ d'autres paquets dans ` ` .venv/lib/python*/` ` (et mettre beaucoup
759+ plus longtemps).
760+ - J'utilise ` ` pomerge --no-overwrite` ` , ça indique à ` ` pomerge` ` de
761+ n'écrire que si le ` ` msgstr` ` est vide, donc de ne pas modifier
762+ l'existant, ainsi il est impossible de casser quelque chose, c'est
763+ important lors du *forward-porting* pour ne pas défaire une
764+ correction. Mais on pourrait le tenter sans ` ` ---no-overwrite` ` sur
765+ du rétroportage, attention, ça fait des bêtises, ça nécessite une
766+ relecture attentive : certaines traductions, comme *example:* sont en
767+ francais parfois traduite avec une majuscule, et parfois non, en
768+ fonction du contexte, ` ` pomerge` ` uniformiserai ça, c'est pas bien.
769+ - Attention, si vous testez sans ` ` --no-overwrite` ` , il est peut être
770+ bon de vider la mémoire de ` ` pomerge` ` avant la lecture, pour éviter
771+ de lui faire écrire des choses lues lors des sessions précédentes,
772+ via un ` ` rm -f ~/.pomerge.json` ` .
773+ - J'utilise ` ` git add -p` ` car j'aime bien relire quand même,
774+ typiquement je n'ajoute pas les différnces d'ordre dans les entêtes,
775+ mais un ` ` git add -u` ` irait très bien.
724776
725777
726778Synchronisation de la traduction avec Transifex
0 commit comments