Watchman-based revision tracking in Hack Monitor Informant
commitf8d1b59093ccc7bbaee41d81c403c8997192cba8
authorAlexander Chow <achow@fb.com>
Sat, 28 Jan 2017 09:40:53 +0000 (28 01:40 -0800)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Sat, 28 Jan 2017 16:30:56 +0000 (28 08:30 -0800)
treeed71d5b9dffa65fc9e2d23a130a165c67373e144
parent7c520b1a8709992be852fe296022756b8e7b42b3
Watchman-based revision tracking in Hack Monitor Informant

Summary:
Watchman-based revision tracking in Hack Monitor Informant

See docs in code for more details.

In short,
Watchman tells us about state change events; we need query hg to
get corresponding SVN revisions for the HG revision in that event;
we keep queries in a map of deferred computations (Futures) so
all calls to the Informant are non-blocking; this map also doubles as
a cache (with no eviction policy :p) to trigger server restarts earlier.

Reviewed By: dlreeves, jamesjwu

Differential Revision: D4476118

fbshipit-source-id: 2717e74feae3334ca87d2c77f09928ad5c848a20
hphp/hack/src/server/hhMonitorInformant.ml
hphp/hack/src/server/hhMonitorInformant_sig.ml
hphp/hack/src/server/hhServerMonitor.ml
hphp/hack/src/utils/hg/hg.ml
hphp/hack/src/utils/hg/hg.mli
hphp/hack/src/watchman/watchman_sig.ml