ServerRecheckCapture module
commit09a710bcbc5bc9bb11ece88f29d600fd77576f08
authorTatiana Racheva <tatianaracheva@fb.com>
Mon, 16 Mar 2020 23:44:22 +0000 (16 16:44 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Mon, 16 Mar 2020 23:56:32 +0000 (16 16:56 -0700)
tree0e15cc14ad45bd969eb2f352a423389ede007606
parent76e52328dc8e61e345c9102b7fdb79c1f4b65ed6
ServerRecheckCapture module

Summary:
This is the first take at recording the recheck inputs and setting up the replay environment based on one of those inputs.

The recording part captures the following after a recheck
- the changed files (paths and contents)
- the list of rechecked files (may not correspond to the fanout of the changed files as some rechecks are interrupted
- the errors produced by the recheck
- the merge base
- the recheck ID (for record keeping)

To restore the environment for recheck replay, the setup function does this:
- checks out the WWW repo to the merge base of the captured recheck
- applies the changes based on the changed file paths and contents
- writes the list of files to recheck into the fanout input file
- writes the expected errors in the JSON format into the expected errors file

Reviewed By: yinghuitan

Differential Revision: D20399898

fbshipit-source-id: 1f23222d86c80d80233a6049e9ecfee7092b2763
hphp/hack/src/server/dune
hphp/hack/src/server/serverRecheckCapture.ml [new file with mode: 0644]