Commit Graph

13 Commits

Author SHA1 Message Date
Puneet Kaushik
060d62f3c6 Add string conversion functions for Windows
Summary:
Backing store works with eden strings(UTF8 + Unix path separator). The path strings we receive on Windows from FS and cli are Windows paths
 (Win path separator and/or UTF16). Adding the functions to convert one to another.

Reviewed By: strager

Differential Revision: D13091788

fbshipit-source-id: f7fc8a79e360e964cf4619dfa540b57f1f18d283
2018-11-26 08:19:47 -08:00
Puneet Kaushik
55c9854125 Add WinError to create Windows error strings.
Reviewed By: strager

Differential Revision: D13091783

fbshipit-source-id: 1ba7ed5b60ede06bbd51eff1af53363d94b26ad3
2018-11-25 09:45:07 -08:00
Puneet Kaushik
f60a60189f Win: Add tracing to Windows builds
Reviewed By: chadaustin

Differential Revision: D12895179

fbshipit-source-id: ac11da16287f4dc73cbb18d05344d5caa66b56f7
2018-11-01 18:35:54 -07:00
Wez Furlong
1751dcad73 load blobs using hg's rust config and datapack code
Summary:
This diff implements getBlob on top of the mercurial rust
datapack code.  It adds a C++ binding on top of the rust code to
make it easier to use and hooks it up in the hg backing store.

Need to figure this out for our opensource and windows builds:

* Need to teach them how to build and link the rust code
* need to add a windows version of the methods that accept paths;
  this is just a matter of adding a WCHAR version of the functions.

Reviewed By: strager

Differential Revision: D10433450

fbshipit-source-id: 45ce34fb9c383ea6018a0ca858581e0fe11ef3b5
2018-10-31 17:58:01 -07:00
Wez Furlong
b43707234c move SerializedBlobMetadata into its own file
Summary:
I want to reuse this outside the LocalStore implementation
in a later diff.  This has no functional changes.

Reviewed By: chadaustin

Differential Revision: D12814792

fbshipit-source-id: 2cc34b449a93afb2e71bd49ed6587009ebf3e419
2018-10-31 11:50:39 -07:00
Wez Furlong
d623be956d pass ReloadableConfig down to HgBackingStore ctor
Summary:
This allows detecting changes to the edenrc configuration
and adjusting how we read data accordingly.

To avoid a huge gnarly diff with a lot of dependencies, this diff
introduces a little interface class that defines the method to obtain
a possibly reloaded EdenConfig instance.

This diff shouldn't change any functionality.

Reviewed By: chadaustin

Differential Revision: D12813051

fbshipit-source-id: 35390dc28671ba46a03d098c4f280e2f567dbdc9
2018-10-31 11:50:38 -07:00
Chad Austin
2a6dd2879d folly::Optional -> std::optional
Summary: Eden's on C++17 so fully cross the rubicon!

Reviewed By: strager

Differential Revision: D10498200

fbshipit-source-id: 4e2af5a8d5cef9a106e8c05e6f93ea9e5b8e696e
2018-10-23 18:51:59 -07:00
Puneet Kaushik
c292d5e9bf Win: Removing BackingStore.cpp and adding ObjectStore::create call to fix the build.
Reviewed By: chadaustin

Differential Revision: D10503338

fbshipit-source-id: 30ddc435aff4554c7b7edaa29218074f1149fdc7
2018-10-23 10:34:47 -07:00
Puneet Kaushik
1e94122c0b Win: Porting eden/service to Windows with fb-thrift
Reviewed By: strager

Differential Revision: D10225935

fbshipit-source-id: 5c571229e243b8fcabb9db8a6e15e1c66423edaf
2018-10-22 20:27:26 -07:00
Puneet Kaushik
9e39ecf9c5 Win: Added .thrift files to build scripts
Summary: Compiling eden.thrift, streamingeden.thrift and fb303.thrift (the oss version).

Reviewed By: simpkins

Differential Revision: D10244391

fbshipit-source-id: 6ff24064e91944d876ca9486dbc71e23c0092bfc
2018-10-11 13:38:20 -07:00
Puneet Kaushik
313fbbe0f9 Win: Restructured the Windows code to align with the eden code layout
Summary:
Restructured the Windows code to align with the eden code layout. Plus changed the build location to eden/win/build directory, which is generated by the Windows build script.
  eden
    \_fs
    \_ ...
    \_ win
        \_fs
           \_service
           \_utils
        \_build (generated by the build script)

Reviewed By: strager

Differential Revision: D10081143

fbshipit-source-id: db9fb25f963d1a9cccb8a8f83646e7e45c87d409
2018-09-28 13:14:11 -07:00
Puneet Kaushik
5a7df37497 win: Fixing build scripts to setup contbuild in lego-win
Summary:
Modified the build scripts to use dependencies from D:\edenwin64. This is the location where we will mount the edenwin64.iso.

It also contains changes to compile it with the latest Eden Linux changes plus removed some POC stuff and dependencies from my laptop.

Reviewed By: strager

Differential Revision: D9545688

fbshipit-source-id: e92e34d0af07974845faf9f729e0861fde5af459
2018-09-02 14:21:56 -07:00
Puneet Kaushik
eeaf1c0025 Started Eden for Windows and integrated hg store with it.
Summary:
This diff is first in the series to make Eden work on Windows. It includes:

1. HG backing store and Object store, which provides the capability to talk to mercurial and fetch the file and folder contents on Windows.
2. Subprocess and Pipe definition for Windows.
3. The Visual studio solution and projects files to compile Eden and scm datapack.

Few Important points:

1. Most of the changes to existing code is done under a macro EDEN_WIN so that it doesn't impact on other platform.
2. Sqlite is used for caching the fetched contents. We are not using Rocksdb on Windows.
3. The main function only calls some test code and exit after printing the output.
4. The initializeMononoke code is disabled for Windows because it needs Proxygen to talk HTTP. Will enable this once I get Proxygen and other dependencies working.
5. HgImporter pass Windows handles to hg_import_helper as command line args. The code to convert these handles into fds is in a separate diff.

Reviewed By: wez

Differential Revision: D8653992

fbshipit-source-id: 52a3c3750425fb92c2a7158c2c214a9372661e13
2018-08-21 17:53:38 -07:00