sapling/eden/scm/lib/backingstore
Durham Goode 6ae1cf9619 revisionstore: add refresh function
Summary:
The rust pack stores currently have logic to refresh their list of
packs if there's a key miss and if it's been a while since we last loaded the
list of packs. In some cases we want to manually trigger this refresh, like if
we're in the middle of a histedit and it invokes an external command that
produces pack files that the histedit should later consume (like an external
amend, that histedit then needs to work on top of).

Python pack stores solve this by allowing callers to mark the store for a
refresh. Let's add the same logic for rust stores. Once pack files are gone we
can delete this.

This will be useful for the upcoming migration of treemanifest to Rust
contentstore. Filelog usage of the Rust contentstore avoided this issue by
recreating the entire contentstore object in certain situations, but refresh
seems useful and less expensive.

Reviewed By: quark-zju

Differential Revision: D23657036

fbshipit-source-id: 7c6438024c3d642bd22256a8e58961a6ee4bc867
2020-09-17 10:16:03 -07:00
..
c_api implement batch blob import for HgNativeBackingStore 2020-06-10 19:29:25 -07:00
src revisionstore: add refresh function 2020-09-17 10:16:03 -07:00
test Merge fb-mercurial sources into the eden repository 2019-11-13 20:20:32 -08:00
tools Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
Cargo.toml revisionstore: use new EdenAPI crate 2020-07-09 13:08:27 -07:00
cbindgen.toml backingstore: add Tree and TreeEntry Rust structs to pass manifest 2019-11-19 18:01:23 -08:00
CMakeLists.txt revisionstore: add a LFS remote store 2020-03-19 14:36:18 -07:00