Skip to content

Commit b6e6462

Browse files
GODRIVER-3550 Clean up wording
1 parent 88c5246 commit b6e6462

File tree

1 file changed

+49
-2
lines changed

1 file changed

+49
-2
lines changed

docs/CONTRIBUTING.md

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,55 @@ pull request to merge release/2.2 into release/2.3. Finally, once the changes ha
6666
release branches, the updates in release/2.3 are prepared to be merged into the master branch, ensuring all the bug
6767
fixes are incorporated into the latest codebase.
6868

69+
If a regression is identified in an older branch, the fix should be applied directly to the latest
70+
release branch. Once the pull request with the fix is merged into latest, the "Merge up" GitHub Action will
71+
automatically create a pull request to merge these changes into the master branch. This ensures that all bug fixes are
72+
incorporated into the latest codebase and actively supported versions.
73+
74+
For example, suppose we have four minor release branches: release/2.0, release/2.1, release/2.2, and release/2.3. If a
75+
regression is found in the release/2.1 branch, you would create a pull request to fix the issue in the latest supported
76+
branch, release/2.3. Once this pull request is merged, the "Merge up" GitHub Action will automatically create a pull
77+
request to merge the changes from release/2.3 into the master branch.
78+
79+
```
80+
gitGraph
81+
commit tag: "Initial main setup"
82+
83+
branch release/2.0
84+
checkout release/2.0
85+
commit tag: "Initial release/2.0"
86+
87+
checkout main
88+
branch release/2.1
89+
checkout release/2.1
90+
commit tag: "Bug introduced"
91+
92+
checkout main
93+
branch release/2.2
94+
checkout release/2.2
95+
commit tag: "Initial release/2.2"
96+
97+
checkout main
98+
branch release/2.3
99+
checkout release/2.3
100+
commit tag: "Initial release/2.3"
101+
102+
checkout release/2.1
103+
commit tag: "Bug found in release/2.1"
104+
105+
checkout release/2.3
106+
commit tag: "Bug fix applied in release/2.3 (Manual PR)"
107+
108+
checkout main
109+
merge release/2.3 tag: "Merge fix from release/2.3 into master (GitHub Actions)"
110+
commit
111+
```
112+
113+
However, it is also possible to apply the fix to the older branch where the bug was originally found. In our example,
114+
once the pull request is merged into release/2.1, the "Merge up" GitHub Action will initiate a series of pull requests
115+
to roll the fix forward: first into release/2.2, then into release/2.3, and finally into master. This process makes sure
116+
that the change cascades through every intermediate supported version.
117+
69118
```mermaid
70119
gitGraph
71120
commit tag: "Initial main setup"
@@ -105,8 +154,6 @@ gitGraph
105154
commit
106155
```
107156

108-
**Note**: In general, bug fixes should only target the latest release branch, since we only support patching the latest version. However, this is just a rule of thumb—exceptions can be made when necessary.
109-
110157
#### Pull Request Management
111158

112159
When the "Merge up" GitHub Action is enabled, multiple merge-up pull requests (such as PR1, PR2, and PR3) can be

0 commit comments

Comments
 (0)