Commit Graph

63103 Commits

Author SHA1 Message Date
Stefan Filip
93c1231c55 segmented_changelog: update hash_to_location to gracefully handle unknown hashes
Summary:
One of the primary use cases for hash_to_location is translating user provided
hashes. It is then perfectly valid for the hashes that are provided to not
exist.  Where we would previously return an error for the full request if a
hash was invalid, we now omit the hash from the response.

Reviewed By: quark-zju

Differential Revision: D26389472

fbshipit-source-id: c59529d43f44bed7cdb2af0e9babc96160e0c4a7
2021-02-11 12:17:35 -08:00
Stefan Filip
c9f3ae8fa4 edenapi: add commithashtolocation to python client
Summary: Same approach as locationtohash.

Reviewed By: quark-zju

Differential Revision: D26382616

fbshipit-source-id: a06c62c3eebcbe0b07b5c28fce4789a1334d55a4
2021-02-11 12:17:35 -08:00
Stefan Filip
cfed6bb108 edenapi: add commitlocationtohash to python client
Summary:
The approach is very similar to what commitrevlogdata does. You could say
that it's cargo culted.
I am not sure how appropriate it is to return CommitLocationToHashResponse
but I think that it's fine for now.

Reviewed By: quark-zju

Differential Revision: D26374219

fbshipit-source-id: 61d851d5a4fc4223c65078ef434a0c67314a90cd
2021-02-11 12:17:35 -08:00
svcscm
9b1d1bc3ea Updating submodules
Summary:
GitHub commits:

e4c9596345

Reviewed By: jurajh-fb

fbshipit-source-id: 96d3460b9610b958ceedb97d2b34ce3c6ea9f1b9
2021-02-11 11:45:06 -08:00
Alex Hornby
bfdced0f0b mononoke: fix ctime_age in scrub blobstore
Summary: It's totally valid to get a zero ctime_age if storage is quick (e.g. local integration tests), or a negative age if running vs storage without synchronized clocks.

Reviewed By: krallin

Differential Revision: D26404237

fbshipit-source-id: 8a479be8cac8adc81f39eabe0f73048f701a146c
2021-02-11 11:21:28 -08:00
svcscm
2bc670894e Updating submodules
Summary:
GitHub commits:

4d191ec70e
2004298808

Reviewed By: jurajh-fb

fbshipit-source-id: 75b993689fd979dcc566795099e3bfaf119e8d49
2021-02-11 10:22:13 -08:00
Stanislau Hlebik
af2ab0cf10 mononoke: store hydrated tree manifests in .hg
Reviewed By: krallin

Differential Revision: D26401093

fbshipit-source-id: e5050883b0e6f370a7cfbb5f46721aca7469dce1
2021-02-11 10:12:27 -08:00
Durham Goode
d7a4ce4783 py3: remove duplicate constant definition
Summary: This is defined else where in Python 3, so let's get rid of it here.

Reviewed By: quark-zju

Differential Revision: D26381054

fbshipit-source-id: 9746d2c53f83209d9c795ffdd5841d58ef1153ef
2021-02-11 09:50:25 -08:00
Durham Goode
5c6edef11c py3: fix simple Windows py3 issues
Summary: These are just a few one-liners to fix Python 3 on Windows.

Reviewed By: sfilipco

Differential Revision: D26381055

fbshipit-source-id: d9257f2cf35c05f931d74b7d26bdc79f5bf34185
2021-02-11 09:50:25 -08:00
svcscm
3eb36f0da2 Updating submodules
Summary:
GitHub commits:

40824414bb
f3edd0035e
5cfa13910c

Reviewed By: jurajh-fb

fbshipit-source-id: 39be11fdeffb0b06f0f81b0944b1a5994f1d6032
2021-02-11 09:45:49 -08:00
Durham Goode
9c1b611dff indexedlog: make writing to indexedlog the default
Summary:
We've rolled both of these out to 100%. Let's make this the default so
we can delete those configs.

Reviewed By: quark-zju

Differential Revision: D26233645

fbshipit-source-id: cd7a08c404483f78ab714763870f5bf0fa801e7a
2021-02-11 09:34:55 -08:00
Durham Goode
ca1249c269 packs: prevent creating mutable packs when using rust store
Summary:
We're seeing cases where Mercurial is creating unused .tmp pack files
and leaving them around. It looks like there are two places this can happen, 1)
in the treemanifest python code we manually instantiate some mutable packs, and
2) when doing a read from the rust data store, when it does a read against the
mutable pack store it will unnecessarily create the MutableDataPackInner struct,
which creates the temp file.

Let's fix those.

Reviewed By: quark-zju

Differential Revision: D26387205

fbshipit-source-id: 5a567c886849084bcc8121949dd2fb0f9e66d570
2021-02-11 09:31:00 -08:00
svcscm
980f20b22c Updating submodules
Summary:
GitHub commits:

db9ebbe5b7
882d651525
3a5deaca7b
1f38dc9f8a
b4c413aef4
bf2480f969
0a1e4063d1
c2abc34687

Reviewed By: jurajh-fb

fbshipit-source-id: 37b6a610a3827d1dc2d7cb0a670c1fac14ad7b4e
2021-02-11 08:49:12 -08:00
Jeremy Fitzhardinge
1e2c466fd0 third-party/rust: refresh vendored sources
Summary:
For whatever reason, the metadata and vendored sources do not match
the actual upstream sources. I deleted all of third-party/rust/vendor/** and
revendored.

Notable changes:
- libra-crypto and libra-canonical-serialization picked up changes from D25098952 (Nov 2020)

D25986058 updated the source location of z3, but didn't update the sources.
Unfortunately the updated location seems completely unbuildable, so for now
this doesn't update any of z3 until jagill can fix it.

Reviewed By: wangbj

Differential Revision: D26377549

fbshipit-source-id: d30dbaa7502c82c4b7cd64f8c80ab978a5646271
2021-02-11 06:45:20 -08:00
Stanislau Hlebik
5eccc41cef mononoke: fix phases mononoke admin
Summary: It was failing because caching was not initialized. This diff fixes it

Reviewed By: mitrandir77

Differential Revision: D26374106

fbshipit-source-id: 7481c145c56db9080e065908a4b5e9b136a18317
2021-02-11 06:06:27 -08:00
svcscm
cf9c8bf29f Updating submodules
Summary:
GitHub commits:

a81eb03225
2540a73fb2
3a3602f5ca

Reviewed By: jurajh-fb

fbshipit-source-id: 673cf56b02d08e8c339ba98c5f58418d63bad261
2021-02-11 03:40:13 -08:00
Alex Hornby
ffa4f49428 mononoke: shift code left in walk.rs walk_exact
Summary: Change from .map_ok() to async move to shift code left a bit

Differential Revision: D26366419

fbshipit-source-id: 833066b45702f36a4ce8d579994d1abb2d739f9e
2021-02-11 03:16:58 -08:00
Leszek Nowaczyk
8a9ec43d3e change logging.warn to logging.warning
Summary: logging.warn() is deprecated since Python 3.3 in favor of logging.warning()

Reviewed By: ahornby, mannatsingh, klshuster

Differential Revision: D25870738

fbshipit-source-id: d866a7925300ad3404a5c8da29e380d5d01d7dc2
2021-02-11 02:42:51 -08:00
svcscm
9aa08afa55 Updating submodules
Summary:
GitHub commits:

86c0460951
b6dd001573
d1c510baec

Reviewed By: jurajh-fb

fbshipit-source-id: f5f3965aa397166b2f3c336dc7d50be7bc59968b
2021-02-11 02:42:51 -08:00
svcscm
cbeabafe42 Updating submodules
Summary:
GitHub commits:

ffb1d8ab75
d9862cb9ad

Reviewed By: jurajh-fb

fbshipit-source-id: a0dd41a0f3690b4ff6f65bd530c2001ebb05adbd
2021-02-10 20:43:09 -08:00
Xavier Deguillard
7a0dec91ec cli: strictify all of the cli tests
Summary:
While I was fixing the cli_test I realized that the rest of the tests didn't
enforce strict type checking, let's make sure it is enabled so `pyre -l eden`
works for all the tests now and in the future.

Reviewed By: chadaustin

Differential Revision: D26356267

fbshipit-source-id: 4f026b6f96c410115a6a38d772f8e06ab977293b
2021-02-10 20:11:04 -08:00
Xavier Deguillard
ddb7859ffd cli: make macOS new clone case-insensitive
Summary:
The default filesystem on macOS (APFS) is case-insensitive, but EdenFS has so
far been case-sensitive except on Windows. Some of the native tools (Unity for
instance), expect macOS to always be case-insensitive, and is thus breaking due
to that.

The safe behavior would be to have EdenFS behave exactly the same as APFS: be
case insensitive. For now, to avoid breaking users this will be done on new
mounts only, and once fully validated, this will be made the default and forced
on.

Reviewed By: chadaustin

Differential Revision: D26356269

fbshipit-source-id: 96ca331d8c9726213520dff3e3563019d0400a95
2021-02-10 20:11:04 -08:00
svcscm
6d23734764 Updating submodules
Summary:
GitHub commits:

a39e7f0b4e
e54ae54c11
a8d97dcb34
9578d70ddf
4af213ceeb

Reviewed By: jurajh-fb

fbshipit-source-id: 6681da952f8f3a0aba3bfeace7f51c9b400dbe65
2021-02-10 19:35:44 -08:00
Durham Goode
8c08a42d22 dynamicconfig: introduce configs.allowedconfigs
Summary:
In our upcoming migration away from chef/static rc files, we'll be
marking certain files as "allowed". Our hope is that that list only includes
things like .hg/hgrc, ~/.hgrc, etc.

There are cases however where it's convienent to continue to use chef, for
instance when we condition on machine type. To support this, let's add an
allowed_config option, which will allow configs from non-supported locations.

This will also be useful when remediating issues that come up when we start
enforcing allow_location, without rolling back the entire thing.

Reviewed By: quark-zju

Differential Revision: D26233451

fbshipit-source-id: 71789e0361923a6f80de4aef7f012afc0269440d
2021-02-10 19:30:35 -08:00
svcscm
a4339ac009 Updating submodules
Summary:
GitHub commits:

b669bb9cac
029aff282b

Reviewed By: jurajh-fb

fbshipit-source-id: 5e03681012b67dad432604b4b4b004f3e1fa7102
2021-02-10 18:56:55 -08:00
Sean Kamath
ae5db40fdd Changing commit hash length to 9 in hg prompt
Summary:
Copied from D17312417 (e1f4dbeb3d), because that did what I needed done, but incremented by 1.

I would like to change the length of the displayed hash in scm-prompt
to 9. Why such an impactful diff? Because hg sl shows 9 characters, and I
always get confused when the hash in my prompt doesn't match hg sl

Reviewed By: kulshrax

Differential Revision: D25934253

fbshipit-source-id: 15f2bc8bc7d666de1a077d2bafd74ab3c9753341
2021-02-10 17:07:35 -08:00
Zeyi (Rice) Fan
dc22fd8777 add a wrapper to combine both Python & Rust EdenFS CLI
Reviewed By: xavierd

Differential Revision: D25792324

fbshipit-source-id: 2e54f27caa830076168b7f178b6a95718eeb9f92
2021-02-10 16:52:07 -08:00
Zeyi (Rice) Fan
f55a022f89 cli: introduce Rust wrapper
Summary:
This diff adds a Rust wrapper that will forward any command it fails to parse
to the companion binary `edenfsctl.real` at the same directory. This will allow
us to rewrite some of the subcommands in Rust while keeps the original
functionality.

With `EDENFSCTL_SKIP_RUST` environment variable set, it will skip the argument
parsing process in case of any emergency situation.

Reviewed By: xavierd

Differential Revision: D25758959

fbshipit-source-id: 0fbc69d0e0733ad2608622417be93dc7db2d6fa6
2021-02-10 16:52:06 -08:00
Xavier Deguillard
64c6704fd6 fscap: EdenFS on macOS may be case insensitive
Summary:
On macOS, EdenFS can be configured to be case insensitive, and will soon be
switching its default to be case insensitive. Mercurial however considers that
EdenFS is always case sensistive on unix (linux, macOS), so let's change it on
macOS so it manually checks if the working copy is.

Long term, EdenFS on macOS will always be case insensitive, at which point this
code will be changed again to indicate that and avoid the manual checks.

Reviewed By: chadaustin

Differential Revision: D26357816

fbshipit-source-id: 4022c097f2804da69cfcc176840683a6dca12ffd
2021-02-10 15:03:41 -08:00
Jun Wu
9579b11d7f tests: remove broken test-setdiscovery-t84623377.t
Summary:
The test wasn't meant to be committed. The feature it wants to test was not
easily testable (requires streamclone and pull to have different master,
which is true on Mononoke but false on local hg servers).

Reviewed By: sfilipco

Differential Revision: D26380544

fbshipit-source-id: 6fa720058df8b88ace704d186caa4213d9cd62c9
2021-02-10 14:42:39 -08:00
Jun Wu
334ff0a4ca setdiscovery: include tip in localheads if it's empty
Summary:
Previously we include tip in sample. But that is problematic for fast paths
like:

    if set(commonsample).issuperset(set(localheads) - {nullid}):
        ui.note(_("all local heads known remotely\n"))
        return localheads, True, remoteheads

If `localheads` is empty, then the returned "common heads" are empty, causing
downloading the entire repo inefficiently.

Fix the issue by moving `tip` from `sample` to `localheads` so the common
heads will include tip in the fast path.

Reviewed By: DurhamG

Differential Revision: D26374303

fbshipit-source-id: 45a2a44e4db4c4ec2a341522a257d46a62b058d5
2021-02-10 14:08:16 -08:00
Xavier Deguillard
74a34dd8c4 fs: default initialize XdrVariant
Summary:
My understanding of C++ not being perfect, I thought that these 2 fields would
be default initialized, but it turns out this is wrong, and the values of these
would be whatever is on the stack at the time a non-initialized variant is
used. The XdrSerialize variant test exercise this case and fails when optimized
due to that, this change fixes it.

Reviewed By: chadaustin, fanzeyi

Differential Revision: D26371695

fbshipit-source-id: 489cac846b51508809783bb577c7a97c4e6c060a
2021-02-10 13:18:46 -08:00
svcscm
d9571993d7 Updating submodules
Summary:
GitHub commits:

7ca3697c16
be0ae39a3d

Reviewed By: jurajh-fb

fbshipit-source-id: ec67266904e6e70977013bc0d7d7e3b852ed21ec
2021-02-10 13:05:17 -08:00
Xavier Deguillard
6f5f2c05f7 win: fix windows build
Summary:
The backingstore crate depends on mio which depends on ntdll. It's not entirely
clear to me why we need to do this manually and why cargo/cmake doesn't pick it
up automatically, but let's fix it this way for now.

Reviewed By: genevievehelsel

Differential Revision: D26376606

fbshipit-source-id: 26714b3f03aabefafdf48c7fb0f442cad501a058
2021-02-10 13:00:24 -08:00
Jun Wu
d3ac72a17e dag: impl max_level caching for indexedlog IdDag
Summary:
Previously the `IdDag` struct has max_level caching. With the previous diff the
cache was gone.  Re-implement it on the indexedlog IdDag to maintain
performance. This has visible performance wins:

Before:

  building segments                                 115.949 ms
  ancestors                                          93.072 ms
  children (spans)                                  495.732 ms
  children (1 id)                                    10.384 ms
  common_ancestors (spans)                            3.567 s
  descendants (small subset)                         25.829 ms
  gca_one (2 ids)                                   258.997 ms
  gca_one (spans)                                     3.718 s
  gca_all (2 ids)                                   440.764 ms
  gca_all (spans)                                     3.732 s
  heads                                             322.552 ms
  heads_ancestors                                    67.567 ms
  is_ancestor                                       165.046 ms
  parents                                           304.392 ms
  parent_ids                                         11.765 ms
  range (2 ids)                                      21.466 ms
  range (spans)                                      18.663 ms
  roots                                             471.934 ms

After:

  benchmarking dag::iddagstore::indexedlog_store::IndexedLogStore
  building segments                                 103.177 ms
  ancestors                                          68.485 ms
  children (spans)                                  451.383 ms
  children (1 id)                                     9.817 ms
  common_ancestors (spans)                            3.096 s
  descendants (small subset)                         24.845 ms
  gca_one (2 ids)                                   201.458 ms
  gca_one (spans)                                     3.185 s
  gca_all (2 ids)                                   357.899 ms
  gca_all (spans)                                     3.239 s
  heads                                             295.462 ms
  heads_ancestors                                    50.991 ms
  is_ancestor                                       146.798 ms
  parents                                           296.667 ms
  parent_ids                                         12.305 ms
  range (2 ids)                                       7.781 ms
  range (spans)                                      17.630 ms
  roots                                             478.574 ms

Reviewed By: sfilipco

Differential Revision: D26360564

fbshipit-source-id: 51f55a5bb4e69321515e02f45545618320c1bce5
2021-02-10 12:28:31 -08:00
Jun Wu
aa9dfeff2e dag: move algorithms from IdDag<Store> to Store
Summary:
Previously, algorithms are defined on `IdDag<Store>`, which requires a type
parameter to use. Move them to be defined directly on `Store` so using the
algorithms no longer require a type parameter. This will make it easier
to write code that calls algorithms on different IdDagStores.

Reviewed By: sfilipco

Differential Revision: D26360561

fbshipit-source-id: 8e0faf741019c4ed4119ad8e754aea9057b31866
2021-02-10 12:28:31 -08:00
Jun Wu
e270d50f75 dag: remove id.rs
Summary: It is not used. The definitions were moved to dag-types.

Reviewed By: sfilipco

Differential Revision: D26360562

fbshipit-source-id: 35e672194918e3f35294d69cad9e6990d8921900
2021-02-10 12:28:30 -08:00
Jun Wu
f23e466539 dag: impl Clone on IdSetIter
Summary:
This allows us to "fork" the iterator so we can "peek ahead" multiple items,
without affecting the original iterator.

Reviewed By: sfilipco

Differential Revision: D26360566

fbshipit-source-id: 4cba280e64338b20fb3e1584609be8fda9b3d616
2021-02-10 12:28:30 -08:00
Jun Wu
6a6c79cb5b dag: add IdSetIter fast paths
Summary:
Implement Iterator::{size_hint,count,last} for potential fast paths (ex.
Collect into a Vec).

Reviewed By: sfilipco

Differential Revision: D26360565

fbshipit-source-id: 227d9c5e615c2a0a624ba88d6d4c3f81b10d7795
2021-02-10 12:28:30 -08:00
Jun Wu
46519a3269 dag: fix benches/inprocess_iddag_serde
Summary:
Benchmark code is out of sync. Fix it.

Example run:

  benchmarking dag::iddag::IdDag<dag::iddagstore::in_process_store::InProcessStore> serde
  serializing inprocess iddag with mincode            0.664 ms
  mincode serialized blob has 707565 bytes
  deserializing inprocess iddag with mincode         42.477 ms

Reviewed By: sfilipco

Differential Revision: D26360563

fbshipit-source-id: f87e7ad53e6b6dadecaa0976e1c61f0399814104
2021-02-10 12:28:29 -08:00
Jun Wu
7f618a6a9e dag: fix benches/dag_ops
Summary:
Benchmark code is out of sync. This is an important benchmark.

Example run:

  benchmarking dag::iddagstore::indexedlog_store::IndexedLogStore
  building segments                                 111.814 ms
  ancestors                                          67.953 ms
  children (spans)                                  484.954 ms
  children (1 id)                                    12.599 ms
  common_ancestors (spans)                            3.337 s
  descendants (small subset)                         27.979 ms
  gca_one (2 ids)                                   216.430 ms
  gca_one (spans)                                     3.297 s
  gca_all (2 ids)                                   371.049 ms
  gca_all (spans)                                     3.348 s
  heads                                             303.232 ms
  heads_ancestors                                    52.821 ms
  is_ancestor                                       149.525 ms
  parents                                           294.633 ms
  parent_ids                                         12.173 ms
  range (2 ids)                                       7.612 ms
  range (spans)                                      16.991 ms
  roots                                             459.869 ms

  benchmarking dag::iddagstore::in_process_store::InProcessStore
  building segments                                  68.869 ms
  ancestors                                           6.683 ms
  children (spans)                                  175.711 ms
  children (1 id)                                     2.061 ms
  common_ancestors (spans)                          408.220 ms
  descendants (small subset)                          6.990 ms
  gca_one (2 ids)                                    16.983 ms
  gca_one (spans)                                   411.237 ms
  gca_all (2 ids)                                    27.921 ms
  gca_all (spans)                                   415.704 ms
  heads                                             110.486 ms
  heads_ancestors                                     5.228 ms
  is_ancestor                                        11.223 ms
  parents                                           108.636 ms
  parent_ids                                          0.746 ms
  range (2 ids)                                       1.539 ms
  range (spans)                                       5.885 ms
  roots                                             172.910 ms

  benchmarking NameDag with many heads
  range (master::draft)                              55.400 ms
  range (recent_draft::drafts)                       12.439 ms

Reviewed By: sfilipco

Differential Revision: D26360567

fbshipit-source-id: 6d3244e3f4655634c239f84a7304540860a7d34a
2021-02-10 12:28:29 -08:00
Jun Wu
ceb965456b dag: fix benches/segment_sizes
Summary:
Benchmark code is out of sync.  Fix it.
Two example runs:

Run 1:

  segments: 50039  log len: 1237879
  ancestor calcuation segment_size=4                449.747 ms
  segments: 41174  log len: 999428
  ancestor calcuation segment_size=8                606.643 ms
  segments: 39708  log len: 958176
  ancestor calcuation segment_size=10               612.112 ms
  segments: 38816  log len: 932717
  ancestor calcuation segment_size=12               684.228 ms
  segments: 38138  log len: 911815
  ancestor calcuation segment_size=14               682.280 ms
  segments: 37642  log len: 895854
  ancestor calcuation segment_size=16               727.111 ms
  segments: 37279  log len: 884784
  ancestor calcuation segment_size=18               654.083 ms
  segments: 37012  log len: 876470
  ancestor calcuation segment_size=20               641.833 ms
  segments: 36794  log len: 869558
  ancestor calcuation segment_size=22               698.835 ms
  segments: 36600  log len: 863383
  ancestor calcuation segment_size=24               752.355 ms
  segments: 36128  log len: 847833
  ancestor calcuation segment_size=32               726.615 ms
  segments: 35466  log len: 825696
  ancestor calcuation segment_size=64               770.747 ms
  segments: 35154  log len: 814629
  ancestor calcuation segment_size=128                1.075 s

Run 2:

  segments: 50039  log len: 1237879
  ancestor calcuation segment_size=4                423.746 ms
  segments: 41174  log len: 999428
  ancestor calcuation segment_size=8                571.049 ms
  segments: 39708  log len: 958176
  ancestor calcuation segment_size=10               610.347 ms
  segments: 38816  log len: 932717
  ancestor calcuation segment_size=12               656.025 ms
  segments: 38138  log len: 911815
  ancestor calcuation segment_size=14               647.035 ms
  segments: 37642  log len: 895854
  ancestor calcuation segment_size=16               674.061 ms
  segments: 37279  log len: 884784
  ancestor calcuation segment_size=18               687.186 ms
  segments: 37012  log len: 876470
  ancestor calcuation segment_size=20               635.952 ms
  segments: 36794  log len: 869558
  ancestor calcuation segment_size=22               679.665 ms
  segments: 36600  log len: 863383
  ancestor calcuation segment_size=24               781.148 ms
  segments: 36128  log len: 847833
  ancestor calcuation segment_size=32               741.290 ms
  segments: 35466  log len: 825696
  ancestor calcuation segment_size=64               761.951 ms
  segments: 35154  log len: 814629
  ancestor calcuation segment_size=128                1.049 s

Seems a good default can is in the 10 to 20 range.

Reviewed By: sfilipco

Differential Revision: D26360560

fbshipit-source-id: 1a2c0d97fe55c9f7e4621ab87da26072cd854bf8
2021-02-10 12:28:29 -08:00
Alex Hornby
9f8457f605 mononoke: add options to override repo bounds for walker
Summary: Its useful to be able to set the repo bounds used for a walk so that issues can be reproduced with the same inputs as a failing chunk.

Differential Revision: D26342439

fbshipit-source-id: b486387be59a3f4d21e3d3dc407420fc339c150d
2021-02-10 12:21:02 -08:00
svcscm
66197e12ad Updating submodules
Summary:
GitHub commits:

af3fd11ee7
998ef79ab9

Reviewed By: jurajh-fb

fbshipit-source-id: ce6ec4075631d9641075c3e0d00d802fef383484
2021-02-10 12:16:02 -08:00
Xavier Deguillard
62076b545e inodes: move dispatchers around
Summary:
Instead of having one "Dispatcher" type that the various backend overload,
let's simply have a per-mount type dispatcher type. The previous model worked
fine when EdenFS supported only one way of mounting a repository, but with NFS
coming, unix platform will support both FUSE and NFS, making the Dispatcher
overload nonsensical.

As a behavioral change, the dispatcher lifetime and ownership is changed a bit.
It used to live for the duration of the EdenMount object, but is now tied to
the channel lifetime, as it is now owned by it.

Reviewed By: kmancini

Differential Revision: D26329477

fbshipit-source-id: 3959b90a4909e3ab0898caa308f54686f59a943c
2021-02-10 11:52:06 -08:00
svcscm
b842d11153 Updating submodules
Summary:
GitHub commits:

78adf935a0
501d701b57
6fe168b951
7ebde3da45
c697c87fcf
e4be3e5672
57c7cc19a5
b27b68bf86

Reviewed By: jurajh-fb

fbshipit-source-id: f145a6a78f27e96d1d0be7473c07cba6c17a4e08
2021-02-10 11:47:26 -08:00
Alex Hornby
9ad29a97ed mononoke: remove BoxStream from walk.rs
Summary: The requirement for boxing is in tail.rs so do the boxing there.

Reviewed By: StanislavGlebik

Differential Revision: D26365153

fbshipit-source-id: 65974fd1e90ca9709ba58200a319ffc6b0fae5db
2021-02-10 10:41:35 -08:00
Stefan Filip
9394e9d035 edenapi_server: add /commit/hash_to_location
Summary:
This endpoint is used by the lazy Segmented Changelog to understand the
location of commit described by hashes. For example users may say that they
want to check out an older commit by hash. The client would then call this
endpoint to understand the relationship of the destination commit relative to
the graph.

Reviewed By: quark-zju

Differential Revision: D26289622

fbshipit-source-id: 4bbfd4bd4f91c984384fff5a6480b8d9d77cf8d3
2021-02-10 10:19:05 -08:00
Stefan Filip
508e226da1 edenapi: add hash-to-location types
Summary: Types for the future /commit/location_to_hash endpoint.

Reviewed By: quark-zju

Differential Revision: D26289621

fbshipit-source-id: 4dddf8fdefa891e6cc35ad692fdd616f2f2eee3f
2021-02-10 10:19:04 -08:00
Stefan Filip
34ff38fe8c mononoke_api: add RepoContext::many_changeset_ids_to_locations
Summary:
Exposes Segmented Changelog changeset to location translation functionality.
This is going to be used by EdenApi endpoints. Those endpoints will be used
by "lazy" Segmented Changelogs on client repositories.

Reviewed By: quark-zju

Differential Revision: D26289620

fbshipit-source-id: 6fb78abab465efd34e2768c8648f438647e9b91c
2021-02-10 10:19:04 -08:00