sapling/eden/fs/service
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
..
oss Tidy up license headers 2019-10-11 05:28:23 -07:00
test Remove dead includes in eden 2019-10-11 16:45:01 -07:00
.gitignore watchman: pull in thrift in the oss build for eden support 2019-02-04 21:37:47 -08:00
CMakeLists.txt rename tracing to telemetry 2019-10-15 13:39:41 -07:00
eden.thrift add a new getScmStatusV2() API to replace getScmStatus() 2019-10-29 09:56:31 -07:00
EdenCPUThreadPool.cpp Tidy up license headers 2019-10-11 05:28:23 -07:00
EdenCPUThreadPool.h Tidy up license headers 2019-10-11 05:28:23 -07:00
EdenError.cpp add EdenErrorType to EdenError 2019-10-29 09:23:03 -07:00
EdenError.h add EdenErrorType to EdenError 2019-10-29 09:23:03 -07:00
EdenInit.cpp remove EdenConfig accessors 2019-10-11 17:55:19 -07:00
EdenInit.h Tidy up license headers 2019-10-11 05:28:23 -07:00
EdenMain.cpp save version number in EdenServer 2019-10-24 12:48:33 -07:00
EdenMain.h save version number in EdenServer 2019-10-24 12:48:33 -07:00
EdenServer.cpp add EdenErrorType to EdenError 2019-10-29 09:23:03 -07:00
EdenServer.h save version number in EdenServer 2019-10-24 12:48:33 -07:00
EdenServiceHandler.cpp add a new getScmStatusV2() API to replace getScmStatus() 2019-10-29 09:56:31 -07:00
EdenServiceHandler.h add a new getScmStatusV2() API to replace getScmStatus() 2019-10-29 09:56:31 -07:00
EdenStateDir.cpp Tidy up license headers 2019-10-11 05:28:23 -07:00
EdenStateDir.h Tidy up license headers 2019-10-11 05:28:23 -07:00
fb-edenfs@.service set OOMScoreAdjust to -20 in systemd unit 2019-10-02 12:53:28 -07:00
PeriodicTask.cpp Tidy up license headers 2019-10-11 05:28:23 -07:00
PeriodicTask.h Tidy up license headers 2019-10-11 05:28:23 -07:00
PrettyPrinters.cpp Tidy up license headers 2019-10-11 05:28:23 -07:00
PrettyPrinters.h Tidy up license headers 2019-10-11 05:28:23 -07:00
StartupLogger.cpp Tidy up license headers 2019-10-11 05:28:23 -07:00
StartupLogger.h Tidy up license headers 2019-10-11 05:28:23 -07:00
streamingeden.thrift Tidy up license headers 2019-10-11 05:28:23 -07:00
Systemd.cpp Tidy up license headers 2019-10-11 05:28:23 -07:00
Systemd.h Tidy up license headers 2019-10-11 05:28:23 -07:00
ThriftPermissionChecker.cpp Tidy up license headers 2019-10-11 05:28:23 -07:00
ThriftPermissionChecker.h Tidy up license headers 2019-10-11 05:28:23 -07:00
ThriftUtil.h add EdenErrorType to EdenError 2019-10-29 09:23:03 -07:00