[Development] Using Git notes to reflect actual cherry-picks
Tor Arne Vestbø
Tor.arne.Vestbo at qt.io
Sat Feb 12 16:15:36 CET 2022
Very cool! As ossi suggests, this could potentially be handled by Gerrit, similar to this:
https://gerrit.googlesource.com/plugins/reviewnotes/%2B/master/src/main/resources/Documentation/refs-notes-review.md<https://gerrit.googlesource.com/plugins/reviewnotes/+/master/src/main/resources/Documentation/refs-notes-review.md>
If we enable something like this we should namespace the notes, e.g. refs/notes/cherry-picks so that fetching and showing them in git log output is optional.
Cheers,
Tor Arne
sOn 12 Feb 2022, at 08:04, Thiago Macieira <thiago.macieira at intel.com<mailto:thiago.macieira at intel.com>> wrote:
Implementation: https://codereview.qt-project.org/c/qt/qtbase/+/395465
(I don't think qtbase is the right place for this)
TL;DR:
I'd like to propose we use Git notes to include information into commits about
successful cherry-picks. I have the scripts done, see above. All we need is
that they are run weekly or the results pushed into the repository.
Long version:
The Pick-To footer is very useful so we don't have to remember to actually
cherry-pick a commit when it's done integrating: the bot will take care of
doing that for us and let us know if it fails. However, it's not reliable:
* a change may be abandoned in Gerrit after the bot started with it (too
difficult to continue, author didn't realise it didn't apply, etc.)
* a change may be cherry-picked without the footer, either in Gerrit or
directly using git cherry-pick -x
For that reason, I'd like to ask that we add the use of notes, to indicate
cherry-picks that have succeeded. Moreover, it will tell the user what commit
exists in that particular branch. For example, after running the script, I see
for a commit of mine:
Pick-to: 6.2.3 6.2 6.3
Change-Id: Icad7c1bad46a449c8e8afffd16cb743e622b3405
Reviewed-by: Lars Knoll <lars.knoll at qt.io<mailto:lars.knoll at qt.io>>
Notes:
Cherry-picks:
6.3: 34545edc501947a498bc6b1873624a5e307a7b1a
That tells us that the cherry-picks to 6.2 and 6.2.3 aren't present (I
abandoned after conflicts happened).
Similarly:
Fixes: QTBUG-99668
Pick-to: 6.3 6.2 6.2.3 5.15
Change-Id: I07321ad91be5adce524be18e4ab82eee7110dc6a
Reviewed-by: Mårten Nordheim <marten.nordheim at qt.io<mailto:marten.nordheim at qt.io>>
Notes:
Cherry-picks:
6.2.3: 4db05007d72963c082f3ffdfcc7a68c1fb53c266
6.3: 84ab463aa3e75c2b78f99d62c95577c6a0b5950f
This one looks wrong: 6.2.3 is present but not 6.2, So I searched Gerrit and
indeed, the change simply failed in the CI 3 weeks ago and no one pushed the
button again.
The scripts are pretty fast, but I've also made them work incrementally. See
the attached run example.
--
Thiago Macieira - thiago.macieira (AT) intel.com<http://intel.com>
Software Architect - Intel DPG Cloud Engineering
<qtdeclarative-run.txt>_______________________________________________
Development mailing list
Development at qt-project.org<mailto:Development at qt-project.org>
https://lists.qt-project.org/listinfo/development
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20220212/2d1b2877/attachment.htm>
More information about the Development
mailing list