Commit Graph

45023 Commits

Author SHA1 Message Date
Jun Wu
b74ee0564d chg: make it incompatible with upstream chg server
Summary:
It would be massy if there are 2 chg servers running: one for fb hg, one for
upstream hg, and they share a same socket path.

Change socket path and the commandserver name so fb-hg chg can only talk to
fb-hg chg servers.

Reviewed By: markbt

Differential Revision: D13869319

fbshipit-source-id: f9d42af9bdfc542207f23c536b478fd5ef8d02a0
2019-02-08 16:12:53 -08:00
Jun Wu
495cdac243 test-remotenames-with-aliases: remove the test
Summary:
The test is about treating the "default" remote branch specially.
Named branches are going away, therefore delete the test.

Reviewed By: ikostia

Differential Revision: D13976850

fbshipit-source-id: 0283e78c120efd0cf9c91811b823923780cdbfd9
2019-02-08 14:40:28 -08:00
Jun Wu
a379d745b3 test-merge-default: rewrite part related to named branch
Summary: This makes the test future-proof.

Differential Revision: D13954461

fbshipit-source-id: 373afe1df712856a46638da8ea84cf2e56c494ab
2019-02-08 14:40:28 -08:00
Jun Wu
4021b6f311 test-pull-update: remove part related to named branch
Summary: This makes the test future-proof.

Differential Revision: D13954455

fbshipit-source-id: a98918dff351db2117ed57b852d390312bb203fb
2019-02-08 14:40:28 -08:00
Jun Wu
93867ff88f test-subrepo: remove the test
Summary:
The test uses named branch. Since subrepo is also on the list to kill, just
remove the test now.

Differential Revision: D13954459

fbshipit-source-id: 29e8009376081d964441497796fda3490f2137e3
2019-02-08 14:40:28 -08:00
Jun Wu
b5599c717f test-glog: rewrite part related to named branch
Summary: This makes the test future-proof.

Differential Revision: D13954463

fbshipit-source-id: 40fb1044dbe5bacfc68c6b04dca15f1c3dc92df1
2019-02-08 14:40:28 -08:00
Jun Wu
dec8f9f3e9 test-ssh: rewrite part related to named branch
Summary: This makes the test future-proof.

Differential Revision: D13954457

fbshipit-source-id: f48c2ac7ba5072bae458283f7b3afb4900b78442
2019-02-08 14:40:27 -08:00
Jun Wu
66ea9f2284 test-revset-outgoing: rewrite part related to named branch
Summary: This makes the test future-proof.

Differential Revision: D13954462

fbshipit-source-id: 42031851ecb6be66a2ec61fae7107b8b6f498afc
2019-02-08 14:40:27 -08:00
Jun Wu
7a1977912a test-rebase-pull: remove part related to named branch or tags
Summary: Make it future-proof.

Differential Revision: D13954454

fbshipit-source-id: c6a746ae4035cdff8ead88514aa09f8ef3db0c18
2019-02-08 14:40:27 -08:00
Jun Wu
7637cfd5f3 test-fb-hgext-fastannotate-remotefile: remove the test
Summary:
The test was about the connection handling between remotefilelog and
fastannotate. It uses named branch to test certain code paths, which
is not trivial to migrate off.

We'll probably rework the protocol used here and maybe do something very
different regarding on linelog with Mononoke. Therefore just remove the
test for now.

Reviewed By: singhsrb

Differential Revision: D13934435

fbshipit-source-id: 9ba0b760ba17efd3ede6de7612e6532f3d13a4f8
2019-02-08 14:40:27 -08:00
Jun Wu
b8b6316334 test-convert-splicemap: rewrite part related to named branch
Summary: This makes the test future-proof.

Differential Revision: D13954466

fbshipit-source-id: d8ba31e53eb912451ba451b367225af66c7194ac
2019-02-08 14:40:27 -08:00
Jun Wu
564597d13f test-rebase-check-restore: rewrite part related to named branch
Summary: This makes the test future-proof.

Differential Revision: D13954469

fbshipit-source-id: 94c0289dc7ef8159592bd541da4021c5152dc298
2019-02-08 14:40:27 -08:00
Jun Wu
ca843d3676 test-sparse-merges: rewrite part related to named branch
Summary:
The test was relying on the ability to merge a "fast-forward" commit, it's no
longer possible without named branches. So the DAG was changed from two linear
commits to "Y"-ish 3 commits.

This makes the test future-proof.

Differential Revision: D13954460

fbshipit-source-id: 944747404843e985f06d18fe0618843dca64630f
2019-02-08 14:40:27 -08:00
Xavier Deguillard
31622c9806 asyncpacks: add AsyncUnionHistoryStore
Summary: This will be used by scmmemcache to send history data to memcache

Reviewed By: DurhamG

Differential Revision: D13975346

fbshipit-source-id: f41eaf9a4968072dd07efbcd9d539e6293c3fa4f
2019-02-08 12:56:06 -08:00
Xavier Deguillard
a4311ec1df memcache: implement get_hist
Summary:
We can now fetch history data stored in memcache and write it to a history
pack.

Reviewed By: DurhamG

Differential Revision: D13975308

fbshipit-source-id: 2196328ad60a55d1e2b39d88d939f434e496837a
2019-02-08 12:56:06 -08:00
Xavier Deguillard
d9153f1565 memcache: proper serde serialization
Summary:
The initial get_data/set_data only sent the full-text to memcache, which is
just enough for non-LFS data. Let's use Serde to serialize/deserialize the data
that we send to memcache. This will make it simple to add checksuming, or more
metadata to it.

Reviewed By: DurhamG

Differential Revision: D13974714

fbshipit-source-id: 41a235e1d1e8128b14f00b668745f4f9a070a360
2019-02-08 12:56:06 -08:00
Xavier Deguillard
76418dd79c memcache: add set_data
Summary:
Similarly to the get_data, we can now read a datapack and send the proper
deltas to memcache. This change is lacking in the same way the get_data is.

Reviewed By: DurhamG

Differential Revision: D13886026

fbshipit-source-id: a00475e89b7e75dbbe9afa9f9d293a686f969a3f
2019-02-08 12:56:06 -08:00
Xavier Deguillard
9439d09d10 revisionstore: implement IterableStore for UnionStore
Summary:
The IterableStore trait allows iterating over all the keys of a DataStore.
Since this is applicable to a UnionStore, let's implement it there. We can now
use it in their async variants.

Regarding the async variants, the code effectively builds a Vec of Key, which
may use a lot of memory, a better alternative would be to use a Stream of Key.
This will be tackled later.

Reviewed By: DurhamG

Differential Revision: D13951905

fbshipit-source-id: 15944b18d7ffea08d191e5dc7e1b8e2b783f69d1
2019-02-08 12:56:06 -08:00
Xavier Deguillard
374495767e asyncpacks: add AsyncUnionDataStore
Summary: Simple async wrapper around a UnionDataStore.

Reviewed By: DurhamG

Differential Revision: D13951906

fbshipit-source-id: 086739d834297fcc1dabd246cfde4631b4767640
2019-02-08 12:56:06 -08:00
Stefan Filip
2d6e900d12 Update itertools version in lib/treestate
Summary: TP2 version for itertools was updated to 0.8.

Reviewed By: singhsrb

Differential Revision: D14008855

fbshipit-source-id: 081a43c5b02cd39c6a0a6b491bfa0767ddf0b7ed
2019-02-08 11:49:54 -08:00
Saurabh Singh
b02696d961 remotefilelog: fix the test broken by defaulting file blobs to version 1
Summary: This test was broken by D13980892 and needs to be updated.

Reviewed By: DurhamG

Differential Revision: D14001840

fbshipit-source-id: 6487159445f8aa049996a35e1bb70dad5af614ac
2019-02-08 10:52:16 -08:00
Liubov Dmitrieva
ca7f631006 lazy connection open for memcache has an issue with SIGPIPE
Summary: My earlier diff broke master, this is the fix.

Reviewed By: markbt

Differential Revision: D14005894

fbshipit-source-id: 6ce43913fb501791592512f2f12cd67ef27f0457
2019-02-08 09:44:06 -08:00
Liubov Dmitrieva
261da2a786 fix remotenames for infinitepush
Summary:
Currently if default path and infinitepush both point to the remote path
from the repo, the activepath function returns 'infinitepush' rather than
'default' because of the logic I have fixed.

It makes your smartlog looks like.

```
o  037dddb5  62 minutes ago  infinitepush/fbobjc/stable remote/fbobjc/stable
.
o  66e0e00c  Today at 05:58  infinitepush/fbandroid/stable
remote/fbandroid/stable
.
@  28c3b5b0  Today at 05:40  mlesyk  D14003881  T27597699
.  [fbar][prod_role] fix region detection part
.
o  407504d6  Today at 04:58  infinitepush/fbsource/stable
remote/fbsource/stable
```

When you pull it updates infinitepush/master, etc instead of remote/master,
etc.

This only happens if they both point to the same url.

This is not desirable for infinitepush.

I also introduced infinitepush-other that we will use for the secondary commit cloud backend.

It would have the same issue if it matches the url of the default path.

Reviewed By: markbt

Differential Revision: D14005639

fbshipit-source-id: f3ea8098e1c418e2efd43b5430bb4252f6ad6b2c
2019-02-08 09:24:20 -08:00
Liubov Dmitrieva
3cc2093659 fix tests
Summary: Size is not always the same, let just use number of files.

Reviewed By: rlangst

Differential Revision: D14004261

fbshipit-source-id: 13e21d8fd95ee09fc54c750ceecc48bcd484bc9e
2019-02-08 08:30:11 -08:00
Wez Furlong
35e2b7c6ff hg: fix lfs and journal extension postshare wrapping
Summary:
this fixes `hg-new-workdir` by matching the function signature
and propagating the arguments.

Reviewed By: singhsrb

Differential Revision: D13992348

fbshipit-source-id: 582025affe2e0511f239e82bc880b2fecea84ac7
2019-02-07 18:58:40 -08:00
Wez Furlong
45a59ef1d4 hg: run-tests: treat a parse error as return code 1
Summary:
previously, unexpected output would cause the harness to
stack trace and not show the actual test failure.

This catches the error and treats it as a failed run, which causes
the test output to be displayed.

No more `ValueError: invalid literal for int() with base 10: '0\xe2\x90\x8a'`

Reviewed By: DurhamG

Differential Revision: D13995000

fbshipit-source-id: 5c1a9e8d6f8e81a924cdbf760fa75cdc0d33b74d
2019-02-07 18:58:40 -08:00
Jun Wu
9efa79ce5c test-commit-multiple: rewrite parts related to named branch
Summary:
Change the test to avoid creating branches so it could still work
once `hg branch` gets removed.

Differential Revision: D13954467

fbshipit-source-id: ec6ee3430cecd4ee4daa23b303f0a36be9198659
2019-02-07 18:17:19 -08:00
Jun Wu
5dfbe25ca2 test-mv-cp-st-diff: rewrite parts related to named branch
Summary:
Change the test to not create branches, so it could still work
once `hg branch` gets removed.

Differential Revision: D13954465

fbshipit-source-id: 10ff86b2a765cb8bd57d1589a4e3624d553b4d07
2019-02-07 18:17:18 -08:00
Jun Wu
512dba0175 test-rollback: remove the test
Summary:
The test relies on named branches. Since the "hg rollback" command will also be
removed in the future, just delete the test for now.

There are a couple of other tests relying on the "hg rollback" command, which
makes the "rollback" command itself harder to delete.

Differential Revision: D13954464

fbshipit-source-id: 6a56ca15de96258c79deb90114438b42d802d8b0
2019-02-07 18:17:18 -08:00
Jun Wu
c2ef481658 logexchange: delete the experimental component
Summary:
logexchange was a subset of remotenames, added by:

  changeset:   5a62910948d2d4bac5defe305d0ddb22f0fda549  D1547
  user:        Pulkit Goyal <7895pulkit@gmail.com>
  date:        Wed, 04 Oct 2017 10:32:02 -0800
  summary:     remotenames: move function to pull remotenames from the remoterepo to core

Since we use the full remotenames instead, remove logexchange and its test,
which depends on named branch.

Differential Revision: D13954458

fbshipit-source-id: d565c131100ef90f3cf69e9051643ac8e5846f0d
2019-02-07 18:17:18 -08:00
Jun Wu
141c848e2f test-encoding-align: remove part related to named branch or tags
Summary: Make it future-proof.

Differential Revision: D13954468

fbshipit-source-id: ee0f856c6d424b99f6b7406d12cd1f96012775d5
2019-02-07 18:17:18 -08:00
Jun Wu
146bb6e868 test-static-http: remove the test
Summary:
We probably won't be able to maintain the static http interface. Therefore
remove it. This also solves the headache of dealing with named branches and
tags.

Reviewed By: singhsrb

Differential Revision: D13934436

fbshipit-source-id: 246d695b4d08142d0f4363e143b459ac4952d599
2019-02-07 18:17:18 -08:00
Jun Wu
aed2c0ea67 test-commandserver: remove part related to named branch
Summary: This makes the test future-proof.

Differential Revision: D13934442

fbshipit-source-id: 69a4ea31adbcf6d60a7ec8f0bc284926b31803df
2019-02-07 18:17:18 -08:00
Jun Wu
480d9e1a97 test-fb-hgext-scm-prompt-hg: rewrite part related to named branch
Summary: This makes the test future-proof.

Differential Revision: D13934446

fbshipit-source-id: 650644afb17f2301979f8720771a276800d03a52
2019-02-07 18:17:18 -08:00
Jun Wu
8802644f60 test-perftweaks: remove part related to named branch
Summary: Remove "hg branch" invocation to make the test future-proof.

Differential Revision: D13934440

fbshipit-source-id: cb410abc86d6e23c952ba5562b7918e2dc281ac3
2019-02-07 18:17:18 -08:00
Jun Wu
63c85060aa test-clone-r: remove part related to named branch
Summary: Remove "hg branch" invocation to make the test future-proof.

Differential Revision: D13934437

fbshipit-source-id: a82497e7dfc589b363bf140fef8b8ab727ff461a
2019-02-07 18:17:18 -08:00
Jun Wu
5b0508c6a5 test-share: remove part related to named branch
Summary: Remove "hg branch" invocation to make the test future-proof.

Differential Revision: D13934443

fbshipit-source-id: 3629e7bb27257c7cca7b7aab319d2cd1be99155a
2019-02-07 18:17:18 -08:00
Jun Wu
1708e3f653 test-import: remove part related to named branch
Summary: Remove "hg branch" invocation to make the test future-proof.

Differential Revision: D13934433

fbshipit-source-id: 3184f8355de7409579cbee4d3c8bfd56ce762cc3
2019-02-07 18:17:18 -08:00
Jun Wu
5c7d607917 test-bookmarks: avoid using branches
Summary: Branches will be disabled. Remove usage of them.

Differential Revision: D13909731

fbshipit-source-id: 5d1ea6c54393d9e6c8c8bdb7a1a21a38fc5ce873
2019-02-07 18:11:16 -08:00
Jun Wu
4bbba50302 test-backout: switch branches to bookmarks
Summary: Branches will be disabled. Use bookmarks instead.

Differential Revision: D13909729

fbshipit-source-id: 849fa9614aa92f0b7a709c2e36214b6211988d68
2019-02-07 18:11:16 -08:00
Durham Goode
20f9ac38f6 remotefilelog: handle corrupt loose files more gracefully
Summary:
If the history portion of a loose file was corrupt, users would often
get errors like "ValueError: substring not found" when trying to split on the
null separators. Let's catch that and handle it where appropriate. For cache
stores, we move it out of the way and return a KeyError, so the union store will
move on to try to fetch it from the server again. For local stores, we return a
ValueError and surface it to the user since their local data may be corrupt.

Reviewed By: quark-zju

Differential Revision: D13976499

fbshipit-source-id: 39e63f19fc752ca0179fbc5b0908a28d46de3a3a
2019-02-07 13:40:42 -08:00
Durham Goode
2def6874f5 remotefilelog: default file blobs to version 1
Summary:
We're seeing cache corruption issues due to mixing and matching loose
file versions. Let's just default to 1.

Reviewed By: quark-zju

Differential Revision: D13980892

fbshipit-source-id: 1e8cc9a53b8b92e05dc08b202505bb8f453a3074
2019-02-07 11:08:01 -08:00
Mark Thomas
d79f73659f perf: import from the edenscm package
Reviewed By: singhsrb

Differential Revision: D13988141

fbshipit-source-id: 1e2a5e9343b3b2c6f10db9597e8c035594c7a2ba
2019-02-07 10:53:53 -08:00
Mark Thomas
045515bbe5 perf: apply auto-formatter
Reviewed By: singhsrb

Differential Revision: D13988166

fbshipit-source-id: 211532d30db5a44536a613e097efc1db51debce2
2019-02-07 09:57:13 -08:00
Liubov Dmitrieva
da5a666d2f use simplecache store on the server side to store remotefilelog cache
Summary:
simplecache can be configured with memcache backend

this will potentially save us a lot of disk space and allow us to have a shared cache between hg hosts.

getting rid of the caches on disks will save 966GB of disk space per machine.
P60876105

Reviewed By: quark-zju

Differential Revision: D13950137

fbshipit-source-id: 015e971f1bfed334edb4fe2381c2c6336b84b161
2019-02-07 05:15:11 -08:00
Liubov Dmitrieva
638959056d simplecache - reuse the connection to memcache
Summary:
reuse the connection for other requests
I made it global

Reviewed By: quark-zju

Differential Revision: D13964705

fbshipit-source-id: ed759e36f15b91a838dc2c20b58384ae54ad5d48
2019-02-07 04:59:48 -08:00
Liubov Dmitrieva
13abfafb8d treemanifest: use simplecache as a cache store
Summary:
simplecache extension support both memcache and local disk as a cache store.

we are going to use memcache on hg servers

getting rid of the caches on disks will save 966GB of disk space per machine.

P60876105

this will also allow hg machines to share the same cached data

Reviewed By: DurhamG

Differential Revision: D13927163

fbshipit-source-id: 3155c61da4a82dd7a790a8ccf8dbc701fe3957e1
2019-02-07 04:59:48 -08:00
Aida Getoeva
baa9bab088 set ui.slash=True if HGPLAIN=1
Summary:
`hg status` should show slashes in filepaths standard for the diff format. Now it shows windows' backslash.

More details:
https://fb.workplace.com/groups/scm/permalink/1933867456662865/

Reviewed By: quark-zju

Differential Revision: D13944478

fbshipit-source-id: d34d2c6bc0b9966e1806e36668c21e8abfc83a02
2019-02-07 04:32:27 -08:00
Adam Simpkins
8d35b90969 fix a crash in remotefilelog prefetch
Summary:
It looks like D13924759 accidentally replace `prog.value` with `prog` in one
location, which is causing crashes of the form:

  TypeError: unsupported operand type(s) for +=: 'nullbar' and 'int'

Reviewed By: quark-zju

Differential Revision: D13984835

fbshipit-source-id: cbf1a52d8048b623beac6048224767f0abb7f5c0
2019-02-06 22:03:19 -08:00
Jun Wu
dbc9a9f3e6 fscap: mark "fuse.ntfs" (ntfs-3g) as not supporting symlinks
Summary: See D13964546 for context.

Reviewed By: DurhamG, ikostia

Differential Revision: D13982878

fbshipit-source-id: abce6f3c005b916cfb2e7a34276b99f9fcaa44b5
2019-02-06 18:34:30 -08:00