Scenario: pushed
The parent scenario after git splice push, before and
after a git splice pull --bump. The commits are named as in the
drawings below.
Output
setup.bash builds this state:
$ build_scenario scenario_pushed
After the push, .splice still records n, so B stays at a and every
rebuild copies b, d and e again.
B is still a:
$ git log -1 --format=%s "$(git splice boundary lib)"
a
The bump:
$ git splice pull --bump -m f lib
ok lib fetched
ok lib: bumped the synced commit to 8430dba
The bump, f, records e' in .splice and changes nothing else. Its
folder is e', the commit it records, so it's the new B, and the
rebuild has nothing to add.
The monorepo:
$ git log --format=%s
f
e
d
c
b
a
initial commit
The upstream has the pushed commits, with the messages of b, d and e:
$ git -C "$UPSTREAM" log --graph --format=%s main
* e
|\
| * n
| * m
| * l
* | d
* | b
|/
* k
f is B:
$ git log -1 --format=%s "$(git splice boundary lib)"
f
And the splice is up to date:
$ git splice status
On branch main
up to date lib