sapling/eden
Wez Furlong 66eb606372 eden: add eden redirect subcommand
Summary:
This is part of the effort to make our bind-mount configuration more
visible and easier to change.

The idea is to generalize the concept of redirection and add a command to help
manage it.

The `eden redirect add` subcommand allows creating one of two different kinds
of redirection:

* `bind` - allocate some space using `mkscratch` and mount it into the repo
* `symlink` - allocate some space using `mkscratch` and create a symlink
  that points to it from the repo

On Linux we use bind mounts to implement `bind` but on macOS, which doesn't
have a bind mount concept, we create a sparse disk image file that can grow
to match the size of the disk on which it is created (in practice these are a
7-15MB in size to start and grow as the user stores data into them).

The `eden redirect del` subcommand allows removing a redirection, including
the legacy `bind-mounts` configuration from `.eden/client/config.toml`.

The `eden redirect list` subcommand lists the effective set of redirections,
both from the new redirections configuration and the legacy `bind-mounts`
configuration, along with their state.

The `eden redirect fixup` subcommand iterates over the effective set of
redirections and can remove and reinstate any that are in a broken state.

Reviewed By: strager

Differential Revision: D15707319

fbshipit-source-id: a5dd8c44c9f748482d7b48855b1305d44267885c
2019-06-25 18:42:38 -07:00
..
benchmarks update license headers in C++ files 2019-06-19 17:02:45 -07:00
cli eden: add eden redirect subcommand 2019-06-25 18:42:38 -07:00
docs Document how globs work 2019-03-07 14:20:57 -08:00
fs eden: add thrift calls for adding/removing bind mounts 2019-06-25 18:42:37 -07:00
integration eden: add eden redirect subcommand 2019-06-25 18:42:38 -07:00
locale add a copyright header to glibc_en.po 2019-04-26 14:38:27 -07:00
py update license headers in .py files 2019-06-19 17:02:46 -07:00
scripts update license header in remaining files 2019-06-19 17:02:46 -07:00
test_support update license headers in .py files 2019-06-19 17:02:46 -07:00
test-data generate a new version of the "basic" snapshot 2019-03-18 11:36:42 -07:00
third-party add osxfuse kernel header 2019-03-19 10:26:24 -07:00
win Kill legacySubscribe method for establishing streams 2019-06-24 11:06:22 -07:00
.gitignore eden: wire up mac contbuild 2019-02-05 21:52:30 -08:00
Eden.project.toml Eden.project.toml file for Nuclide 2018-04-26 11:05:23 -07:00