sapling/eden/fs/win
Adam Simpkins d18ce1082e split edenfsctl start into foreground vs service logic
Summary:
This refactors the `edenfsctl start` command so that we more clearly split the
functionality into two pieces:
* Starting EdenFS as a service
* Running EdenFS in the foreground

In most normal situations in production the `start`, `restart`, and `stop`
commands are used to manage running EdenFS as a service.  In the future I
believe our service management logic will start to diverge a bit more on Linux
vs Mac vs Windows, and this should help isolate the service-management code a
bit more cleanly.

The foreground behavior is mainly only used by developers during testing and
during the integration tests.  Several options like `--gdb` and `--strace` are
only allowed in foreground mode, and this refactoring makes that clearer.  In
the future we may also want to further restrict this, to allow only
specifying additional custom arguments and a custom binary path when running
in foreground mode.  However, for now I have not updated that as I believe
some of our integration tests may be exercising this behavior today.

This change also cleans up some of the platform-specific code, and lets them
share more of the logic to construct arguments for edenfs.  With this change
`edenfsctl start --foreground` now works on Windows.

Reviewed By: pkaush

Differential Revision: D20833244

fbshipit-source-id: 0f09d59702d8b64ca8f4fedccbc30da1c858afb4
2020-04-15 15:46:25 -07:00
..
mount make deleted default constructors explicit 2020-04-14 12:47:03 -07:00
service split edenfsctl start into foreground vs service logic 2020-04-15 15:46:25 -07:00
store Rename collectXSemiFuture to collectX 2020-04-03 17:15:08 -07:00
testharness Add BlobCache to Windows EdenMount 2020-03-10 12:27:50 -07:00
utils Add getFileSha1 with char* input 2020-03-31 08:08:35 -07:00
CMakeLists.txt Add TestMount class to test EdenMount 2019-12-10 14:07:25 -08:00
Edenwin.h Tidy up license headers 2019-10-11 05:28:23 -07:00