Commit Graph

61359 Commits

Author SHA1 Message Date
svcscm
cab3d4f181 Updating submodules
Summary:
GitHub commits:

2b94e113a0
f35f7f2704

Reviewed By: jurajh-fb

fbshipit-source-id: 27faab1a930546ca0b8e37bf268765f85311a9bc
2020-10-27 11:21:31 -07:00
Genevieve Helsel
33e09c8dac add commit_multiple_path_info method
Reviewed By: krallin

Differential Revision: D24524267

fbshipit-source-id: a36bf7ca9c42285814e88aacd51aa6c3c129b3d7
2020-10-27 10:38:17 -07:00
svcscm
a3318b8293 Updating submodules
Summary:
GitHub commits:

f5ebbb4d29
c007e59002

Reviewed By: jurajh-fb

fbshipit-source-id: f7788d45d910c6109f8d3badbc0a172ccf82ce6e
2020-10-27 10:38:17 -07:00
svcscm
7b3cafdb4d Updating submodules
Summary:
GitHub commits:

e2dab2630e
c9b290f4c1

Reviewed By: jurajh-fb

fbshipit-source-id: 07f23131b38fd431e9034ad43d2f781e9c0acfb3
2020-10-27 09:42:18 -07:00
Stanislau Hlebik
e76fa7ff9d mononoke: remove unused clone
Reviewed By: krallin

Differential Revision: D24564862

fbshipit-source-id: a03a0c5ba677bb11dce11bf06f259f6bd43dd54f
2020-10-27 09:13:43 -07:00
Stanislau Hlebik
972ce32a65 mononoke: fix warnings
Reviewed By: krallin

Differential Revision: D24564863

fbshipit-source-id: 0c461aac40ae50d7315cdcda21e9d7b003a5e536
2020-10-27 09:13:42 -07:00
Alex Hornby
a2ded99cf2 mononoke: update Phases::add_reachable_as_public to futures03
Summary:
update Phases::add_reachable_as_public to futures03

With this change all the Phases methods are futures03

Reviewed By: krallin

Differential Revision: D24531552

fbshipit-source-id: e9201621b798739d4d7dd197f15188103e9d359a
2020-10-27 08:06:12 -07:00
Alex Hornby
3ba61d5db5 mononoke: small improvement to walker command line edge type parsing
Summary: Simplify the combinator usage a little.

Reviewed By: krallin

Differential Revision: D24530950

fbshipit-source-id: 153e8a746b5a4a88c5341331f56144684e5e48eb
2020-10-27 07:44:39 -07:00
svcscm
ab2c531fb5 Updating submodules
Summary:
GitHub commits:

0a01350f65
fe902910a4
471afadf2c
6954525e8c
28bee4bfef
f5498cfc50

Reviewed By: jurajh-fb

fbshipit-source-id: 49fc83b35f663c4e47f938e66a9b17ccde0941e8
2020-10-27 06:44:46 -07:00
Kostia Balytskyi
7f5fb3c574 cross_repo_sync: start borrowing more instead of cloning
Summary:
Fewer clones, better code.

Note that in some cases we would previously have a fn that takes `ctx` by
ownership and just passes it through to some other fn outside of the
`cross_repo_sync`. I triead to make all such functions borrow and clone instead
in order to push cloning to the leaf fns of `cross_repo_sync`.

Reviewed By: StanislavGlebik

Differential Revision: D24538028

fbshipit-source-id: 8a3e78d4076b34d8b1767cdee1db3fdbb7acb4f7
2020-10-27 04:19:51 -07:00
Simon Farnsworth
4e59e26775 Thread ConfigStore into blobstore creation
Summary: SQLBlob GC (next diff in stack) will need a ConfigStore in SQLBlob. Make one available to blobstore creation

Reviewed By: krallin

Differential Revision: D24460586

fbshipit-source-id: ea2d5149e0c548844f1fd2a0d241ed0647e137ae
2020-10-27 04:14:24 -07:00
Alex Hornby
7b278b8bed mononoke: update Phases::get_public to futures03
Summary: update Phases::get_public to futures03

Reviewed By: krallin

Differential Revision: D24531550

fbshipit-source-id: ff60e178a58be6cc2a156b4a3685035c6a372785
2020-10-27 03:50:41 -07:00
Alex Hornby
f1f5d4b117 mononoke: update phases imports so that BoxFuture is the futures03 version
Summary: update phases imports so that BoxFuture is the futures03 version

Reviewed By: krallin

Differential Revision: D24531551

fbshipit-source-id: 1debb007456292fed1113f8c46e019bef27255c2
2020-10-27 03:50:41 -07:00
Alex Hornby
82642a9af9 mononoke: use the new BonsaiDerived::fetch_derived when scrubbing fsnodes
Summary: Use the new BonsaiDerived::fetch_derived from the walker when scrubbing fsnode derived data.   This saves a round trip to derived data and simplifies bonsai_to_fsnode_mapping_step().

Reviewed By: krallin

Differential Revision: D24311164

fbshipit-source-id: b26c6bdef548ca15c0cdbffde675f1a11d8b510e
2020-10-27 02:37:41 -07:00
Alex Hornby
9cdc40f1be mononoke: fix flaky test-walker-count-objects.t
Summary: Fix flaky test-walker-count-objects.t with some missing globs.  Some walker stats vary with execution order.

Reviewed By: StanislavGlebik

Differential Revision: D24391592

fbshipit-source-id: 05a94c23849d4e6db026926ead1b39dbf1e6fe54
2020-10-27 02:37:41 -07:00
Alex Hornby
55547c6cd4 mononoke: add BonsaiDerived::derive03
Summary:
Add BonsaiDerived::derive03 for new callsites that are 0.3/async aware.

Plan is to migrate callsites and then rename BonsaiDerived::derive03 to derive.

Reviewed By: StanislavGlebik

Differential Revision: D24389763

fbshipit-source-id: 4a6f351b9e0c5a2e9a9c47429764f88c47caff08
2020-10-27 02:37:41 -07:00
Alex Hornby
dde412f273 mononoke: pass references to derive_impl::derive_impl
Summary: Preparation for exposing an async BonsaiDerived::derive variant

Reviewed By: StanislavGlebik

Differential Revision: D24389762

fbshipit-source-id: c24b23c3858a91e96b93348a7e42266bee5809a0
2020-10-27 02:37:41 -07:00
Alex Hornby
453b6f74f2 mononoke: async derive_impl::derive_impl
Summary: Async derive_impl::derive_impl in preparation for exposing an async BonsaiDerived::derive method

Reviewed By: StanislavGlebik

Differential Revision: D24389766

fbshipit-source-id: 086cfef5c6bb6465dac5a18a3d809d822409c6bf
2020-10-27 02:37:41 -07:00
Alex Hornby
9c93ce6b57 mononoke: remove derive_with_mode, appears to have no callsites
Summary: No callsites when I search

Reviewed By: StanislavGlebik

Differential Revision: D24389765

fbshipit-source-id: ed1985922a9c1af51afb37fb5e331d32c29fd09e
2020-10-27 02:37:41 -07:00
Alex Hornby
becc064c48 mononoke: add a BonsaiDerived::fetch_derived method that will get the derived data if present
Summary:
This diff adds a method BonsaiDerived::fetch_derived which is useful for callers currently doing BonsaiDerived::is_derived, and then BonsaiDerived::fetch_derived.

Using the new method cuts out one round trip to derived data, and simplifies calling code.   Usage of this in the walker when scrubbing fs nodes is in the next diff.

Reviewed By: StanislavGlebik

Differential Revision: D24311166

fbshipit-source-id: dc52a15076768a6a15ede6dd5872aaaf3f552b66
2020-10-27 02:37:41 -07:00
svcscm
eece6115e9 Updating submodules
Summary:
GitHub commits:

867a7df5cb

Reviewed By: jurajh-fb

fbshipit-source-id: 31826b5ee078eabe567bf946093434e44dfa9277
2020-10-27 02:37:41 -07:00
svcscm
1aa16bad50 Updating submodules
Summary:
GitHub commits:

e5dd4b460d
2782e42f77

Reviewed By: jurajh-fb

fbshipit-source-id: 774f8a1ccc1c5948bd18b1d48db55de10c39749c
2020-10-26 22:03:07 -07:00
Xavier Deguillard
0a3bc0c7d6 utils: fix SpawnedProcess.pipe test on @mode/win
Summary:
When built with buck, cmake isn't available, switch to a method of echoing that
should be available on every system: powershell.

Reviewed By: genevievehelsel

Differential Revision: D24493404

fbshipit-source-id: 5986b846a211be59f1057b1e7ecd924f3f7380a5
2020-10-26 20:56:17 -07:00
svcscm
9887b5f6cb Updating submodules
Summary:
GitHub commits:

0448cfd2d9
e90879cf91
2988ba752b

Reviewed By: jurajh-fb

fbshipit-source-id: 6f7b725e8b07e0f54fb191ddcc7135feed79bc42
2020-10-26 20:56:17 -07:00
svcscm
c8d57bf777 Updating submodules
Summary:
GitHub commits:

f9a8116a68
b6eacda51f
101e328981
505cbc78dd

Reviewed By: jurajh-fb

fbshipit-source-id: 7e44d83ac4faf69f23ed190ad63d8e882b5183a2
2020-10-26 18:09:03 -07:00
Durham Goode
87183d6b0f log: backout D24293498 about prefetching commit data
Summary:
D24293498 (ea03d62698) is causing 'hg log scm/metagit' to fail with weird revision
number lookup errors. Let's back it out for now.

Reviewed By: singhsrb

Differential Revision: D24549796

fbshipit-source-id: b10c4caf8fdadd2955ae1f829381c66d788042e6
2020-10-26 16:42:40 -07:00
svcscm
c425781c8d Updating submodules
Summary:
GitHub commits:

85db1ac113

Reviewed By: jurajh-fb

fbshipit-source-id: 076e99e860775c802bb78af66abe0d3241a43769
2020-10-26 14:09:14 -07:00
Xavier Deguillard
13236d6f8b prjfs: ignore access denied errors on invalidation
Summary:
We've had a handful of reports of access denied errors seen during an `hg
update`, ignore them due to:

```
// TODO(T78476916): The access denied are coming from
// PrjMarkDirectoryAsPlaceholder recursively calling into EdenFS, which
// is denied by the BAIL_ON_RECURSIVE_CALL macro.
//
// In theory this means that EdenFS is invalidating a directory that
// isn't materialized, ie: doing useless work. Despite having a negative
// performance impact, this doesn't affect correctness, so ignore for now.
//
// A long term fix will need to not issue invalidation on directories
// that aren't materialized.
```

Reviewed By: wez

Differential Revision: D24544622

fbshipit-source-id: 4f421836b6d8c7b527e860dcf55103e0e239e3ae
2020-10-26 14:02:16 -07:00
Chad Austin
45112fbf19 fix compilation warnings
Summary: Fix some build warnings that show up on macOS.

Reviewed By: wez

Differential Revision: D24436572

fbshipit-source-id: bd300110df79fe9d259c8f5ce2b1085cb85a0cac
2020-10-26 13:43:48 -07:00
Saurabh Singh
7fcc71e9d4 smartset: back out use Rust reentrant generator for generatorset
Summary: This is essentially a backout of D24365328 (9f664a8b30).

Reviewed By: DurhamG

Differential Revision: D24544495

fbshipit-source-id: 08f598df0892a8479fac563096f9782038e18dfe
2020-10-26 11:58:31 -07:00
svcscm
aa04fa6c9a Updating submodules
Summary:
GitHub commits:

fa7945b11c

Reviewed By: jurajh-fb

fbshipit-source-id: 9b8990bebe75ebac0c896f1e3372173a7f529f04
2020-10-26 11:58:31 -07:00
svcscm
e5c7e322d6 Updating submodules
Summary:
GitHub commits:

e49ee5a436
189128a8f0
924bb3baef
3f102545c5
ec3f731b3d
39aa7980fc
a89faad495

Reviewed By: yns88

fbshipit-source-id: 6eedb9c48e928c03405da9be31157d55fac4baf7
2020-10-26 08:31:53 -07:00
Mark Thomas
dfa28f4b7a bookmarks_movement: check repo lock state before moving public bookmarks
Summary:
Before allowing a bookmark to be moved, check whether the repo is read-only or not,
and deny the bookmark move if the repo is read-only.

This can be bypassed by setting the `BYPASS_READONLY=true` pushvar.

Reviewed By: krallin

Differential Revision: D24063027

fbshipit-source-id: 7b5f66e5d89058f6c5765b020149a81b674e795c
2020-10-26 07:56:31 -07:00
svcscm
5903136f3f Updating submodules
Summary:
GitHub commits:

9d16f21ddd
36111c1cf9
274b5df00f

Reviewed By: yns88

fbshipit-source-id: 62508cb882e7ae2bfc678f86132603391969377d
2020-10-26 05:33:52 -07:00
Stanislau Hlebik
114bb9eef5 mononoke: do not create rsync commit if there's nothing to move
Summary: There's no need to create an empty commit.

Reviewed By: krallin

Differential Revision: D24537264

fbshipit-source-id: 41a80fcbf5cab28b731dae53c58653ec4b434716
2020-10-26 05:30:53 -07:00
svcscm
a84c666adc Updating submodules
Summary:
GitHub commits:

30d9d17520
e99dd3611b
2ec0f0a581
26582c2b38
17d4f12719
225d9afcaf
29847f7261
dad6a0eb69
0f6d65e558
5c62149ea9
a419ffcf39

Reviewed By: yns88

fbshipit-source-id: 7a1d5866514b90fbd0fbd6fce7cb74fac433e5ad
2020-10-26 05:00:31 -07:00
Stanislau Hlebik
2a73f8d3aa mononoke: add more debug output to admin rsync
Summary: To make it clearer what's going on

Reviewed By: krallin

Differential Revision: D24534961

fbshipit-source-id: 049edbf1b6b648670a6c6ef68b14698a27ea1a0e
2020-10-26 04:57:44 -07:00
Stanislau Hlebik
713556c487 mononoke: add arguments to limit total file size in rsync command
Summary:
There are two new options (and one option was renamed):
1) First option (--file-size-limit) adds a way to limit total size of moved files
2) Second option (--lfs-threshold) adds a way to exclude size of the files that
are above the threshold from --file-size-limit calculations. This option can be
useful if we want to limit the total size of the bundle that will be created in
mononoke hg sync job - files that are above or equal to lfs threshold are not included
in the bundle, so no need to count their size.

Reviewed By: krallin

Differential Revision: D24534959

fbshipit-source-id: 6323e4d52802c00dc67270b08f671b0789ab262f
2020-10-26 04:57:44 -07:00
Stanislau Hlebik
ea92153c36 mononoke: add a pushrebase command to mononoke_admin
Summary:
a simple command that can be used to pushrebase a commit. Note that this
command is very low level so it skips a lot of checks that we do during the
normal push process (e.g. it doesn't run hooks).

Reviewed By: krallin

Differential Revision: D24534960

fbshipit-source-id: 0f1e27005fa450c86c310d66e3215747ca6a49e2
2020-10-26 04:57:44 -07:00
Meyer Jacobs
5a6ef9c5f7 history: introduce separate wire types for history API
Summary: This change adds wire types for the history API in the most straightforward way possible. In a future change, I'll move the `WireHistoryEntry` / `HistoryResponseChunk` conversion logic into the `ToApi` implementation. This implementation also doesn't add per-item errors, or standardize `history` to match the protocol evolution standards used by `trees`.

Reviewed By: kulshrax

Differential Revision: D24342046

fbshipit-source-id: d46403a823f2a1e89ad9d6d2074241d8bfe4810e
2020-10-25 18:39:34 -07:00
Meyer Jacobs
41b1d08cd7 types: optimize serialization of fixed-length byte arrays
Summary: This change introduces custo `Serialize` and `Deserialize` implementations for wire types containing a fixed-length byte array. This change is more verbose than should be necessary. Because `TryFrom` is implemented to convert `&[T]` to `[T; N]` and `AsRef` to convert `[T; N]` to `&[T]`, we should be able to use a generic serde `with = ` attribute on the byte array fields of the appropriate structs. Unfortunately, I'm getting a lifetime issue that I haven't been able to resolve, and const generics aren't available on stable to implement the trait bounds without an explicit lifetime.

Reviewed By: kulshrax

Differential Revision: D24460527

fbshipit-source-id: d3a4179b833a523ce164d3df934e4cbdc2202546
2020-10-25 18:39:34 -07:00
Meyer Jacobs
02b7fcc90a trees: use separate type for child metadata entries
Summary:
Removes top-level metadata from `TreeEntry` and add a new, specialized type for carrying child entry metadata, `TreeChildEntry`. This change also fully removes the `revisionstore_types::Metadata` from EdenAPI trees, which is only used on files.

In a follow up change I'll optimize handlings of paths / path segments in `TreeChildEntry` keys. Right now they need to be joined manually.

Reviewed By: kulshrax

Differential Revision: D24434716

fbshipit-source-id: d0739471b1f6cef58b435e10b5fb774bfb08f7f6
2020-10-25 18:39:34 -07:00
Meyer Jacobs
0ccae1cef9 errors: introduce per-item errors to EdenAPI protocol
Summary: Rather than silently dropping entries which cannot be fetched, this change has the `WireTreeEntry` type carry optional error information, allowing it to be (de)serialized to / from `Result<TreeEntry, EdenApiServerError>` instead of a bare `TreeEntry`. Currently, handling of these failures is up to the individual application code, but it might be useful to introduce utility functions to drop failed entries and log errors.

Reviewed By: kulshrax

Differential Revision: D24315399

fbshipit-source-id: 94e4593b77cf2dc12d0dcc93d174c8a4eda95344
2020-10-25 18:39:34 -07:00
svcscm
7a9474fbfd Updating submodules
Summary:
GitHub commits:

f9fc3798b1
d4fbd06b45
996e9b0e73
576ce88b0a
715bb35754
96db1d714c
996547fa66
58faea6f33
fada185af9
4f20424264

Reviewed By: yns88

fbshipit-source-id: a04e7aaad31c1757891cf0310cb2aa5e1eaec44a
2020-10-25 18:39:34 -07:00
svcscm
0271753d02 Updating submodules
Summary:
GitHub commits:

bbe874db5d
d95d017552
88cdec2669
5cdac587f3
8587bb59a4
3b87aa5908
c67c2fe4e7
ffe112bb1c
ad2fb93cfc
e52168c76f
8d994a6601
fed5b0221c

Reviewed By: yns88

fbshipit-source-id: 83b4b8ffee2bd3b58c9b022faf50f8b08e1bf428
2020-10-25 03:42:07 -07:00
Jun Wu
2ed5791086 fbscmquery: use str(err) instead of err.message
Summary:
`message` is not longer an attribute of an exception object in Python 3.  Avoid
using it. This avoids turning rendering `{mirrornode}` template into a crash like:

  Traceback (most recent call last):
    File "edenscm/hgext/fbscmquery.py", line 78, in mirrornode
      return client.getmirroredrev(reponame, "hg", torepo, totype, node)
    File "edenscm/hgext/extlib/phabricator/graphql.py", line 399, in getmirroredrev
      self._raise_errors(ret)
    File "edenscm/hgext/extlib/phabricator/graphql.py", line 504, in _raise_errors
      raise ClientError(None, errormsg)
  edenscm.hgext.extlib.phabricator.graphql.ClientError: The provided crypto auth token(s) are expired. Check to make sure you have specified a long enough expiration time for your crypto auth token(s).
  During handling of the above exception, another exception occurred:
  Traceback (most recent call last):
    File "edenscm/mercurial/commands/__init__.py", line 4225, in log
      displayer.show(
    ....
    File "edenscm/mercurial/templatefilters.py", line 422, in byteify
      return b"".join([byteify(t) for t in thing if t is not None])
    ....
    File "edenscm/mercurial/templater.py", line 391, in evalstring
      return stringify(evalrawexp(context, mapping, arg))
    File "edenscm/mercurial/templater.py", line 350, in evalrawexp
      return func(context, mapping, data)
    File "edenscm/hgext/fbscmquery.py", line 83, in mirrornode
      mapping["repo"].ui.warn(_x(str(e.message) + "\n"))
  AttributeError: 'ClientError' object has no attribute 'message'

Reported by: arnabde03

Reviewed By: mofarrell

Differential Revision: D24528362

fbshipit-source-id: 57d093811986f3a65d1201de1f9aed3770db2ad1
2020-10-24 17:52:01 -07:00
svcscm
cfaaf8d22b Updating submodules
Summary:
GitHub commits:

ce17521000

Reviewed By: yns88

fbshipit-source-id: 529162dea1ea00cd1b195ba0c4de6942b1a7ac20
2020-10-24 07:24:52 -07:00
Simon Farnsworth
7e06175e61 Make config store always explicit
Summary: In D24447404, I provided some utility functions that allowed me to avoid constructing and/or passing around a ConfigStore. Remove those functions and fix up the code to run.

Reviewed By: krallin

Differential Revision: D24502692

fbshipit-source-id: 742dbc54fbcf735895d6829745b9317af14dfa0b
2020-10-24 06:23:49 -07:00
Simon Farnsworth
00871310a7 Ensure we have only one ConfigStore for the application
Summary: It's designed as a singleton store for normal use - rather than have lots of ways to get different config stores, let's use one global store

Reviewed By: krallin

Differential Revision: D24447404

fbshipit-source-id: 6ecc46351b14794471f654cec98527a11a93d3ef
2020-10-24 06:23:49 -07:00
svcscm
9d4f8f31d1 Updating submodules
Summary:
GitHub commits:

af8630489d

Reviewed By: yns88

fbshipit-source-id: 5850f916bb81621b1a1fd2111bc46b4953b4b9e5
2020-10-24 06:23:49 -07:00