Précédent: Configurer Git, Monter: Envoyer des correctifs [Table des matières][Index]
La commande git send-email
est la meilleure manière d’envoyer
aussi bien des correctifs isolés que des séries de correctifs
(voir Plusieurs correctifs) à la liste de diffusion de Guix. Envoyer des
correctifs en pièce-jointe peut les rendre plus difficile à revoir dans
certains clients de courriel et git diff
ne stocke pas les
métadonnées des commits.
Remarque : La commande
git send-email
est fournie par la sortiesend-email
du paquetgit
, c.-à-d.git:send-email
.
The following command will create a patch email from the latest commit, open it in your EDITOR or VISUAL for editing, and send it to the Guix mailing list to be reviewed and merged. Assuming you have already configured Git according to Voir Configurer Git, you can simply use:
$ git send-email --annotate -1
Astuce : Pour ajouter un préfixe à l’objet de votre correctif, vous pouvez utiliser l’option --subject-prefix. Le projet Guix utilise cela pour spécifier si un correctif est prévu pour une autre branche ou un autre dépôt que la branche
master
de https://git.savannah.gnu.org/cgit/guix.git.git send-email --annotate --subject-prefix='PATCH core-updates' -1
The patch email contains a three-dash separator line after the commit message. You may “annotate” the patch with explanatory text by adding it under this line. If you do not wish to annotate the email, you may drop the --annotate option.
If you need to send a revised patch, don’t resend it like this or send a
“fix” patch to be applied on top of the last one; instead, use
git commit --amend
or git
rebase
to modify the commit, and use the
ISSUE_NUMBER@debbugs.gnu.org address and the -v flag
with git send-email
.
$ git commit --amend $ git send-email --annotate -vREVISION \ --to=ISSUE_NUMBER@debbugs.gnu.org -1
Remarque : À cause d’un bogue dans
git send-email
, -v RÉVISION (avec un espace) ne marchera pas. Vous devez utiliser -vRÉVISION.
Vous pouvez trouver NUMÉRO_PROBLÈME soit en cherchant sur l’interface mumi sur https://issues.guix.gnu.org le nom de votre correctif ou en lisant l’accusé de réception envoyé automatiquement par Debbugs en réponse aux bogues et correctifs entrants, qui contient le numéro de suivi.
If your git checkout has been correctly configured (voir Configurer Git), the git send-email
command will automatically notify the
appropriate team members, based on the scope of your changes. This relies
on the etc/teams.scm script, which can also be invoked manually if
you do not use the preferred git send-email
command to submit
patches. To list the available actions of the script, you can invoke it via
the etc/teams.scm help
command. For more information regarding
teams, voir Équipes.
Remarque : On foreign distros, you might have to use
./pre-inst-env git send-email
for etc/teams.scm to work.
Alors que git send-email
seul suffira pour un unique correctif, un
problème malheureux de Debbugs fait que vous devrez faire plus attention
pour envoyer plusieurs correctifs : si vous les envoyez tous à l’adresse
guix-patches@gnu.org, un nouveau ticket sera créé pour chaque
correctif !
Lorsque vous envoyez une série de correctifs, il vaut mieux envoyer d’abord
un « résumé » Git pour donner un aperçu de votre série de correctifs aux
relecteur·ices. Vous pouvez créer un répertoire nommé sortant
contenant à la fois votre série de correctifs et un résumé appelé
0000-cover-letter.patch avec git format-patch
.
$ git format-patch -NUMBER_COMMITS -o outgoing \ --cover-letter
Remarque :
git format-patch
accepts a wide range of revision range specifiers. For example, if you are working in a branch, you could select all commits in your branch starting atmaster
.$ git format-patch master..MY_BRANCH -o outgoing \ --cover-letter
Vous pouvez maintenant envoyer seulement le résumé à l’adresse guix-patches@gnu.org ce qui créera un ticket auquel vous pourrez envoyer le reste des correctifs.
$ git send-email outgoing/0000-cover-letter.patch --annotate $ rm outgoing/0000-cover-letter.patch # we don't want to resend it!
Assurez-vous de modifier le courriel pour ajouter une ligne d’objet appropriée et un petit texte avant de l’envoyer. Remarquez le journal court et les statistiques de changements générés automatiquement sous votre texte.
Une fois que le logiciel de Debbugs a répondu à votre courriel de résumé, vous pouvez envoyer les correctifs à l’adresse de suivi nouvellement créée.
$ git send-email outgoing/*.patch --to=ISSUE_NUMBER@debbugs.gnu.org $ rm -rf outgoing # we don't need these anymore
Heureusement, cette danse avec git format-patch
n’est pas
nécessaire pour envoyer une série modifiée car un ticket existe déjà pour la
suite de correctifs.
$ git send-email -NUMBER_COMMITS -vREVISION \ --to=ISSUE_NUMBER@debbugs.gnu.org
If need be, you may use --cover-letter --annotate to send another cover letter, e.g. for explaining what’s changed since the last revision, and these changes are necessary.
Précédent: Configurer Git, Monter: Envoyer des correctifs [Table des matières][Index]