Skip to main content

Push before moving a splice

The workaround for #4, in the same state: push the unpushed commit first, then move the splice. The local commit then reaches the upstream with its own message and author. The move changes no file inside the folder, so it doesn't reach the upstream at all.

Output​

setup.bash builds this state:

$ build_scenario scenario_moved_with_unpushed_commits
$ git splice push vendor/a
ok vendor/a: pushed e859a6b to main
$ git mv vendor/a libs/a && git -c user.name=Mover -c user.email=mover@example.com commit -q -m "reorganize folders"

A move changes no file inside the folder, so after a fetch under the new path (#21), there is nothing left to push:

$ git splice fetch libs/a && git splice status
ok libs/a fetched
On branch main

up to date libs/a
$ git -C "$UPSTREAM" log --format='%s (%an)' main
local change (Test)
seed (Test)