sapling/eden/fs
Genevieve Helsel 495b4394b8 add a new getScmStatusV2() API to replace getScmStatus()
Summary:
Add a new thrift API for computing the difference between the working
directory and a given source control commit.

This has the following differences from the old getScmStatus() commit:

- The parameters are accepted in a GetScmStatusParams structure now.
  This makes it easier for the server-side C++ implementation to tell which
  parameters have actually been specified by the caller.  This will make it
  easier to extend this API in the future without having to replace it with a
  new function call again.

- The return value is a GetScmStatusResult, which includes both the ScmStatus
  and the EdenFS version number.  This will allow code like `hg status` to get
  both the status results and the EdenFS version in a single call, without
  needing to make multiple separate thrift calls.

- This new call will return an error if the caller requests the status against
  a commit that disagrees with EdenFS's view of the current commit.  Because
  the individual `hg` command line processes do not perform any
  synchronization of their own when reading the working directory parent,
  they can often call EdenFS with stale parent information, or while a
  checkout is currently in progress.  This new behavior will reject the
  request with an error, rather than having EdenFS perform a potentially very
  expensive status computation when the results probably aren't actually
  useful to the caller anyway.

Reviewed By: chadaustin

Differential Revision: D15110218

fbshipit-source-id: ebc2f74dafc090d4fd245de8e4d62e2b086500dd
2019-10-29 09:56:31 -07:00
..
benchharness Tidy up license headers 2019-10-11 05:28:23 -07:00
config warn on unused exception parameter 2019-10-28 17:49:23 -07:00
fuse warn on unused exception parameter 2019-10-28 17:49:23 -07:00
inodes add a new getScmStatusV2() API to replace getScmStatus() 2019-10-29 09:56:31 -07:00
journal rename tracing to telemetry 2019-10-15 13:39:41 -07:00
model Remove dead includes in eden 2019-10-11 16:45:01 -07:00
rocksdb Remove dead includes in eden 2019-10-11 16:45:01 -07:00
service add a new getScmStatusV2() API to replace getScmStatus() 2019-10-29 09:56:31 -07:00
sqlite Tidy up license headers 2019-10-11 05:28:23 -07:00
store warn on unused exception parameter 2019-10-28 17:49:23 -07:00
takeover clang-format 2019-10-24 14:56:43 -07:00
telemetry introduce a StructuredLogger 2019-10-25 19:29:01 -07:00
testharness save version number in EdenServer 2019-10-24 12:48:33 -07:00
utils warn on unused exception parameter 2019-10-28 17:49:23 -07:00
win Use path class instead of manually copying the parent path. 2019-10-25 16:29:18 -07:00
CMakeLists.txt rename tracing to telemetry 2019-10-15 13:39:41 -07:00