gritzko
POST makes a commit and/or advances a branch tip, in all combinations. Always does fast-forward, refuses non-linear changes. The exact action sequence is defined by the shape of the URI:
then fragment can be empty (e.g. be post #).
be post...
#msg — commit msg, refer back (merge parent)
#msg! — commit, forget origin (squash)
#! — reuse absorbed msg, forget (rebase step)
# — reuse absorbed msg (empty fragment)
— (empty) bare: reuse absorbed msg (patch)
./path — narrow commit to path/submodule
./path#msg — narrow commit to path, with msg
?branch — advance ?branch to the wt base hash
?.. — advance parent branch to the wt hash
? — advance trunk to the wt hash
?other#msg — commit onto ?other, untie wt from cur
//host — FF-push cur's tip to remote (no commit)
//host#msg — commit, then FF-push to remote
//host?branch — push cur's tip to remote branch
ssh://host/repo?branch — push to remote branch over the wire
be://host?branch — push over beagle's keeper wire
post,put,delete records to detect a branch tip,post record to set the new tip.put, delete records for the list of staged files,patch records for the branches patched into the wt,get/posts for the tracked branch and parent hash,post record, setting the base wt commit.