mirror of
https://github.com/facebook/sapling.git
synced 2024-10-05 22:37:37 +03:00
c407619ac1
Summary: In ProjectedFS terminology, the "backing store" refers to the state of files and directories in the source control backend. For the longest time, EdenFS assumed that the Inodes hierarchy was the "backing store", but this lead to subtle bugs. For instance, renaming a non-hydrated placeholder would render the file unreadable due to the read callback from ProjecedFS callback using the old file name, not the new one (https://github.com/microsoft/ProjFS-Managed-API/issues/68). It also meant that files just created would always get a tombstone written on disk when being removed as ProjectedFS queries EdenFS when removing a file via the access callback. Returning true from this callback means that this file is present in the backing store and thus ProjectedFS needs to create a tombstone on disk. In order to fix these issues, EdenFS needs not to query the Inodes hierarchy, but the Tree hierarchy. The latter matches with the expected behavior from ProjectedFS. For modification callbacks, these are by design acting on the Inode hierarchy and thus are unchanged. Reviewed By: chadaustin Differential Revision: D32022639 fbshipit-source-id: bef18a0709a7eff9ef0a48a90126d1339be0023e |
||
---|---|---|
.. | ||
lib | ||
absorb_test.py | ||
add_test.py | ||
CMakeLists.txt | ||
commit_test.py | ||
copy_test.py | ||
debug_clear_local_caches_test.py | ||
debug_get_parents.py | ||
debug_hg_dirstate_test.py | ||
diff_test.py | ||
doctor_test.py | ||
files_test.py | ||
fold_test.py | ||
graft_test.py | ||
grep_test.py | ||
histedit_test.py | ||
journal_test.py | ||
merge_test.py | ||
move_test.py | ||
negative_caching_test.py | ||
non_eden_operation_test.py | ||
post_clone_test.py | ||
pull_test.py | ||
README.md | ||
rebase_test.py | ||
revert_test.py | ||
rm_test.py | ||
rollback_test.py | ||
sparse_test.py | ||
split_test.py | ||
status_deadlock_test.py | ||
status_test.py | ||
storage_engine_test.py | ||
symlink_test.py | ||
undo_test.py | ||
update_test.py |
Integration tests in this directory are specific to the Eden extension for Mercurial.
Most tests will want to subclass HgExtensionTestBase
.