This is _extremely_ rough, but I feel like it's a worthwhile proof of
concept to help us push interfaces in the direction required to just
make this work for real.
This is based in part of work I did years ago in hgit, but it's mostly
new code since I'm using pygit2 instead of dulwich and the hg storage
interfaces have improved. Some cleanup of old hgit code by Pulkit,
which I greatly appreciate.
test-git-interop.t does not fully passcover a whole lot of cases, and this exposes some prettybut it
rough edges on some of our interfacespasses. It includes status, diff, making a new commit, but overall as an RFC I feeland `hg
like this is a good starting place.
To get this test to pass, we need to figure out more of the filelog sannotate` working on the git repository.
This is _not_ production quality code: this is an experimental hack to
try and push us towards this approach over the hg-git approach. Known
technical debt lurking in this implementation:
* Writing bookmarks just totally ignores transactions.
* Manifest recursion is probably wrong.
* Manifest writing should be cleaned up to split mutable and
immutable manifest contexts.