@@ -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
112112In 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