patman: Use the Change-Id, version, and prefix in the Message-Id
authorDouglas Anderson <dianders@chromium.org>
Fri, 27 Sep 2019 16:23:56 +0000 (09:23 -0700)
committerSimon Glass <sjg@chromium.org>
Tue, 15 Oct 2019 14:40:03 +0000 (08:40 -0600)
commit833e4192cd791733ddc0106996a4f86f9269ceba
tree41a6a96597433ffe9c104c92a75614cd4d6827cc
parented7ea058a904a0db5c007039adfa79d27da5bcde
patman: Use the Change-Id, version, and prefix in the Message-Id

As per the centithread on ksummit-discuss [1], there are folks who
feel that if a Change-Id is present in a developer's local commit that
said Change-Id could be interesting to include in upstream posts.
Specifically if two commits are posted with the same Change-Id there's
a reasonable chance that they are either the same commit or a newer
version of the same commit.  Specifically this is because that's how
gerrit has trained people to work.

There is much angst about Change-Id in upstream Linux, but one thing
that seems safe and non-controversial is to include the Change-Id as
part of the string of crud that makes up a Message-Id.

Let's give that a try.

In theory (if there is enough adoption) this could help a tool more
reliably find various versions of a commit.  This actually might work
pretty well for U-Boot where (I believe) quite a number of developers
use patman, so there could be critical mass (assuming that enough of
these people also use a git hook that adds Change-Id to their
commits).  I was able to find this git hook by searching for "gerrit
change id git hook" in my favorite search engine.

In theory one could imagine something like this could be integrated
into other tools, possibly even git-send-email.  Getting it into
patman seems like a sane first step, though.

NOTE: this patch is being posted using a patman containing this patch,
so you should be able to see the Message-Id of this patch and see that
it contains my local Change-Id, which ends in 2b9 if you want to
check.

[1] https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2019-August/006739.html

Signed-off-by: Douglas Anderson <dianders@chromium.org>
tools/patman/README
tools/patman/commit.py
tools/patman/patchstream.py
tools/patman/test.py