-
Notifications
You must be signed in to change notification settings - Fork 9.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Describe new spec branch and file layout #4154
Conversation
With related process tweaking.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One minor nit, one question
Pending @ralfhandl comment, so far looks good to me. @handrews mermaid is awesome. Thanks for the suggestion. |
Co-authored-by: Ralf Handl <[email protected]>
My only question here is how to update the longer lived branches (such as I propose one additional step of allowing updating the minor release branches (and therefore maybe also |
@lornajane I think we should figure out what the purpose of the different branches really is. I don't think there's any need to keep anything updated on the spec branches. That's not a hill I plan to die on, but I caution against making things more complex than they need to be. The spec branches are for the spec (and maybe the schemas, depending on how that issue is decided). What else is there?
|
|
@ralfhandl I considered Arguably, the |
Probably most of the debate here really comes down to the purposes of the branches and repositories. In my view:
|
Having less "other" things here is definitely going to help! However I'd still advocate for CONTRIBUTING file updates, plus new versions, to be available on those dev branches. I'd love to reason this use case away but I think it'll still happen to us ... could we formalise that we can merge main to dev (edit: this should say |
@lornajane I don't completely object to merging things up from What I want to avoid is anything that gets changed in multiple places and has to have those changes merged in multiple directions. Spec:
|
Here's an alternative diagram with a few improvements. NOTE: Mermaid will only do 8 colors round-robin, so please ignore that
---
config:
themeVariables:
git0: "#5588bb"
git1: "#cc8899"
git2: "#eedd88"
git3: "#ccbb66"
git4: "#aa9944"
git5: "#887722"
git6: "#99ccff"
git7: "#77aadd"
git8: "#5588bb"
gitBranchLabel1: "#000000"
gitBranchLabel2: "#000000"
gitBranchLabel3: "#000000"
gitBranchLabel4: "#000000"
gitBranchLabel5: "#ffffff"
gitBranchLabel6: "#000000"
gitBranchLabel7: "#000000"
---
gitGraph TB:
commit id:"merge 3.1.1.md to main" tag:"3.1.1"
branch dev order:1
commit id:"rename 3.1.1.md to src/oas.md"
branch v3.1-dev order:2
commit id:"update version in src/oas.md to 3.1.2"
checkout dev
branch v3.2-dev order:6
commit id:"update version in src/oas.md to 3.2.0"
commit id:"some 3.2.0 work"
checkout v3.1-dev
commit id:"a 3.1.x fix"
checkout v3.2-dev
merge v3.1-dev id:"merge 3.1.2 fixes"
checkout v3.1-dev
branch v3.1.2-rel order:3
commit id:"rename src/oas.md to versions/3.1.2.md"
checkout dev
merge v3.1-dev id:"update dev with active line patch release"
checkout main
merge v3.1.2-rel tag:"3.1.2"
checkout v3.2-dev
commit id:"more 3.2.0 work"
checkout v3.1-dev
commit id:"update version in src/oas.md to 3.1.3"
commit id:"another 3.1.x fix"
checkout v3.2-dev
commit id:"still more 3.2.0 work"
merge v3.1-dev id:"merge 3.1.3 fixes before releasing"
checkout dev
merge v3.1-dev id:"update dev with last pre-minor release patch release"
merge v3.2-dev id:"update dev with minor release"
checkout v3.1-dev
branch v3.1.3-rel order:4
commit id:"rename src/oas.md to versions/3.1.3.md"
checkout v3.2-dev
branch v3.2.0-rel order:7
commit id:"rename src/oas.md to versions/3.2.0.md"
checkout main
merge v3.1.3-rel tag:"3.1.3"
merge v3.2.0-rel tag:"3.2.0"
checkout dev
branch v3.3-dev order:9
checkout v3.1-dev
commit id:"update version in src/oas.md to 3.1.4"
checkout v3.2-dev
commit id:"update version in src/oas.md to 3.2.1"
checkout v3.3-dev
commit id:"update version in src/oas.md to 3.3.0"
checkout v3.1-dev
commit id:"a 3.1.4 fix"
checkout v3.2-dev
commit id:"a 3.2.1 fix"
merge v3.1-dev id:"merge 3.1.4 fixes before releasing"
checkout v3.3-dev
merge v3.2-dev id:"merge 3.1.4 / 3.2.1 fixes"
checkout dev
merge v3.2-dev id:"merge patch from active release line"
checkout v3.1-dev
branch v3.1.4-rel order:5
commit id:"rename src/oas.md to versions/3.1.4.md"
checkout v3.2-dev
branch v3.2.1-rel order:8
commit id:"rename src/oas.md to versions/3.2.1.md"
checkout main
merge v3.1.4-rel tag:"3.1.4"
merge v3.2.1-rel tag:"3.2.1"
checkout v3.2-dev
commit id:"update version in src/oas.md to 3.2.2"
checkout v3.3-dev
commit id:"3.3 work"
|
Action is with @handrews to implement this as written! |
With related process tweaking.
View the file as rendered markdown to see a diagram of the branching strategy!