Raphaël Gomès <rgomes@octobus.net> [Tue, 09 Nov 2021 15:25:38 +0100] rev 48310
relnotes: update 6.0 with the last changes for the release
Differential Revision: https://phab.mercurial-scm.org/D11742
Simon Sapin <simon.sapin@octobus.net> [Tue, 09 Nov 2021 15:43:29 +0100] rev 48309
rhg: Fix `rhg status` file content comparison
This is only used when a file’s metadata make its status ambiguous,
which depends on timing of previous command executions.
Differential Revision: https://phab.mercurial-scm.org/D11743
Arseniy Alekseyev <aalekseyev@janestreet.com> [Wed, 27 Oct 2021 19:37:46 +0100] rev 48308
rhg: make it possible to opt out of `rhg cat`
The reason an opt-out is needed is that there are still behavior
differences between `rhg cat` and `hg cat`:
- it does not interpret relative paths correctly
- it does not interpret patterns correctly, e.g. 're:foobar$' would be interpreted as a verbatim filename
- it does not implement the correct semantics of relpath matcher: if given a directory, `hg` concatenates all files in this directory, while `rhg` simply complains
Differential Revision: https://phab.mercurial-scm.org/D11723
pacien <pacien.trangirard@pacien.net> [Tue, 09 Nov 2021 02:00:25 +0100] rev 48307
tests: run the whole hg-core/path_auditor test in a clean temp dir
This makes the whole test happen in a clean temporary directory in
`$TMPDIR/$random`, and simplifies the test a bit by eliminating unnecessarily
dynamic path elements computations.
Before this patch, the first part of the test was happening in `/tmp` itself.
This allowed coincidentally named files placed in that directory to impact the
outcome of the test. Additionally, this made the second part of the test fail
on systems on which `$TMPDIR != /tmp`, because the inspected directory was
different from the one in which the mock files were being written. This fully
fixes the issue only partially solved in
db2bc9e667a1.
Differential Revision: https://phab.mercurial-scm.org/D11738
Raphaël Gomès <rgomes@octobus.net> [Wed, 20 Oct 2021 10:25:51 +0200] rev 48306
fsmonitor: fix traceback after removal of nonnormalset (
issue6600)
This basically does the same thing it used to do, but in the only place it's
needed.
Differential Revision: https://phab.mercurial-scm.org/D11707
Raphaël Gomès <rgomes@octobus.net> [Wed, 20 Oct 2021 10:26:39 +0200] rev 48305
fsmonitor: fix traceback about bytes and str incompatibility
This didn't work anymore in Python 3, switching to a `repr` based reporting does
Differential Revision: https://phab.mercurial-scm.org/D11708
Raphaël Gomès <rgomes@octobus.net> [Wed, 27 Oct 2021 15:18:52 +0200] rev 48304
backout: backed out changeset
67d14d4e036c
Same as the previous patch, this breaks the Windows CI for some yet unknown
reason.
Differential Revision: https://phab.mercurial-scm.org/D11727
Raphaël Gomès <rgomes@octobus.net> [Wed, 27 Oct 2021 12:07:58 +0200] rev 48303
backout: backed out changeset
f78d8b8c46d7
This and the following backout exist because the original patches break the
Windows CI for some yet unknown reason.
Differential Revision: https://phab.mercurial-scm.org/D11726
Raphaël Gomès <rgomes@octobus.net> [Thu, 04 Nov 2021 12:35:05 +0100] rev 48302
relnotes: clear next release notes
Differential Revision: https://phab.mercurial-scm.org/D11737
Raphaël Gomès <rgomes@octobus.net> [Thu, 04 Nov 2021 12:34:51 +0100] rev 48301
relnotes: add 6.0 release notes
Differential Revision: https://phab.mercurial-scm.org/D11736
Raphaël Gomès <rgomes@octobus.net> [Thu, 04 Nov 2021 09:55:37 +0100] rev 48300
relnotes: fix wrong command name in 5.9 relnotes
Differential Revision: https://phab.mercurial-scm.org/D11735
Kyle Lippincott <spectral@google.com> [Wed, 03 Nov 2021 14:11:11 -0700] rev 48299
pyoxidizer: use in-memory resources on non-Windows platforms
In-memory resources were disabled for macOS in
7bc1beed, and for all platforms
in
c900d962. Unfortunately this made it so that we were no longer producing
standalone binaries on these platforms, and would have to ship the .py and .pyc
files alongside the pyoxidized binary.
These changes are no longer necessary after
f6b04591, which disabled pep517 and
solved the issue we were encountering.
Differential Revision: https://phab.mercurial-scm.org/D11734
Raphaël Gomès <rgomes@octobus.net> [Wed, 03 Nov 2021 12:35:57 +0100] rev 48298
compat: don't rely on cpython-specific builtins manipulation
Pierre Augier signaled on the mailing list that this fails on Pypy and pointed
out the correct solution.
Differential Revision: https://phab.mercurial-scm.org/D11732
Raphaël Gomès <rgomes@octobus.net> [Wed, 03 Nov 2021 17:06:01 +0100] rev 48297
rust-format: update rustfmt version
This hasn't been updated in a while, and since we're updating the MSRV to
1.48.0, we might as well do this.
Differential Revision: https://phab.mercurial-scm.org/D11733
Raphaël Gomès <rgomes@octobus.net> [Wed, 25 Aug 2021 17:53:19 +0200] rev 48296
rust: update the minimum version of Rust
Debian Bullseye has just been released, and it carries `rustc 1.48.0`.
This actually implies a regression that we can't really do anything about in
`rhg`. See https://github.com/rust-lang/rust/issues/88825. In short, closed (or
bad) standard file descriptors are reopened silently with no way of telling by
the Rust runtime before `main` is executed. This means that closed fds are not
forwarded to the subprocess we run in case of fallback. This is a bit sad, but
probably not something worth worrying too much about.
Differential Revision: https://phab.mercurial-scm.org/D11341
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Oct 2021 00:57:02 +0200] rev 48295
dirstate-v2: freeze the on-disk format
It seems the format as reached a good balance. With a core of new capabilities
that motivated it initially and enough new feature and room for future
improvement to be a clear progress we can set a milestone for.
Having the format frozen will help the feature to get real life testing, outside
of the test suite.
The feature itself stay experimental but the config gains a new name to avoid
people enable non-frozen version by default.
If too many bugs are reported during the RC we might move the format back to
experimental and drop its support in future version (in favor of a new one)
Differential Revision: https://phab.mercurial-scm.org/D11709
Augie Fackler <augie@google.com> [Mon, 01 Nov 2021 14:59:07 -0400] rev 48294
merge: with stable
Raphaël Gomès <rgomes@octobus.net> [Fri, 22 Oct 2021 09:45:35 +0200] rev 48293
windows: use raw string in test log paths
Otherwise the backslashes will work as escapes on Windows and break everything.
Differential Revision: https://phab.mercurial-scm.org/D11725
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 29 Oct 2021 14:40:46 +0200] rev 48292
pull: make the new argument a keyword argument
As per feedback from Dan Villiom Podlaski Christiansen
in https://phab.mercurial-scm.org/D11674#179866
Differential Revision: https://phab.mercurial-scm.org/D11730
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Oct 2021 17:44:58 +0200] rev 48291
dirstate: make sure that status does not overlook the fallback flags
Without this extra checks, file with fallback flags change as the only change
would be overlooked.
In the future we might store proper data in the dirstate and do less lookup.
However, for now this will do to make sure that 6.0 is forward compatible with
later version.
Differential Revision: https://phab.mercurial-scm.org/D11729
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Oct 2021 17:26:03 +0200] rev 48290
dirstate: use a single closure for get_flags
The previous code was overlooking fallback when neither symlink not exec was
supported.
The number of "variants" is getting too high, so I am consolidating this in a
single closure that should be easier to maintains.
This also ensure that fallback flags are always taken into account.
(they are not user code yet, but small experimentation shown that the feature
was working as intended.)
A a small side effect we need to check for symlink support more lazily and this
show up in the test in a couple of places.
Differential Revision: https://phab.mercurial-scm.org/D11728
Kyle Lippincott <spectral@google.com> [Fri, 30 Apr 2021 16:00:40 -0700] rev 48289
tests: allow Google's internal builds of clang-format to be used
These builds do not actually include any Google-specific formatting changes; the
only reason they don't include the LLVM version number is due to a decision to
elide the version number from *all* LLVM/clang projects.
For most builds of clang-format, even "unofficial" ones, the LLVM version will
be displayed; example:
```
clang-format version 14.0.0 (https://github.com/llvm/llvm-project.git
1830ec94ac022ae0b6d6876fc2251e6b91e5931e)
```
The Google-internal build looks like this:
```
clang-format version google3-trunk (
1830ec94ac022ae0b6d6876fc2251e6b91e5931e)
```
Differential Revision: https://phab.mercurial-scm.org/D10538
Augie Fackler <augie@google.com> [Tue, 26 Oct 2021 10:23:14 -0400] rev 48288
merge: with stable
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 26 Oct 2021 18:53:58 +0530] rev 48287
Added signature for changeset
6ee0244fc1cf
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 26 Oct 2021 18:53:51 +0530] rev 48286
Added tag 5.9.3 for changeset
6ee0244fc1cf
Raphaël Gomès <rgomes@octobus.net> [Mon, 25 Oct 2021 17:57:01 +0200] rev 48285
relnotes: update release notes for upcoming 5.9.3
Differential Revision: https://phab.mercurial-scm.org/D11720
Matt Harbison <matt_harbison@yahoo.com> [Sat, 23 Oct 2021 17:13:57 -0400] rev 48284
typing: add more type hints to the errors module
These were found by looking for `Any` types in the generated `*.pyi` file after
running the tests. There are some more complicated types that I'm not sure of,
and am leaving untyped. I also can't figure out how to get `self.hint` to be
anything other than `Any` in most classes.
Differential Revision: https://phab.mercurial-scm.org/D11719
Matt Harbison <matt_harbison@yahoo.com> [Sat, 23 Oct 2021 16:04:05 -0400] rev 48283
typing: add a few assertions to revlog.py to help pytype
I've seen this before, but this was seen as potentially `None` with pytype
2021.10.18.
Differential Revision: https://phab.mercurial-scm.org/D11718
Raphaël Gomès <rgomes@octobus.net> [Thu, 21 Oct 2021 09:22:06 +0200] rev 48282
dirstate: group return logic and clarify each function in flagfunc
As suggested by spectral during review of my fix of the missing return, this
makes it more obvious that all cases are covered and improves readability of
the functions with new names and a small docstring.
Differential Revision: https://phab.mercurial-scm.org/D11715
Raphaël Gomès <rgomes@octobus.net> [Wed, 20 Oct 2021 18:40:03 +0200] rev 48281
dirstate: add missing return on platforms without exec or symlink
Differential Revision: https://phab.mercurial-scm.org/D11713