Commit Graph

436 Commits

Author SHA1 Message Date
Jun Wu
4ea261914c pager: replace fout and ferr of all ui objects
Summary:
The `ui` object is a bit messy - there are repo specific ui, and non-repo ui,
and ui can be copied around.

This diff changes `fout` and `ferr` to an indirect type that can be mutated
globally so the streampager can affect the `fout` and `ferr` of all related `ui`
objects instead of just one single `ui`.

Reviewed By: DurhamG

Differential Revision: D20903568

fbshipit-source-id: b2f139b91a39c20c22261e03ce50f3cc59074291
2020-04-15 18:23:12 -07:00
Durham Goode
6078dad33e py3: fix more hggit tests
Summary: These tests now pass with python 3.

Reviewed By: xavierd

Differential Revision: D21011004

fbshipit-source-id: 65ac8f864f6eaf24fa7d3c8b25a013b5e9f28ffe
2020-04-15 11:35:39 -07:00
Xavier Deguillard
643e69e045 remotefilelog: do not write delta in bundle2
Summary:
Computing delta force the client to have the previous version locally, which it
may not have, forcing a full fetch of the blob, to then compute a delta. Since
delta are a way to save on bandwidth usage, fetching a blob to compute it
negate its benefits.

Reviewed By: DurhamG

Differential Revision: D20999424

fbshipit-source-id: ae958bb71e6a16cfc77f9ccebd82eec00ffda0db
2020-04-15 10:26:39 -07:00
Durham Goode
bfe0c8d7ab configs: add dynamic config generator
Summary:
We want Mercurial to become more responsible for it's own
configuration, instead of relying on chef and other means. To do so, let's
introduce a new `hg debugdynamicconfig` that can generate dynamic configs for
a given repository based on various states, like what tier it's in or what shard
that machine is in.  By default it generates to '.hg/hgrc.dynamic' for the given
repository.

Currently it just sets the hostgroup config.

Future diffs will make Mercurial consume this config, and possibly have Mercurial
call this command asynchronously when it notices the file is out-of-date.

Reviewed By: quark-zju

Differential Revision: D20828132

fbshipit-source-id: 6f5bf749f5b04e0a5989d6dc19ee788c2e47f88f
2020-04-14 21:22:26 -07:00
Durham Goode
910ff8f180 py3: redisable failing py3 tests
Summary: These tests are breaking hgbuild.

Reviewed By: xavierd

Differential Revision: D21029157

fbshipit-source-id: cafcc74a646e18ec531a8f29dc791fa4837bb7eb
2020-04-14 15:49:55 -07:00
Jun Wu
4413d92cad pushrebase: add a test showing suboptimal abort
Reviewed By: simpkins

Differential Revision: D20911925

fbshipit-source-id: 81c7fe27b5cb85d6bdf5be385d3f1db84ed1b73b
2020-04-13 20:46:21 -07:00
Durham Goode
955013fdbc py3: fix test-bundle2-format.t
Summary: It now passes

Reviewed By: xavierd

Differential Revision: D20995130

fbshipit-source-id: c262cd8f3ef1c41cd52fd5ec5894be145059f045
2020-04-13 15:28:25 -07:00
Durham Goode
2f8cb4b6ec py3: fix test-bundle2-exchange.t
Summary: It now passes

Reviewed By: xavierd

Differential Revision: D20971712

fbshipit-source-id: d962c5f0171c056edfadb5cc795d1c8662456afa
2020-04-13 15:28:25 -07:00
Durham Goode
d9a508dfba py3: fix various wireprotocol related tests
Summary: They now pass

Reviewed By: xavierd

Differential Revision: D20970190

fbshipit-source-id: 8610e0877181c5e8b8842559f7a3e4a943c0c3fe
2020-04-13 15:28:24 -07:00
Xavier Deguillard
b6cb2f37f2 tests: fix test-parse-date.t in python3
Reviewed By: DurhamG

Differential Revision: D20972880

fbshipit-source-id: 6436fb9af8bb8adf48d6c23a0e8cc453d9336c47
2020-04-13 14:59:41 -07:00
Xavier Deguillard
e8c2e7a280 tests: fix test-perftweaks-remotenames.t in python3
Summary: Reading needs to be done via readutf8.

Reviewed By: DurhamG

Differential Revision: D20972835

fbshipit-source-id: 0705c04f1db8b20cc4679852d75ea1790a5cf5f9
2020-04-13 14:59:41 -07:00
Xavier Deguillard
6b85ee4edb remotenames: decode the content of selectivepullenabled
Summary: We're writing utf-8 data to it, decode it before returning it.

Reviewed By: DurhamG

Differential Revision: D20972741

fbshipit-source-id: fb23a6d1c3188e10598b839639cdd5e74322089a
2020-04-13 14:59:41 -07:00
Xavier Deguillard
d2c56495e4 metalog: fix for python3
Summary:
While keys are strings, values are bytes buffer and thus needs to be converted
sometimes.

Reviewed By: DurhamG

Differential Revision: D20974484

fbshipit-source-id: 13394f5dc43191e85e4b1d350cc4fbbd8489572a
2020-04-13 14:55:11 -07:00
Xavier Deguillard
8178dfd89b context: fix symlink validation
Summary:
Symlinks are pointers to path, that are required to be utf-8, thus we can
decode the data.

Reviewed By: DurhamG

Differential Revision: D20973701

fbshipit-source-id: 8399dfb3462fea907758a01ed2fcea508833fbaa
2020-04-13 14:55:11 -07:00
Xavier Deguillard
ffd876d967 tests: fix test-filelog.py for python3
Reviewed By: DurhamG

Differential Revision: D20973502

fbshipit-source-id: dc3201dcc25509d569442a240fa8361a819f1f5f
2020-04-13 14:55:11 -07:00
Xavier Deguillard
17855deb17 tests: fix test-extdiff.t for python3
Reviewed By: DurhamG

Differential Revision: D20973286

fbshipit-source-id: 3a2d3cfc61567934d53e58ce561c367746c02403
2020-04-13 14:55:10 -07:00
Xavier Deguillard
4d5515e6ef tests: fix test-revlog.t for python3
Reviewed By: DurhamG

Differential Revision: D20973212

fbshipit-source-id: 1535d50a0cb2a7350083600e4e6c6506e0749072
2020-04-13 14:55:10 -07:00
Xavier Deguillard
5f4d53cb54 tests: fix test-hggit-illegal-contents.t
Summary:
With the upgraded git, some error message aren't the same as before, update the
test to reflect that.

Reviewed By: quark-zju

Differential Revision: D20993735

fbshipit-source-id: d9b8bfc9c6d10f7c0898299659e4322589ea8077
2020-04-13 14:25:35 -07:00
Xavier Deguillard
cdb0fbdb71 convert: do not try to re-encode in python3
Summary: The encoding is utf-8 already.

Reviewed By: sfilipco

Differential Revision: D20966808

fbshipit-source-id: ade012588bf14df07772db0819be8670ecdb3b09
2020-04-13 08:53:51 -07:00
Xavier Deguillard
aa836d38ea tests: enable histedit for python3
Summary: These are now passing

Reviewed By: sfilipco

Differential Revision: D20966083

fbshipit-source-id: c9a34ee23a1552200756a4e1f75a29574c37960d
2020-04-13 08:53:51 -07:00
Xavier Deguillard
c256ee21ef treemanifest: fix flat manifest conversion
Summary: In Python3, str is not a byte string, but a unicode one. Use bytes instead.

Reviewed By: sfilipco

Differential Revision: D20965794

fbshipit-source-id: b04ff004aac87fd3afc8070fc8d1d849ad48d0d3
2020-04-13 08:53:51 -07:00
Xavier Deguillard
5aed0fe552 tests: fix test-important-remote-names-t.py for python3
Reviewed By: sfilipco

Differential Revision: D20965390

fbshipit-source-id: 790a712c8cc44d6a634ca4bfa7c37f9034a3f571
2020-04-13 08:53:50 -07:00
Xavier Deguillard
6939c33e06 tests: fix test-revlog-mmapindex.t for python3
Reviewed By: sfilipco

Differential Revision: D20965267

fbshipit-source-id: c75601f0cddec0a8388adca3d522d668b7b2a787
2020-04-13 08:53:50 -07:00
Xavier Deguillard
56c0cdb002 histgrep: fix for python3
Summary:
In order to grep, the body of the file is decoded to utf8 with the error
handling "replace". This is probably OK as I would expect histgrep to be used
on text files, not random binary ones where grepping would probably not make a
lot of sense.

Reviewed By: sfilipco

Differential Revision: D20965178

fbshipit-source-id: 9ba234f33e801a78537c22b61dee434625449c01
2020-04-13 08:53:49 -07:00
Xavier Deguillard
ed8875ce70 tests: fix test-obsmarker-template-t.py for python3
Reviewed By: sfilipco

Differential Revision: D20964714

fbshipit-source-id: c92708336a6d75a645bd7725bf3dcca9abbe7029
2020-04-13 08:53:49 -07:00
Xavier Deguillard
e6f3aca0b0 cleanobsstore: write to the file with bytes
Reviewed By: sfilipco

Differential Revision: D20964696

fbshipit-source-id: 3dc81cfaa2172b494e89503e50b3c2d69ef153b4
2020-04-13 08:53:49 -07:00
Xavier Deguillard
a800e3e4ce tests: enable bunch of tests
Summary: These appear to pass now.

Reviewed By: quark-zju

Differential Revision: D20954747

fbshipit-source-id: ffd4dd4dc4832ed7cf84815ff1af9dad4361b26a
2020-04-13 08:53:48 -07:00
Xavier Deguillard
d17f3e417c morestatus: read from updateargs as utf8
Summary: The file is already written with writeutf8, read should use readutf8 too.

Reviewed By: sfilipco

Differential Revision: D20949694

fbshipit-source-id: cb00f45313ba8f78197d2344db7adc787b13ee4d
2020-04-13 08:53:48 -07:00
Xavier Deguillard
fee55b5c0d commands: read/write the graftstate as utf8
Reviewed By: sfilipco

Differential Revision: D20949689

fbshipit-source-id: 8541e9869dc0f4f9e595e011a3109d1cfb539a1a
2020-04-13 08:53:48 -07:00
Xavier Deguillard
e61591decc hggit: bunch of fixes for python3
Summary:
Dulwich expects pretty much everything to be bytes, thus we have to convert a
lot of stuff to bytes from unicode. This only fixes one test, but makes
progress on all of them.

Reviewed By: sfilipco

Differential Revision: D20949172

fbshipit-source-id: 44cd0c5136b3d224f7eb81e48ec98fed60c8b390
2020-04-13 08:53:47 -07:00
Jun Wu
7a6b2864b5 tests: fix test-absorb-t.py on Windows
Reviewed By: xavierd

Differential Revision: D20973246

fbshipit-source-id: de6048829626f415df8ddcc2e16471cb2c0414a4
2020-04-10 22:48:04 -07:00
Xavier Deguillard
cb97048edf tests: update output of test-convert-git.t
Summary: The output was added in a recent git release, update the test to reflect that.

Reviewed By: DurhamG

Differential Revision: D20968427

fbshipit-source-id: 7fed6232723151adefe8329d8a98a314f04f222e
2020-04-10 19:35:38 -07:00
Xavier Deguillard
dd81246300 tests: enable more python3 tests
Reviewed By: DurhamG

Differential Revision: D20931013

fbshipit-source-id: 018a5268ad9fd59030c06217e7f7e6eee000ece6
2020-04-10 11:22:59 -07:00
Durham Goode
59eb475f74 py3: enable more tests that are now passing
Summary: Not sure what fixed them, but now they pass.

Reviewed By: xavierd

Differential Revision: D20933992

fbshipit-source-id: ece47486df17fd5d9303a98bc3b63a429972e73f
2020-04-10 11:04:39 -07:00
Durham Goode
f5c2b60756 treemanifest: delete upstream treemanifest implementation
Summary:
These classes were used for upstream's treemanifest implementation. At
one point we partially used it for our server side tree logic, but these days we
don't use any of it except for the revlog layer. Let's delete the context and
treemanifest layers and tests.

Reviewed By: sfilipco

Differential Revision: D20953163

fbshipit-source-id: 952063e4e0cf74e2da740bf91a70e1714a9ad9b5
2020-04-10 10:59:51 -07:00
Durham Goode
6678f088c8 hgweb: disable hgweb
Summary:
Disables 'hg serve' being able to start a web server. This can be
worked around temporarily by setting web.allowhgweb=True, but we should remove
that workaround soon so we can deleted all the code.

Reviewed By: xavierd

Differential Revision: D20951800

fbshipit-source-id: e0d5017647a073b5ede3b0bbc4dd745fabeac816
2020-04-10 10:59:51 -07:00
Durham Goode
cf4a93bfa0 py3: fix test-wireproto.py
Summary: Makes it pass

Reviewed By: xavierd

Differential Revision: D20933051

fbshipit-source-id: e32ff04597a86fb9674b5a734acc856456f48033
2020-04-10 10:59:50 -07:00
Durham Goode
b2c2642e82 py3: fix pushrebase tests
Summary: Makes more pushrebase tests pass in Python 3

Reviewed By: xavierd

Differential Revision: D20930691

fbshipit-source-id: 1190ebdb77ef06066d6d07441584bb6fb1c1375e
2020-04-10 10:59:50 -07:00
Durham Goode
8ff3a8cbd5 py3: fix commit cloud tests
Summary: Makes all the commit cloud tests pass

Reviewed By: quark-zju

Differential Revision: D20927720

fbshipit-source-id: a863dc1b06258ac8d0ee907f51948c012a23dddc
2020-04-10 10:59:50 -07:00
Xavier Deguillard
4e561ade89 manifest: fix test-treemanifest.t
Summary: The .keys() in Python3 returns an iterator, hence '+' doesn't work on these.

Reviewed By: quark-zju

Differential Revision: D20956491

fbshipit-source-id: 15c74bfcfe6d27dff5018fdf71e61bb747daf2d8
2020-04-10 10:10:17 -07:00
Xavier Deguillard
a50dae72b7 linkrevcache: fix debugverifylinkrevcache in Python3
Summary: Paths are unicode, not bytes.

Reviewed By: quark-zju

Differential Revision: D20955487

fbshipit-source-id: b3e20f238bfc2a444553ba5786fbfa90006f3567
2020-04-10 10:06:33 -07:00
Xavier Deguillard
48234d3be3 copytrace: use mercurial.json instead of json
Summary: Also, use codecs instead of .decode("base64").

Reviewed By: quark-zju

Differential Revision: D20953704

fbshipit-source-id: c5931ba0653acea2fa1de40abfb897437a773f09
2020-04-10 10:01:49 -07:00
Xavier Deguillard
c552dd8af8 bookmarks: add the items method to lazyremotenamedict
Summary:
The iteritems method doesn't exist in Python3, add the items one and remove the
pycompat.itermitems wherever we iterate over the lazyremotenamedict.

Reviewed By: quark-zju

Differential Revision: D20926027

fbshipit-source-id: de9d297126e8190f008cb5d09cc5a128d68c2213
2020-04-10 09:55:57 -07:00
Jun Wu
d588fe8a35 py3: enable test-import-unknown-t.py
Reviewed By: xavierd

Differential Revision: D20952869

fbshipit-source-id: 10cbe7fc1e7cc18270c7b320156325cc48dc58f3
2020-04-09 18:44:07 -07:00
Jun Wu
63a594cee3 py3: fix test-import-merge.t
Reviewed By: xavierd

Differential Revision: D20952871

fbshipit-source-id: 52c299fbdfc3fda8f0b5b2704e7e6bc6eb90342d
2020-04-09 18:44:06 -07:00
Jun Wu
fe3be0bddd py3: fix test-import-t.py
Reviewed By: xavierd

Differential Revision: D20952872

fbshipit-source-id: bea03953576a76f6f65f908f4ce12f3082d02871
2020-04-09 18:44:06 -07:00
Jun Wu
05cd3783ba py3: fix test-import-git.t
Reviewed By: xavierd

Differential Revision: D20952870

fbshipit-source-id: a5b58195b7efa924f1e8806f920671dbaab1e724
2020-04-09 18:44:06 -07:00
Jun Wu
1fbbf9488e py3: fix test-import-context.t
Reviewed By: xavierd

Differential Revision: D20952874

fbshipit-source-id: 18e2db7a35612f9f33fbc49f0703b20abb880938
2020-04-09 18:44:05 -07:00
Jun Wu
4841a5c8cc py3: fix test-import-eol.t
Reviewed By: xavierd

Differential Revision: D20952875

fbshipit-source-id: ad85c492929b39757e255c1aedcb2bbaa582fce2
2020-04-09 18:44:05 -07:00
Jun Wu
470dfdc8f5 py3: fix test-import-bypass.t
Reviewed By: DurhamG

Differential Revision: D20952873

fbshipit-source-id: 3282c757830460b3e683958f09fe6e6870b4fb9a
2020-04-09 18:44:05 -07:00