Main branch was previously merged to PG12 forking point (commit
9e1c9f95), just where development for PG13 started. To get all the
fixes made to the REL12_STABLE branch after it, need to merge to
REL_12_STABLE. As part of that effort merge to PG v12.12 release is
complete now in the iteration branch.
Now the question is should we merge this v12.12 iteration branch to
main branch or keep it separate only for 7X release?
Pros for merging the iteration branch to main:
- downstream extensions and components can easily test against the
final content of 7X, instead of keeping it separate and only merging
in beta branches. This misses to test the full content
- The main branch can also have all these fixes sooner. Future development
of features/enhancements can build on top of this instead of without
- don't have to constantly maintain iteration branch till 7X_STABLE
branch is cut and merge to 7X beta branches
- avoids pressure for forking 7X_STABLE branch sooner
Cons
- will merging main branch to v12.12 delink it to follow serial
upstream PG master branch timeline and cause future merge problems?
Timeline to help:
1 July 2019 30 June 2022
PG_master ----------------------------------------------------------
^ ^
PG12_STABLE forked PG15_STABLE forked
|
|
|
|
|< PG12.11 (9 May 2022)
|
|< PG12.12 (8 Aug 2022)
|
|< PG12.13 (7 Nov 2022)
To answer those questions, I looked ahead on the PG master branch and here
are the findings...
- PG15_STABLE fork point has all the commits till v12.11 as branching
happened after v12.11 date
- 50 extra commits exist v12.12 timeline not present on PG15_STABLE
fork point, out of those many are docs/test/small changes
# Total Commits in PG_12_STABLE since branch point
$ git log --since="2019-07-01" --format=oneline | wc -l
1913
# Total extra commits for v12.12 missing from PG15 fork point
$ git log REL_12_12 --since="2022-06-30" --format=oneline | wc -l
50
So, the proposed plan is...
- Next major PostgreSQL version merge to Greenplum will be till PG15
branch point (commit adadae45) for GPDB8. So, essentially will have
to leapfrog 3 PG major versions 13, 14 and 15 again in one go.
- Merge current v12.12 iteration branch to main as not much impact
and doesn't blur the serial timeline if above is considered
- Merge v12.13 and forward only to 7X_STABLE branch when its cut and
not to main branch
--
Ashwin Agrawal (VMware)