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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Augie Fackler <augie@google.com> [Thu, 29 Jul 2021 17:03:35 -0400] rev 47771
dirstate: fix typo in docstring
Spotted while repairing git extension tests.
Differential Revision: https://phab.mercurial-scm.org/D11233
Matt Harbison <matt_harbison@yahoo.com> [Fri, 30 Jul 2021 00:11:56 -0400] rev 47770
typing: add several assertions to dirstatemap to appease pytype
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
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 26 Jul 2021 21:55:53 +0200] rev 47769
help: indicate how to run downgrade a repository using persistent nodemap
We have a couple of report of people needing this. I am not fan of pointing
people to a debug command, but we don't have much better to offer right now
Differential Revision: https://phab.mercurial-scm.org/D11214
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 26 Jul 2021 21:52:10 +0200] rev 47768
help: use the correct spelling for `slow-path` in persistent nodemap help
Differential Revision: https://phab.mercurial-scm.org/D11213
Martin von Zweigbergk <martinvonz@google.com> [Mon, 11 Mar 2019 10:59:35 -0700] rev 47767
fix: use scmutil.movedirstate() instead of reimplementing
I wrote this patch 2 years ago as a little cleanup. I wanted to
generally used `scmutil.movedirstate()` instead of manually updating
the dirstate because that is easy to get wrong. I didn't know until
today that the current code had a bug. So I added the test case two
patches before this one and dusted off this one patch. This is a
little slower than the previous code, as it diffs two
manifests. However, it fixes the bug and I don't think it's going to
be noticeably slower anyway.
Differential Revision: https://phab.mercurial-scm.org/D11210
Martin von Zweigbergk <martinvonz@google.com> [Mon, 11 Mar 2019 10:56:56 -0700] rev 47766
fix: rewrite writeworkingdir() to explicitly not work with merges
`hg fix` errors out early if there is an unfinished merge, so we
should have only one parent here. Making that explicit makes my next
patches simpler.
Differential Revision: https://phab.mercurial-scm.org/D11209
Martin von Zweigbergk <martinvonz@google.com> [Thu, 22 Jul 2021 17:12:56 -0700] rev 47765
tests: demonstrate bug in `hg fix` with incorrectly dirty working copy
If the parent commit needs formatting but the working copy already has
the correct formatting, then the working copy will be reported as
modified even though it's clean (because the size in the dirstate is
incorrect). Because the bug only occurs when the size changes, I
modified the formatter used in the test case to remove repeated
spaces.
Differential Revision: https://phab.mercurial-scm.org/D11208
Matt Harbison <matt_harbison@yahoo.com> [Wed, 21 Jul 2021 15:50:17 -0400] rev 47764
upgrade: byteify an i18n message
Differential Revision: https://phab.mercurial-scm.org/D11207
Matt Harbison <matt_harbison@yahoo.com> [Wed, 21 Jul 2021 15:34:35 -0400] rev 47763
typing: convert an annotation to an assertion in commands.py
Pytype was happy with the annotation at one point, but 2021.04.15 now complains.
Differential Revision: https://phab.mercurial-scm.org/D11206
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 20 Jul 2021 23:04:28 +0200] rev 47762
test: remove `sleep` usage in `test-nointerrupt.t` (
issue6271)
We move from sleep based synchronisation to file creation based synchronisation.
Sleeps is the path to the dark side.
Sleeps leads to flakiness.
Flakiness leads to anger.
Anger leads to hate.
Hate leads to suffering.
Differential Revision: https://phab.mercurial-scm.org/D11205
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 22 Jul 2021 03:13:37 +0530] rev 47761
Added signature for changeset
d7515d29761d
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 22 Jul 2021 03:13:30 +0530] rev 47760
Added tag 5.9rc0 for changeset
d7515d29761d