From: Paolo Bonzini <pbonzini@redhat.com>
To: "John Snow" <jsnow@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
Eduardo Habkost <ehabkost@redhat.com>,
qemu-block@nongnu.org, qemu-devel@nongnu.org,
Max Reitz <mreitz@redhat.com>, Cleber Rosa <crosa@redhat.com>
Subject: Re: applying mailing list review tags (was: Re: [PATCH v3 00/16] python: add mypy support to python/qemu)
Date: Wed, 17 Jun 2020 17:04:17 +0200 [thread overview]
Message-ID: <ce1b566c-dd78-194d-e287-2e7117aa7ad4@redhat.com> (raw)
In-Reply-To: <4ee8f32a-192d-b154-f3cc-c41e7ff56c58@redhat.com>
On 16/06/20 19:58, John Snow wrote:
> 1. Correlating a mailing list patch from e.g. patchew to a commit in my
> history, even if it's changed a little bit?
Use "git am --message-id"?
> (git-backport-diff uses patch names, that might be sufficient... Could
> use that as a starting point, at least.)
>
> 2. Obtaining the commit message of that patch?
> `git show -s --format=%B $SHA` ought to do it...
>
> 3. Editing that commit message? This I'm not sure about. I'd need to
> understand the tags on the upstream and downstream versions, merge them,
> and then re-write the message. Some magic with `git rebase -i` ?
"patchew apply" actually uses "git filter-branch --msg-filter" to add the
tags after a successful "git am", so you can do something similar yourself.
(Actually I have pending patches to patchew that switch it to server-side
application of tags using the "mbox" URL that Philippe mentioned earlier, but
they've been pending for quite some time now).
To get the upstream tags you can use the Patchew REST API:
$ MSGID=20200521153616.307100-1-stefanha@redhat.com
$ curl -L https://patchew.org/api/v1/projects/by-name/QEMU/messages/$MSGID/ | jq -r '.tags[]'
Reported-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
So you'd have to take a commit, look for a Message-Id header, fetch the
tags from above mentioned Patchew API URL and add the tags to the commit
message.
The commit message can be either emitted to stdout (and the script
used with "git filter-branch)" or, for the faint of heart, the script
could do a "git commit --amend" and you can use "git rebase -i --exec"
to execute the script on all commits in a range.
This script is for the latter option:
#! /bin/bash
BODY=$(git show -s --format=%B)
MSGID=$(git interpret-trailers --parse <<< $BODY | sed -n 's/^Message-Id: <\(.*\)>/\1/ip')
USER="$(git config user.name) <$(git config user.email)>"
BODY=$(curl -L https://patchew.org/api/v1/projects/by-name/QEMU/messages/$MSGID/ | \
jq -r '.tags[]' | ( \
args=()
while read x; do
args+=(--trailer "$x")
done
git interpret-trailers \
--if-exists doNothing "${args[@]}" \
--if-exists replace --if-missing doNothing --trailer "Signed-off-by: $USER" <<< $BODY
))
git commit --amend -m"$BODY"
The script will also move your Signed-off-by line at the end of the commit
message, this might be a problem if there is more than one such line and
you want to keep them all.
Paolo
next prev parent reply other threads:[~2020-06-17 15:15 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-04 20:22 [PATCH v3 00/16] python: add mypy support to python/qemu John Snow
2020-06-04 20:22 ` [PATCH v3 01/16] python/qmp.py: Define common types John Snow
2020-06-04 20:22 ` [PATCH v3 02/16] iotests.py: use qemu.qmp type aliases John Snow
2020-06-04 20:22 ` [PATCH v3 03/16] python/qmp.py: re-absorb MonitorResponseError John Snow
2020-06-04 20:22 ` [PATCH v3 04/16] python/qmp.py: Do not return None from cmd_obj John Snow
2020-06-04 20:22 ` [PATCH v3 05/16] python/qmp.py: add casts to JSON deserialization John Snow
2020-06-04 20:22 ` [PATCH v3 06/16] python/qmp.py: add QMPProtocolError John Snow
2020-06-04 20:22 ` [PATCH v3 07/16] python/machine.py: Fix monitor address typing John Snow
2020-06-04 20:22 ` [PATCH v3 08/16] python/machine.py: reorder __init__ John Snow
2020-06-04 20:22 ` [PATCH v3 09/16] python/machine.py: Don't modify state in _base_args() John Snow
2020-06-04 20:22 ` [PATCH v3 10/16] python/machine.py: Handle None events in events_wait John Snow
2020-06-04 20:22 ` [PATCH v3 11/16] python/machine.py: use qmp.command John Snow
2020-06-04 20:22 ` [PATCH v3 12/16] python/machine.py: Add _qmp access shim John Snow
2020-06-20 8:14 ` Philippe Mathieu-Daudé
2020-06-20 8:20 ` Philippe Mathieu-Daudé
2020-06-22 10:23 ` Kevin Wolf
2020-06-22 11:32 ` Philippe Mathieu-Daudé
2020-06-26 20:34 ` John Snow
2020-06-22 14:24 ` John Snow
2020-06-04 20:22 ` [PATCH v3 13/16] python/machine.py: fix _popen access John Snow
2020-06-04 20:22 ` [PATCH v3 14/16] python/qemu: make 'args' style arguments immutable John Snow
2020-06-04 20:22 ` [PATCH v3 15/16] iotests.py: Adjust HMP kwargs typing John Snow
2020-06-04 20:22 ` [PATCH v3 16/16] python/qemu: Add mypy type annotations John Snow
2020-06-05 9:26 ` [PATCH v3 00/16] python: add mypy support to python/qemu Kevin Wolf
2020-06-08 15:19 ` John Snow
2020-06-08 15:33 ` Kevin Wolf
2020-06-08 17:41 ` Philippe Mathieu-Daudé
2020-06-09 8:58 ` Markus Armbruster
2020-06-16 17:58 ` applying mailing list review tags (was: Re: [PATCH v3 00/16] python: add mypy support to python/qemu) John Snow
2020-06-17 3:33 ` Philippe Mathieu-Daudé
2020-06-17 15:25 ` [PATCH v3 00/16] python: add mypy support to python/qemu John Snow
2020-06-17 15:04 ` Paolo Bonzini [this message]
2020-06-17 17:18 ` Philippe Mathieu-Daudé
2020-06-17 17:18 ` John Snow
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ce1b566c-dd78-194d-e287-2e7117aa7ad4@redhat.com \
--to=pbonzini@redhat.com \
--cc=armbru@redhat.com \
--cc=crosa@redhat.com \
--cc=ehabkost@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).