Research on removal of GCA from Percona Server for MySQL merge process

Description

Advantages of GCA:

  • we may find commits that are not merged to higher branches

Disadvantages of GCA:

  • for every bugfix/feature we need to create 3 GCA-based branches (8.0, 8.4, trunk which sometimes are outdated)

  • we are not allowed to use  Squash and merge option from GitHub as it changes a commit hash

  • we need to do null-merges from 8.0 to 8.4 and from 8.4 to trunk after each set of quarterly releases

  • there are conflict if upstream didn't follow GCA between e.g. mysql-8.0.(x-1) and mysql-8.0.x (we did part1 and part2 in the past)

  • git commit history in trunk for every bugfix/feature is similar to:

instead of  a single commit e.g.

  • above 3 commits cause more conflicts to solve in linear branches

  • null-merges inherit some conflicts (e.g. conflicts solved commit) from lower branches

Environment

None

Activity

Przemyslaw Skibinski 
April 17, 2025 at 10:56 AM
(edited)

I asked ChatGPT to write a script that checks

and finds commits not available in all 3 branches using PS-xxxx numbers in commit titles.
The output looks good:

This one was not detected because of 2 numbers: PS-9378: Backport PS-9302 ...

Details

Assignee

Reporter

Labels

Needs QA

Start date

Priority

Created April 17, 2025 at 10:50 AM
Updated 20 hours ago