Description
Currently we have three downstream branches: main, 2023-06-14, and 2023-07-23. We landed #4 into 2023-06-14, but that doesn’t show up on main, nor does it show up in the new 2023-07-23 branch.
To fix the first problem, should we change our workflow a bit? My first idea was:
- Once only: rename 2023-07-23 to main
- Once only: reland Enable
font-variant
for Layout 2020 #4 into main - Once only: make Servo depend on main
- Before our next upgrade, cut a 2023-07-23 branch
- Do our next upgrade on main
- Land additional downstream patches into main
- Go to step 4
I don’t think that will break the ability to build old versions of Servo, because their lockfiles depend on a specific commit hash, but rewriting main has other downsides, like making the commits that land pull requests look orphaned. What about this, which ensures that the default branch is never rewritten:
- Once only: make 2023-07-23 the default branch
- Once only: reland Enable
font-variant
for Layout 2020 #4 into 2023-07-23 - Once only: delete the main branch
- Do our next upgrade into a new branch like 2024-01-01
- Make 2024-01-01 the default branch
- Land additional downstream patches into 2024-01-01
- Go to step 4
I’m not sure about the second problem though, because I only realised we had a new 2023-07-23 branch after landing #4 into 2023-06-14. It seems with both approaches, we would still need to make sure we avoid landing patches during an upgrade or into the wrong branch.