sapling/eden
Muir Manders 9fa7d36491 repo: share scmstore stores between Python and Rust
Summary:
I made the Rust repo able to construct the scmstore objects for Python, sharing the underlying stores. This way we don't have to worry as much about invalidating the Rust repo's stores. We only construct the minimal contentstore (i.e. no edenapi, memcache, etc). We only need the contentstore fallback to support the legacy Python fetching (and write to local stores) - everything else is handled by scmstore.

In particular, test-visibility.t was failing w/ workingcopy.ruststatus=True because the Rust repo's stores got out of sync w/ Python during an "unshelve" triggered rebase. The Rust stores are invalidated on transaction completion, but in this case the "unshelve" transaction hadn't closed yet.

Note that I couldn't remove the scmstore construction logic from pyrevisionstore because the tree stuff is still used by the treemanifestserver extension, and the file stuff is still used by the "shared only" store used to force fetch commits to update linkrev data. This would be good to clean up, but I'm focusing on the status stuff.

Reviewed By: quark-zju

Differential Revision: D46646005

fbshipit-source-id: 99683521a1df2ef07f6d166b670c6e860e629f58
2023-06-27 20:08:01 -07:00
..
fs symlinks: add gating for Windows symlinks on EdenFS 2023-06-27 13:11:01 -07:00
integration tests: make Windows tests use buck-built hg 2023-06-27 13:11:01 -07:00
locale
mononoke Fix Logview Scribe schematization 2023-06-27 11:51:09 -07:00
scm repo: share scmstore stores between Python and Rust 2023-06-27 20:08:01 -07:00
test_support tests: make Windows tests use buck-built hg 2023-06-27 13:11:01 -07:00
test-data test-data: remove snapshot 20190313 2022-02-04 13:50:48 -08:00
testlib Migrate "eden/testlib" from LLVM-12 to LLVM-15 2023-06-17 22:06:53 -07:00
.clang-tidy clang-tidy: disable facebook-hte-ContextDependentStaticInit 2022-11-04 15:33:50 -07:00
.gitignore
.mononoke_test_file test push 2022-01-06 05:57:35 -08:00
Eden.project.toml