[Development] Using Git notes to reflect actual cherry-picks
Thiago Macieira
thiago.macieira at intel.com
Sat Feb 12 08:04:25 CET 2022
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>
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>
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
Software Architect - Intel DPG Cloud Engineering
-------------- next part --------------
tjmaciei at tjmaciei-mobl5 ~/src/qt/qt6/qtdeclarative (dev u+3) $ git fetch
remote: Counting objects: 122, done.
remote: Compressing objects: 100% (121/121), done.
remote: Total 122 (delta 93), reused 0 (delta 0)
Receiving objects: 100% (122/122), 34.05 KiB | 223.00 KiB/s, done.
Resolving deltas: 100% (93/93), completed with 53 local objects.
>From https://code.qt.io/qt/qtdeclarative
49ef96b559..7ef9b094c2 dev -> origin/dev
9dd1968924..561047e095 6.3 -> origin/6.3
0bcce743bd..02db3796d6 wip/iosstyle -> origin/wip/iosstyle
tjmaciei at tjmaciei-mobl5 ~/src/qt/qt6/qtdeclarative (dev u+3-11) $ ../qtbase/util/cherrypicknotes/update-all.zsh
Scanning branch 6.0...
No changes.
Scanning branch 6.0.0...
No changes.
Scanning branch 6.1...
c46b330fa721e82849194472651430ce255d06e1 cherry-picked from a5f0361622eb08eab6c3474d5fc249d1962e3d1e
No changes.
Scanning branch 6.1.0...
2423608d6c0fa55595db3fe0138b0be94307596b cherry-picked from cc58bdfb57f6fe15113b797cad4d0486c9957ac6
Scanning branch 6.1.1...
No changes.
Scanning branch 6.1.2...
No changes.
Scanning branch 6.1.3...
No changes.
Scanning branch 6.2...
c2b6f09d280db2862e9559590312b612b3dd42d0 cherry-picked from a8c729d83979fb0b9939044d246e73b1d578e65b
No changes.
Scanning branch 6.2.0...
No changes.
Scanning branch 6.2.1...
No changes.
Scanning branch 6.2.2...
No changes.
Scanning branch 6.2.3...
No changes.
Scanning branch 6.3...
561047e095c136474b7d433372c5f779f82d7982 cherry-picked from ce942b2cbd97c82bf6e60e936e5f1601994b6d17
9c9d6410cae82aa5d624b7bc2654711f34d6588d cherry-picked from 4d98aa998eceb53ce616e9111553b8fdc5fad906
9dd1968924f88996d78e3e0d8fa2c82d38ccf37e cherry-picked from 2014101583b89128960f645e57192d1d475767e6
More information about the Development
mailing list