Skip to content

Latest commit

 

History

History
69 lines (42 loc) · 3.67 KB

20220817_01.md

File metadata and controls

69 lines (42 loc) · 3.67 KB

基于开源版本的发型版如何保持与开源版本的同步? 开源项目分支关系与开发协作 - 路口

作者

digoal

日期

2022-08-17

标签

PostgreSQL , 开源 , 发型 , 同步 , 合并 , commit , 升级 , 路口


背景

基于开源版本的发型版如何保持与开源版本的同步?

pic

PG社区版本的分支结构

  • master: 主干
    • xx_stable: 某大版本
      • xx_BETA: 小版本
      • xx_RELEASE: 小版本
      • xx_RELEASE: 小版本
    • xx_stable: 某大版本
      • xx_BETA: 小版本
      • xx_RELEASE: 小版本
      • xx_RELEASE: 小版本
    • ...
      • ...

如果你要基于PG开发自己的产品, 怎么更好的和PG社区保持同步:

  • 必须选择master分支的某一个commit为起点.
    • 或者叫主干道(master)的路口, 在路口你可以选择继续走主干道(master), 也可以选择拐弯进入其他道路(某个大版本的分支). 如果你继续走主干道, 那么下一次遇到的就是下一个路口(下一个更大版本的分支).
    • 拐弯之后就是进入了某个大版本的分支(某stable分支), 沿着stable分支走就在该大版本的路上. 终极可能会有些该大版本的小版本release tag.
    • 主干道永不终结
    • 支路(各大版本的stable分支)会随着大版本的维护生命周期而终结, 通常是5-6年.
  • 这个起点必须来自master分支, 可以是master中某大版本的第一次release stamp. 例如 https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=86a4dc1e6f29d1992a2afa3fac1a0b0a6e84568c
  • 升级大版本, 可以从这个commit起点开始, 合并master分支的增量commit直到下一个大版本的第一次release stamp
  • 升级小版本, 可以从这个commit起点开始, 合并对应大版本的stable分支的增量commit直到下一个小版本: 例如 https://git.postgresql.org/gitweb/?p=postgresql.git;a=shortlog;h=refs/heads/REL_14_STABLE

如果你还想要有自己分支的发型版和开源版, 并对发型版和开源版有所区分, 想减少管理工作量, 可以将自己的开源版再作为上游. 原理如上.

例如: centos stream->rhel, postgresql-> edb,postgres_pro,greenplum

digoal's wechat