[Development] Using Git notes to reflect actual cherry-picks
thiago.macieira at intel.com
Sat Feb 12 08:04:25 CET 2022
(I don't think qtbase is the right place for this)
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.
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
Reviewed-by: Lars Knoll <lars.knoll at qt.io>
That tells us that the cherry-picks to 6.2 and 6.2.3 aren't present (I
abandoned after conflicts happened).
Pick-to: 6.3 6.2 6.2.3 5.15
Reviewed-by: Mårten Nordheim <marten.nordheim at qt.io>
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
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.
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...
Scanning branch 6.0.0...
Scanning branch 6.1...
c46b330fa721e82849194472651430ce255d06e1 cherry-picked from a5f0361622eb08eab6c3474d5fc249d1962e3d1e
Scanning branch 6.1.0...
2423608d6c0fa55595db3fe0138b0be94307596b cherry-picked from cc58bdfb57f6fe15113b797cad4d0486c9957ac6
Scanning branch 6.1.1...
Scanning branch 6.1.2...
Scanning branch 6.1.3...
Scanning branch 6.2...
c2b6f09d280db2862e9559590312b612b3dd42d0 cherry-picked from a8c729d83979fb0b9939044d246e73b1d578e65b
Scanning branch 6.2.0...
Scanning branch 6.2.1...
Scanning branch 6.2.2...
Scanning branch 6.2.3...
Scanning branch 6.3...
561047e095c136474b7d433372c5f779f82d7982 cherry-picked from ce942b2cbd97c82bf6e60e936e5f1601994b6d17
9c9d6410cae82aa5d624b7bc2654711f34d6588d cherry-picked from 4d98aa998eceb53ce616e9111553b8fdc5fad906
9dd1968924f88996d78e3e0d8fa2c82d38ccf37e cherry-picked from 2014101583b89128960f645e57192d1d475767e6
More information about the Development