Scenario: pushed-then-changed
The monorepo pushed a change, then changed the splice again. Upstream has nothing but that push.
- Monorepo (
vendor/a/): cloned atseed, a commit pushed withgit splice push, then another local commit. - Upstream:
seed, then the pushed commit. - Synced commit: still
seed-- a push doesn't write to the monorepo.
The rebuild is deterministic, so it rebuilds the pushed commit exactly. Upstream's tip is an ancestor of the rebuild, and the next push fast-forwards it.
Output
setup.bash builds this state:
$ build_scenario scenario_pushed_then_changed
$ git splice status
On branch main
ahead 1 vendor/a
$ git splice log
=== vendor/a (main)
< 8b60a90 later change (Test <test@example.com>)
$ git splice push vendor/a
ok vendor/a: pushed 8b60a90 to main
$ git splice status
On branch main
up to date vendor/a