[Perkamon-l10n-fr] Reorganisation des pages

Denis Barbier bouzim at gmail.com
Mar 2 Nov 20:30:27 UTC 2010


Le 2 novembre 2010 20:46, Florentin Duneau a écrit :
> On 19:47 Tue 02 Nov, Denis Barbier wrote:
> [...]
>> > Hum, je n'aurais pas dû livrer ce type de correction dans master à ce
>> > moment là ?
>>
>> Oui, tu n'aurais pas dû, mais bon, c'est un peu compliqué et ça a
>> changé en cours de route. Pour rappel, voici ce que j'avais écrit
>>   http://lists.alioth.debian.org/pipermail/perkamon-l10n-fr/2010-September/000096.html
>>   http://lists.alioth.debian.org/pipermail/perkamon-l10n-fr/2010-October/000131.html
>>
>> Je vais essayer de le formuler autrement. Pour simplifier, je vais
>> faire comme si on traduisait les versions successives de man-pages,
>> sans utiliser le dépôt git de Michael.
>>   Phase 1 : je mets à jour les fichiers PO pour man-pages 3.30
>>   Phase 2 : tout le monde met à jour ses fichiers. Dans cette phase,
>> il ne faut pas modifier les chaînes existantes. Si on veut faire des
>> modifications, on le fait dans une branche todo
>
> Je ne pensais pas que la branche todo avait ce rôle, je pensais que
> c'était la branche de travail de David... j'ai dû raté un mail...

Comme j'ai changé plusieurs fois en cours de route, c'est un peu
normal que vous soyez perdus.
A priori, ça ne devrait maintenant plus trop changer, ça marche pas mal.

>>   Phase 3 : quand tout est traduit, je fais un faux merge avec les
>> branches stables
>>   Phase 4 : j'applique dans master tous les commits de la branche todo
>> et supprime cette branche. On peut faire toutes les modifications
>> qu'on veut dans master. Régulièrement, j'incorpore les changements de
>> cette phase dans les différentes branches stables (c'est à ça que sert
>> le faux merge de la phase 3).
>
> En gros, la branche todo, c'est un branche "en avance de la phase 4" qui
> permet de faire des corrections dans les chaînes déjà traduites sans
> attendre la phase 4 et quand on est dans la phase 4, on commit
> directement dans master.

Oui, c'est exactement ça.

>>   Phase 5 : quand man-pages 3.31 sort, retour en 1.
>> Est-ce que c'est plus clair comme ça ?
>
> Oui, merci.
>
> Question:
>
> Dans la phase 3, tu ne veux pas faire de merge avec les corrections de
> todo.  Sachant que les corrections de todo seront mergées en phase 4 ;
> dans le prochain cycle tu mergeras en phase 3 les corrections de todo de
> la phase 4 précédente avec les branches 3.X, non ?
>
> Si oui, pourquoi on utilise todo (cela simplifie les reports sur les
> branches 3.X, cf second lien que tu as donné?) ?

Heu, je ne te suis pas.
Pour que ce soit plus clair, je vais prendre un exemple. Voici à quoi
ressemble le dépôt git entre 3.28 et 3.29.

  * 5ce642d {3.29} Remove spurious trailing space in po4a/man7m-z/po/fr.po
  * 4c46b07 {tag: 3.29-1} Use [po_directory] in *.cfg files
  * 54f0402 (fr) Uniformize some strings for man3 compedium
  * b41ea93 (fr) Uniformize {block,charater} device{,s}
  * b979fcb (fr) Uniformize technical translations
  * 1571fb5 (fr) Typo in man7m-z
  * c190e15 (fr) Typo in man2n-z
  * 6bcad14 (fr) Typos: replace "Nombre maximum" by "Nombre maximal"
  * 2d6fdd3 (fr) Update statement about display
  * c16c503 (fr) Shrink definite article from description
  * 849ff16 (fr) Various fixes in charset tables
  * 2686978 (fr) Pseudo- is a prefix, pseudo is a name
  * 384239a (fr) Translate replaceable text
  * dc31889 (fr) Fix typos
  | *   9d9ec40 {3.28} Merge commit 'bce463b' into 3.28
  | |\
  | |/
  |/|
  * | bce463b (fr) Remove obsolete strings (prefixed by '#|')
  * | 041620e Revert "(fr) Uniformize some strings for man3 compedium"
  * | 51125d3 (fr) Update man3g-m to 3154
  | * ee8c638 {tag: 3.28-3} Set P=3, next release will be 3.28-3

Tout avait été traduit dans 51125d3. Comme je vais l'expliquer
ci-dessous, j'ai annulé ton commit "(fr) Uniformize some strings for
man3 compedium", puis fais un autre commit cosmétique. À partir de là,
j'ai fait un faux merge dans la branche 3.28 ; c'est un faux merge car
les fichiers sont inchangés par rapport à 3.28-3, mais le commit
9d9ec40 a deux parents.
Dans master, j'ai ensuite appliqué tous les commits de la branche todo
(en les réorganisant un peu, par exemple j'ai fusionné les 3 commits
qui modifiaient les préfixes pseudo en un seul), jusqu'à 54f0402 (qui
est ton commit que j'avais appliqué sur la branche todo).
Maintenant, quand je vais faire un merge de la branche 3.28 avec
5ce642d, toutes les corrections qui ont été faites entre dc31889 et
5ce642d seront appliquées sur la branche 3.28. Idem pour les branches
3.2[567].

Si tu essaies de faire la même chose, mais sans faire le revert de ton
commit, tu devrais normalement te rendre compte que tu ne peux pas
répercuter ton commit sur la branche 3.28.

Denis



Plus d'informations sur la liste de diffusion Perkamon-l10n-fr