Skip to content

Commit 6d5b290

Browse files
committed
Documenting back porting and forward porting.
1 parent c3fedc6 commit 6d5b290

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

CONTRIBUTING.rst

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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
726778
Synchronisation de la traduction avec Transifex

0 commit comments

Comments
 (0)