Wed, 28 Jul 2021 13:45:07 +0300 obsolete: disable other evolution config options if createmarkers is off
Anton Shestakov <av6@dwimlabs.net> [Wed, 28 Jul 2021 13:45:07 +0300] rev 47795
obsolete: disable other evolution config options if createmarkers is off We used to raise an abort in this case, but recent changes to local clone command (377d8fc20e34) resulted in destrepo both caring about experimental.evolution config options and not initializing extensions. So imagine if you had evolve and allowdivergence enabled in your ~/.hgrc. Local clone stopped working after 377d8fc20e34 because evolve sets experimental.evolution=all, but only on srcrepo, for destrepo the extension is not initialized. It's possible to make local cloning work by initializing extensions for destrepo in some cases, but in other cases (e.g. allowdivergence in ~/.hgrc, evolve extension in original-repo/.hg/hgrc) it would still fail. In a discussion with Pierre-Yves David it was decided to simply force other evolution options to be false if createmarkers is not enabled. Differential Revision: https://phab.mercurial-scm.org/D11223
Wed, 28 Jul 2021 13:47:21 +0300 fix: use obsolete.isenabled() to check for experimental.allowdivergence
Anton Shestakov <av6@dwimlabs.net> [Wed, 28 Jul 2021 13:47:21 +0300] rev 47794
fix: use obsolete.isenabled() to check for experimental.allowdivergence Now that obsolete.isenabled() can also check if divergence is allowed, let's use it for consistency. Other experimental.evolution options are already checked via this function. Differential Revision: https://phab.mercurial-scm.org/D11222
Wed, 28 Jul 2021 13:45:41 +0300 rebase: use obsolete.isenabled() to check for experimental.allowdivergence
Anton Shestakov <av6@dwimlabs.net> [Wed, 28 Jul 2021 13:45:41 +0300] rev 47793
rebase: use obsolete.isenabled() to check for experimental.allowdivergence Now that obsolete.isenabled() can also check if divergence is allowed, let's use it for consistency. Other experimental.evolution options are already checked via this function. Differential Revision: https://phab.mercurial-scm.org/D11221
Mon, 02 Aug 2021 16:23:45 +0200 heptapod-ci: enable pytype testing for all pipelines stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 02 Aug 2021 16:23:45 +0200] rev 47792
heptapod-ci: enable pytype testing for all pipelines Now that pytype agrees with the codebase, let's run it by default to catch regressions. Differential Revision: https://phab.mercurial-scm.org/D11242
Mon, 02 Aug 2021 16:21:54 +0200 pytype: add assertions to explain revlogv2 invariants to Pytype stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 02 Aug 2021 16:21:54 +0200] rev 47791
pytype: add assertions to explain revlogv2 invariants to Pytype Differential Revision: https://phab.mercurial-scm.org/D11241
Fri, 30 Jul 2021 00:11:56 -0400 typing: add several assertions to dirstatemap to appease pytype stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 30 Jul 2021 00:11:56 -0400] rev 47790
typing: add several assertions to dirstatemap to appease pytype (grafted from default to stable) I think it's been mentioned in IRC that these can't be None in this case. This fixes: File "/mnt/c/Users/Matt/hg/mercurial/dirstatemap.py", line 213, in addfile: unsupported operand type(s) for &: 'None' and 'int' [unsupported-operands] No attribute '__and__' on None or '__rand__' on int Called from (traceback): line 290, in reset_state File "/mnt/c/Users/Matt/hg/mercurial/dirstatemap.py", line 214, in addfile: unsupported operand type(s) for &: 'None' and 'int' [unsupported-operands] No attribute '__and__' on None or '__rand__' on int Called from (traceback): line 290, in reset_state Differential Revision: https://phab.mercurial-scm.org/D11235
Mon, 02 Aug 2021 10:51:19 -0400 windows: avoid a bytes vs unicode crash reading passwords on py2 stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 02 Aug 2021 10:51:19 -0400] rev 47789
windows: avoid a bytes vs unicode crash reading passwords on py2 This broke in 5b3513177f2b. Specifically, after typing in the password on py2, it would crash with: TypeError: putwch() argument 1 must be cannot convert raw buffers, not str
Sun, 01 Aug 2021 10:54:03 -0400 streamclone: ensure the server sends the right amount of data stable
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 01 Aug 2021 10:54:03 -0400] rev 47788
streamclone: ensure the server sends the right amount of data Otherwise, the client would fail with some confusing error. I have seen an error which I think is this, perhaps due to a concurrent revlog split, which streamclones do not handle correctly and would result in a short read of the index of the revlog being split. Differential Revision: https://phab.mercurial-scm.org/D11236
Thu, 29 Jul 2021 16:23:45 -0400 rewriteutil: fix crash when a rewritten message references f{6,64} stable
Augie Fackler <augie@google.com> [Thu, 29 Jul 2021 16:23:45 -0400] rev 47787
rewriteutil: fix crash when a rewritten message references f{6,64} Without this, the rewriteutil logic thinks it's found a reference to the wdir pseudo-revision, and then tries to look it up and rewrite it. Stop it from doing that. Amusingly, I had trouble working with this changeset when I didn't describe the defect above using a regular expression, because it would trigger the bug in my installed version of hg. Differential Revision: https://phab.mercurial-scm.org/D11232
Thu, 29 Jul 2021 16:18:35 -0400 tests: add explicit coverage for update_hash_refs from rewriteutil stable
Augie Fackler <augie@google.com> [Thu, 29 Jul 2021 16:18:35 -0400] rev 47786
tests: add explicit coverage for update_hash_refs from rewriteutil I couldn't find any evidence this is covered by tests in core (but there's a good chance I missed it). We've seen a cute bug in that code, but first let's just cover the cases that work correctly. Differential Revision: https://phab.mercurial-scm.org/D11231
Tue, 27 Jul 2021 19:36:20 +0200 store: document the decoding discrepancy in store.py stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Jul 2021 19:36:20 +0200] rev 47785
store: document the decoding discrepancy in store.py This will help future people that might be looking into this. Differential Revision: https://phab.mercurial-scm.org/D11220
Tue, 27 Jul 2021 19:19:00 +0200 clone: add a file with special character while testing uncompressed stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Jul 2021 19:19:00 +0200] rev 47784
clone: add a file with special character while testing uncompressed This will make sure we currently do not have any actual impact from issue6548. Differential Revision: https://phab.mercurial-scm.org/D11219
Tue, 27 Jul 2021 19:16:30 +0200 clone: test local clone in `test-clone-uncompressed.t` too stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Jul 2021 19:16:30 +0200] rev 47783
clone: test local clone in `test-clone-uncompressed.t` too This is not an uncompressed test but needs to be tested in the same kind of constraints regarding special file name. Differential Revision: https://phab.mercurial-scm.org/D11218
Tue, 27 Jul 2021 00:49:16 +0200 test-transaction-safety: relax some of the synchronisation schedule stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Jul 2021 00:49:16 +0200] rev 47782
test-transaction-safety: relax some of the synchronisation schedule We can have `internal` and `external` runs at the same time, so we unlock `external` a bit sooner. Differential Revision: https://phab.mercurial-scm.org/D11216
Tue, 27 Jul 2021 00:44:57 +0200 test-transaction-safety: document the test schedule stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Jul 2021 00:44:57 +0200] rev 47781
test-transaction-safety: document the test schedule This helps reader to understand how the test work and actually helped me to detect a missing synchronisation step. Differential Revision: https://phab.mercurial-scm.org/D11215
Thu, 29 Jul 2021 12:22:25 +0200 rhg: Propagate permission errors when finding a repository stable
Simon Sapin <simon.sapin@octobus.net> [Thu, 29 Jul 2021 12:22:25 +0200] rev 47780
rhg: Propagate permission errors when finding a repository The Rust standard library has a `Path::is_dir` method that returns false for any I/O error (such as a permission error), not just "No such file or directory". Instead add an `is_dir` function that returns false for non-directories and for "No such file or directory" errors, but propagates other I/O errors. Differential Revision: https://phab.mercurial-scm.org/D11230
Thu, 29 Jul 2021 11:53:03 +0200 rhg: Add build and config instructions to the README file stable
Simon Sapin <simon.sapin@octobus.net> [Thu, 29 Jul 2021 11:53:03 +0200] rev 47779
rhg: Add build and config instructions to the README file This adds documentation explaining how to compile, configure, and use rhg as well as how the fallback mechanism works. Differential Revision: https://phab.mercurial-scm.org/D11229
Wed, 28 Jul 2021 12:39:06 +0200 dirstate: use `add` in the deprecation message about `add` stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jul 2021 12:39:06 +0200] rev 47778
dirstate: use `add` in the deprecation message about `add` The previous message was talking about `remove`. Differential Revision: https://phab.mercurial-scm.org/D11224
Mon, 26 Jul 2021 15:02:23 -0700 help: correct config.profiling.freq name (frequency->freq) stable
Kyle Lippincott <spectral@google.com> [Mon, 26 Jul 2021 15:02:23 -0700] rev 47777
help: correct config.profiling.freq name (frequency->freq) Differential Revision: https://phab.mercurial-scm.org/D11217
Wed, 28 Jul 2021 13:18:13 +0200 run-tests: use a small timeout for chg instance stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jul 2021 13:18:13 +0200] rev 47776
run-tests: use a small timeout for chg instance There is case where the test runner fails to clean up the temporary files in that case, spawned chg instance can stay around for 1 hours. Getting them to shut down sooner cannot hurt. (We should also use a more robust approach for this cleanup) Differential Revision: https://phab.mercurial-scm.org/D11227
Wed, 28 Jul 2021 14:56:10 +0200 run-tests: do not inherit file descriptor when running a command stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jul 2021 14:56:10 +0200] rev 47775
run-tests: do not inherit file descriptor when running a command This is one of the difference between python2 and python3 and could have been a reason why test hang with python2 + chg. This does not seems to help the hanging issue at all… However, now that this is written lets reduce the difference between python2 and python3. Differential Revision: https://phab.mercurial-scm.org/D11226
Wed, 28 Jul 2021 14:55:06 +0200 dummyssh: make sure we don't inherit files descriptor to the children stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jul 2021 14:55:06 +0200] rev 47774
dummyssh: make sure we don't inherit files descriptor to the children This is one of the difference between python2 and python3 and could have been a reason why test hang with python2 + chg. This does not seems to help the hanging issue at all… However, now that this is written lets reduce the difference between python2 and python3. Differential Revision: https://phab.mercurial-scm.org/D11225
Thu, 29 Jul 2021 02:20:26 +0200 tests: make test-serve works on system that allow user to bind low port stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 29 Jul 2021 02:20:26 +0200] rev 47773
tests: make test-serve works on system that allow user to bind low port It is possible to encounter linux system configured in a way that allow port < 1024 to be bound by any users. So we update a test to focus more on the actual test: "resolving `daytime` to an actual port number. The new auto-scaling CI runner provided by clever cloud is doing so. This is the initial motivation for this change, but it seems useful anyway. Differential Revision: https://phab.mercurial-scm.org/D11228
Thu, 29 Jul 2021 17:04:55 -0400 git: restore basic functionality (issue6545) stable
Augie Fackler <augie@google.com> [Thu, 29 Jul 2021 17:04:55 -0400] rev 47772
git: restore basic functionality (issue6545) It looks like a big refactor happened on dirstate, and the git extension was just ignored. Differential Revision: https://phab.mercurial-scm.org/D11234
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -24 +24 +50 +100 +300 +1000 +3000 tip