mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
0285670135
Summary: This is a first pass at updating eden to fetch tree manifest data from a remote mercurial server on demand. The code now catches MissingKeyErrors thrown by the datastore code, and then fetches the requested tree data from the remote server. This makes it safe to use tree manifest for import, as we can now fetch missing tree data as needed, instead of always returning I/O errors whenever we reach a tree not available locally. Unfortunately, the performance of downloading tree data is currently not very good: it takes 90+ seconds plus to download any tree data. The current mercurial server code appears to always provide full recursive tree data (unless you ask for the delta between two manifests, which we do not have). Even when asking for very small subdirectories, the server appears to send the full tree manifest data for the entire repository, sometimes taking longer than if we had asked for the full repository data to start with. Note that tree manifest import is still disabled by default with this diff, and must be explicitly enabled by running edenfs with `--use_hg_tree_manifest`. Reviewed By: wez Differential Revision: D5544817 fbshipit-source-id: 940e0c914f055edc1beee438b0ac50c2f8b08b03 |
||
---|---|---|
.. | ||
git | ||
hg | ||
test | ||
BackingStore.h | ||
BlobMetadata.h | ||
EmptyBackingStore.cpp | ||
EmptyBackingStore.h | ||
IObjectStore.h | ||
LocalStore.cpp | ||
LocalStore.h | ||
ObjectStore.cpp | ||
ObjectStore.h | ||
StoreResult.cpp | ||
StoreResult.h | ||
TARGETS |