[Perkamon-l10n-fr] [HS] outils git (Re: Relectures)

Denis Barbier bouzim at gmail.com
Jeu 7 Oct 08:10:53 UTC 2010


Le 7 octobre 2010 00:36, David Prévot a écrit :
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Le 06/10/2010 16:52, Denis Barbier a écrit :
>
>> [...] Je propose qu'on
>> fasse des rebase plutôt que des merge sur la branche master.
>
> Désolé, j'ai reçu le message après avoir fait des « merge » à tire
> larigot pour suivre les modifications que tu as effectuées sur le
> fichier que j'étais en train de finir de mettre à jour (et comme je suis
> encore un novice de l'utilisation de Git, j'ai un peu galéré, mais ça va
> venir).

Outre ce que j'expliquais dans le précédent message, tu pourrais aussi
réorganiser tes commits avant le push. C'est très bien de faire des
commits avant de relire, mais il vaudrait mieux qu'on ne voit pas les
commits intermédiaires. Dans l'état actuel il est difficile de relire
ces commits.

Pour cela, tu peux, au moins au début, créer une nouvelle branche là
où est ton master avant de faire le rebase (afin de pouvoir faire un
push de ta branche si tu n'arrives pas à t'en sortir, on s'occupera de
l'intégrer ; tu peux créer cette branche a posteriori, mais c'est un
peu plus compliqué). Ensuite, tu fais un rebase comme expliqué dans le
mail précédent, et résous les conflits. L'affichage de tig devrait
ressembler à
  2010-10-06 19:01 David Prévot     [master] (fr) man7a-l proofread
  2010-10-06 17:58 David Prévot     (fr) Update of man7a-l (no self
reviewed yet)
  2010-10-06 16:03 David Prévot     (fr) Partial update of man7a-l
(3578t 3f 27u)
  2010-10-05 12:30 David Prévot     (fr) Partial update of man7a-l (3578t1f38u)
  2010-10-06 23:38 Simon Paillard  [origin/HEAD][origin/master] (fr)
man3a-g: Update 3110t 5f 37u
   ...
Pour fusionner tes 4 commits en un seul, il y a plusieurs
possibilités. Tu peux le faire dans gitk, tu sélectionnes le commit
correspondant à origin/master, puis clic droit « Réinitialiser la
branche master vers cet état », dans la fenêtre qui s'ouvre, tu
choisis Hybride. Ton fichier dans man7a-l est le même que dans ta
branche master, tu peux le committer.
Une solution beaucoup plus puissante est d'utiliser la igne de commande
  git rebase -i origin/master master
Elle permet de changer l'ordre des commits, de les fusionner, de les
éditer, etc. Cela va ouvre un éditeur qui contient
  pick aa45bc3 (fr) Partial update of man7a-l (3578t1f38u)
  pick b207c81 (fr) Partial update of man7a-l (3578t 3f 27u)
  pick 9456d31 (fr) Update of man7a-l (no self reviewed yet)
  pick d4ec09a (fr) man7a-l proofread

Tu choisis les opérations à effectuer sur ces commits, par exemple
dans le cas présent
  r aa45bc3 (fr) Partial update of man7a-l (3578t1f38u)
  f b207c81 (fr) Partial update of man7a-l (3578t 3f 27u)
  f 9456d31 (fr) Update of man7a-l (no self reviewed yet)
  f d4ec09a (fr) man7a-l proofread
Avec « r », on peut changer le message du commit, pour mettre par exemple
   (fr) Update of man7a-l
et les « f » vont appliquer le commit par dessus le précédent, sans
toucher au message de commit. Tous les commits vont donc être
fusionnés dans un seul.

Il ne faut pas forcément toujours fusionner les commits, mais il
faudrait éviter de faire des commits de choses qu'on n'a pas relues et
qu'on sait qu'on va corriger.

> J'ai noté plusieurs bidules à modifier dans le fichier complet, que je
> me suis abstenu de faire pendant cette phase de traduction. Denis,
> peux-tu confirmer que la méthode de correction sur la branche todo que
> tu as décrite précédemment est toujours d'actualité pour ce faire ?

Oui, c'est bon, je m'occuperai d'intégrer ces changements quand la
traduction de la 3.28 sera complète.
Merci.

Denis



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