sapling/eden/integration
Chad Austin 6394450579 restructure JournalDelta and fix Watchman subscription race
Summary:
Watchman's Eden integration has a bug where the combination of
Watchman querying Eden for overlapping delta ranges ("give me changes
between X and Y, now changes between X+1 and Y+1") and Eden eliding
redundant change events ("add-modify-remove" -> []) results in
Watchman sometimes reporting that a file exists in its final
subscription update when it no longer does.

The fix is to never elide events, even for files that were added and
removed in the same sequence. To continue to support Watchman's `new`
flag, track whether a file existed at the beginning and end of a
journal delta.

Reviewed By: wez

Differential Revision: D9304964

fbshipit-source-id: f34c12b25f2b24e3a0d46fc94aa428528f4c5098
2018-08-15 14:52:06 -07:00
..
helpers add integration tests for CLI behavior inside a stale mount 2018-07-27 18:36:55 -07:00
hg run some integration tests across all three LocalStore implementations 2018-08-15 10:22:02 -07:00
lib define paths as binary rather than strings in the thrift interface 2018-08-11 01:35:49 -07:00
basic_test.py have "eden clone" create a README file for unmounted checkouts 2018-06-26 21:06:42 -07:00
clone_test.py define paths as binary rather than strings in the thrift interface 2018-08-11 01:35:49 -07:00
corrupt_overlay_test.py fix crash when unmounting with corrupt overlay 2018-07-26 17:06:49 -07:00
debug_getpath_test.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
doteden_test.py enable Black python formatting and apply to eden 2018-05-09 21:37:07 -07:00
edenclient_test.py enable typechecking on Eden Python libraries 2018-08-03 15:07:00 -07:00
fsck_test.py enable typechecking on Eden Python libraries 2018-08-03 15:07:00 -07:00
glob_test.py define paths as binary rather than strings in the thrift interface 2018-08-11 01:35:49 -07:00
health_test.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
help_test.py improve the run_unchecked() API in the integration tests 2018-07-19 12:42:53 -07:00
hypothesis_simple_test.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
info_test.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
materialized_query_test.py restructure JournalDelta and fix Watchman subscription race 2018-08-15 14:52:06 -07:00
mmap_test.py enable Black python formatting and apply to eden 2018-05-09 21:37:07 -07:00
oexcl_test.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
patch_test.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
persistence_test.py have Overlay track nextInodeNumber_ instead of InodeMap 2018-05-31 01:46:15 -07:00
rage_test.py fix the eden rage command 2018-07-23 13:22:08 -07:00
rc_test.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
remount_test.py have "eden clone" create a README file for unmounted checkouts 2018-06-26 21:06:42 -07:00
rename_test.py update mtime on directories when renaming 2018-06-01 11:39:01 -07:00
repo_test.py enable Black python formatting and apply to eden 2018-05-09 21:37:07 -07:00
restart_test.py improve behavior of "eden restart" 2018-07-11 19:05:32 -07:00
sed_test.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
setattr_test.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
stale_test.py add integration tests for CLI behavior inside a stale mount 2018-07-27 18:36:55 -07:00
start_test.py update the CLI to make use of edenfs daemonization 2018-06-26 12:07:08 -07:00
stop_test.py improve behavior of "eden restart" 2018-07-11 19:05:32 -07:00
takeover_test.py add test verifying flush_cache works after a graceful restart 2018-05-31 18:52:27 -07:00
thrift_test.py define paths as binary rather than strings in the thrift interface 2018-08-11 01:35:49 -07:00
unixsocket_test.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
unlink_test.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00
xattr_test.py Upgrade to 18.5b1 2018-05-30 01:11:47 -07:00