jj/lib
Martin von Zweigbergk fb8d087882 backend: make backend aware of root commit
I had made the backends unaware of the virtual root commit because
they don't need to know about it, and we could avoid some duplicated
code by putting that in `Store` instead. However, as we saw in
b21a123bc8, the root commit being virtual has some user-visible
effects (they can't create a merge with the root and some other
commit). So I'm thinking that we may want to make the root commit an
actual commit, depending on which backend is used. Specificially, when
using the Git backend, we cannot record the root commit as an actual
parent since Git would fail when trying to look it up. Backends that
don't need compatibility can make the root commit an actual commit,
however.

This commit therefore makes the backends aware of the root commit. It
makes it remain a virtual commit in the Git backend, and makes it an
actual commit in the `LocalBackend`.

This commit breaks any existing repos using the `LocalBackend`, but
there shouldn't be any such repos other than for testing.
2022-09-20 21:20:57 -07:00
..
src backend: make backend aware of root commit 2022-09-20 21:20:57 -07:00
tests CommitBuilder: take parents as argument in for_new_commit() 2022-09-20 21:20:57 -07:00
build.rs protos: use run_from_script() in build.rs 2022-05-05 11:46:40 -07:00
Cargo.toml cargo: bump itertools from 0.10.4 to 0.10.5 2022-09-20 10:54:43 -07:00