Skip to content

Commit b10e537

Browse files
jdconradrjernst
authored andcommitted
Update transport version documentation (elastic#138263)
This adds additional information about cherry-picking an original change when a decision has been made to add a backport version. Co-authored-by: Ryan Ernst <[email protected]>
1 parent 49626fe commit b10e537

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

docs/internal/Versioning.md

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,34 @@ needed to backport to `8.19` you would run (in `main`):
110110
./gradlew generateTransportVersion --name=my_tv --backport-branches=9.1,8.19
111111

112112
In the above case CI will not know what transport version name to update, so you
113-
must run the generate task again as described. After merging the updated transport
114-
version it will need to be backported to all the applicable branches.
113+
must run the generate task again as described. After merging the updated
114+
transport version it will need to be backported to all the applicable branches.
115+
Backport branches that already included the original change can use
116+
auto-backport in CI or cherry-pick the updated transport version. Backport
117+
branches that did not include the original change need to cherry-pick both the
118+
original change and the updated transport version. For example, with the above
119+
change that is first backported to `9.1`, and subsequently added to `8.19`, the
120+
sequence of events would look like the following:
121+
122+
1. Create a pull request with target branch `main` for a new change
123+
(`C0`) with a newly created transport version (`TV`) required by `C0`
124+
1. Use the `github` labels `auto-backport` and `branch:9.1` to backport `C0`
125+
and `TV` into the target branch `9.1`.
126+
2. Discover that `C0` is also required in target branch `8.19`.
127+
3. Create a pull request with target branch `main` for a change (`C1`) to only
128+
update `TV` to include `8.19`
129+
1. Use the gradle task
130+
`./gradlew generateTransportVersion --name=my_tv
131+
--backport-branches=9.1,8.19`
132+
to update `TV` to include `8.19`
133+
2. Use the `github` labels `auto-backport`, `branch:9.1`, and `branch:8.19`
134+
to backport `C1` and updated `TV` into the target branches `9.1` and `8.19`.
135+
This creates a source branch for `8.19` (`SB819`) that does not contain `C0`.
136+
3. Cherry-pick `C0` into the source branch `SB819`
137+
138+
Note there are several ways to achieve the desired end state. This
139+
specific example takes advantage of the available CI tooling to simplify the
140+
process.
115141

116142
### Resolving merge conflicts
117143

0 commit comments

Comments
 (0)