Currently what we have today is
- rebase detection on -- changes that are pure rebase won't be uploaded. however anything downstream will invalidate
- rebase detection off - everything is forced
we can add the following options
- lazy-relative - don't invalidate down the chain unless the PR reaches the first spot. the diff / tests will diverge for some PRs. retargeting may not work of course
- merge-relative - A -> B -> C instead of being direct is now a sequence of merges, ie A is still A, but B is on top of base with A merged in. if you rebase and modify C, A and B won't need to be pushed. retargeting will probably still work?
- shadow-branch - B targets a shadow branch which contains the last updated version of A. retargeting will definitely not work, but this is the only option where you can change B and the neither A nor C need to be pushed. scary though
Currently what we have today is
we can add the following options