Documenting back porting and forward porting. (#1339)
This commit is contained in:
parent 375c31f30a
commit 3daad4d70f
1 changed files with 55 additions and 0 deletions
| | @ -719,6 +719,61 @@ Fusion des fichiers *pot* de CPython | |||
make merge | ||||
| ||||
| ||||
Copier des traductions d'une branche à l'autre | ||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
| ||||
Dans certains cas on a besoin de bouger des traductions d'une branche | ||||
à l'autre : | ||||
| ||||
- d'une ancienne branche vers une nouvelle branche : lors du passage | ||||
d'une version à l'autre de cpython, quelqu'un a une PR sur une | ||||
ancienne release (*forward porting*) ; | ||||
- d'une nouvelle branche vers des anciennes branches : pour propager | ||||
de temps en temps le travail sur d'anciennes releases (*back porting*). | ||||
| ||||
On utilise ``pomerge``\ : on le fait lire sur une branche, puis écrire | ||||
sur une autre, par exemple pour copier de la 3.7 à la 3.8 :: | ||||
| ||||
git fetch | ||||
git checkout 3.7 | ||||
git reset --hard upstream/3.7 | ||||
pomerge --from-files *.po */*.po | ||||
git checkout -b forward-porting upstream/3.8 | ||||
pomerge --no-overwrite --to-files *.po */*.po | ||||
powrap -m | ||||
git add --patch | ||||
git commit --message="Forward porting from 3.7" | ||||
git push --set-upstream origin HEAD | ||||
| ||||
Notes : | ||||
| ||||
- j'utilise ``git fetch`` au début pour avoir upstream/3.7 et | ||||
upstream/3.8 à jour localement, ainsi je peux travailler sans | ||||
toucher au réseau jusqu'au ``git push``, mais chacun fait comme il | ||||
veut ; | ||||
- j'utilise ``*.po */*.po`` et pas ``**/*.po``, car si vous avez un | ||||
venv dans l'arborescence il va vous trouver des traductions de Sphinx et peut-être | ||||
d'autres paquets dans ``.venv/lib/python*/`` (et mettre beaucoup | ||||
plus longtemps) ; | ||||
- j'utilise ``pomerge --no-overwrite``, ça indique à ``pomerge`` de | ||||
n'écrire que si le ``msgstr`` est vide, donc de ne pas modifier | ||||
l'existant, ainsi il est impossible de casser quelque chose, c'est | ||||
important lors du *forward-porting* pour ne pas défaire une | ||||
correction. Mais on pourrait le tenter sans ``--no-overwrite`` sur | ||||
du rétroportage, attention, ça fait des bêtises, ça nécessite une | ||||
relecture attentive : certaines traductions, comme *example:* sont en | ||||
francais parfois traduite avec une majuscule, et parfois non, en | ||||
fonction du contexte, ``pomerge`` uniformiserait ça, ce n'est pas bien ; | ||||
- attention, si vous testez sans ``--no-overwrite``, il est peut être | ||||
bon de vider la mémoire de ``pomerge`` avant la lecture, pour éviter | ||||
de lui faire écrire des choses lues lors des sessions précédentes, | ||||
via un ``rm -f ~/.pomerge.json``\ ; | ||||
- j'utilise ``git add --patch`` (ou ``-p``) car j'aime bien relire quand même, | ||||
typiquement je n'ajoute pas les différences d'ordre dans les entêtes, | ||||
mais un ``git add --update`` irait très bien ; | ||||
- attention au fichier *dict* à qui il peut manquer des lignes. | ||||
| ||||
| ||||
Synchronisation de la traduction avec Transifex | ||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
| ||||
| | | |||
Loading…
Add table
Add a link
Reference in a new issue