Kyle Lippincott <spectral@google.com> [Tue, 19 Oct 2021 18:06:07 -0700] rev 48282
tests: fix test-convert-git to work w/ "git pull" requiring strategy
A recent change to git (031e2f7ae195) made it an error to not specify a strategy
(`--rebase`, `--no-rebase`, `--ff-only`), instead of just the warning it was
previously. As far as I can tell, `--no-rebase` is the behavior we were getting
before, and the only one that makes the test work.
Differential Revision: https://phab.mercurial-scm.org/D11714
Raphaël Gomès <rgomes@octobus.net> [Thu, 21 Oct 2021 17:25:41 +0200] rev 48281
branching: merge stable into default
David Demelier <markand@malikania.fr> [Thu, 21 Oct 2021 11:21:21 +0200] rev 48280
hg: remove reserved identifiers
Per 7.1.3 paragraph, from C draft:
All identifiers that begin with an underscore and either an uppercase letter or
another underscore are always reserved for any use.
Kyle Lippincott <spectral@google.com> [Mon, 18 Oct 2021 16:24:00 -0700] rev 48279
pyoxidizer: update README.md with several small fixes
Currently, pyoxidizer.bzl does not mention the git commit that should be checked
out, so these instructions are a bit difficult to follow right now (impossible,
technically), so I removed the instruction to `git checkout <Git commit>` and
the admonition to use a specific version of PyOxidizer. I don't even know if the
project currently builds with the "0.7.0-pre" version that was previously
recommended.
As fallout from that change to not "pin" to a specific PyOxidizer, I had to
update the Python version to use when running the tests.
While here, I added a recommendation to use `--release`, as the primary reason
for this project is performance, and it may have been leaving some on the table
to not have that there.
Differential Revision: https://phab.mercurial-scm.org/D11698
Kyle Lippincott <spectral@google.com> [Mon, 18 Oct 2021 16:18:41 -0700] rev 48278
pyoxidizer: disable using in-memory resources
It's possible that the errors are due to using an incompatible version of
PyOxidizer; unfortunately the README.md file in this directory says to fetch a
copy of PyOxidizer matching the commit in this pyoxidizer.bzl file, and yet the
pyoxidizer.bzl file does not actually have a commit mentioned in it.
By disabling in-memory modules, this appears to work on all platforms using the
current head version of PyOxidizer, so let's disable them for now.
Sample error (during `pyoxidizer build`):
```
error[PYOXIDIZER_PYTHON_EXECUTABLE]: adding PythonExtensionModule<name=hgext.fsmonitor.pywatchman.bser>
Caused by:
extension module hgext.fsmonitor.pywatchman.bser cannot be loaded from memory but memory loading required
--> ./pyoxidizer.bzl:140:5
|
140 | exe.add_python_resources(exe.pip_install(["--verbose", ROOT]))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ add_python_resources()
error: adding PythonExtensionModule<name=hgext.fsmonitor.pywatchman.bser>
Caused by:
extension module hgext.fsmonitor.pywatchman.bser cannot be loaded from memory but memory loading required
```
Differential Revision: https://phab.mercurial-scm.org/D11697
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Oct 2021 00:21:41 +0200] rev 48277
dirstate-v2: reorder flag to group related one together
Since the format is not frozen yet, it seems like the right moment to do it.
Differential Revision: https://phab.mercurial-scm.org/D11704
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 19 Oct 2021 20:14:17 +0200] rev 48276
dirstate-v2: read the fallback value in Rust
This was overlooked in a previous commit.
Differential Revision: https://phab.mercurial-scm.org/D11695
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 19 Oct 2021 18:18:05 +0200] rev 48275
dirstate-v2: adjust the meaning of directory flags
Tracking directory "explicitly" give use the opportunity to distinct between
entry that are untracked because they are part of the directory structure and
entry that are ignored/unknown files on the files system.
The help is adjusted to the new semantic and the code now comply to it for both
read and write.
Differential Revision: https://phab.mercurial-scm.org/D11694
Simon Sapin <simon.sapin@octobus.net> [Wed, 13 Oct 2021 15:58:14 +0200] rev 48274
dirstate-v2: actually use sub-second mtime precision
Instead of zero, set the nanoseconds field to its correct value whenever
possible and preserve it across serialization+parsing.
Differential Revision: https://phab.mercurial-scm.org/D11702
Simon Sapin <simon.sapin@octobus.net> [Thu, 14 Oct 2021 13:54:39 +0200] rev 48273
dirstate: ignore sub-second component when either is zero in mtime
When comparing mtimes for equality.
Some APIs simply return zero when more precision is not available.
When comparing values from different sources, if only one is truncated in
that way, doing a simple comparison would cause many false negatives.
Differential Revision: https://phab.mercurial-scm.org/D11701