Gregory Szorc <gregory.szorc@gmail.com> [Thu, 06 May 2021 15:40:47 -0700] rev 47196
automation: install latest Python versions in Linux environment
Let's keep our Linux environment up to date.
Differential Revision: https://phab.mercurial-scm.org/D10674
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 06 May 2021 17:46:57 -0700] rev 47195
automation: create Python 3.5 variant of requirements.txt
The automation environment is refusing to build with the previous
file because some dependencies won't install on Python 3.5.
I couldn't find an easy way to salvage the situation with a single
requirements.txt file. So, I decided to introduce a variant
for Python 3.5.
As part of this, we update packages to latest versions.
(I do question why we are still supporting Python 3.5...)
Differential Revision: https://phab.mercurial-scm.org/D10690
Karthikeyan Singaravelan <tir.karthi@gmail.com> [Sat, 15 May 2021 09:45:10 +0000] rev 47194
hgweb: Fix deprecation warning in Python 3.10 (
issue6520)
Differential Revision: https://phab.mercurial-scm.org/D10711
Simon Sapin <simon.sapin@octobus.net> [Mon, 10 May 2021 21:59:13 +0200] rev 47193
dirstate-tree: Remove newly-empty nodes after removing a `DirstateEntry`
This is actually necessary to make `DirstateMap::has_dir` correct, since it
assumes that a node without a `DirstateEntry` has at least one descedant node
with a `DirstateEntry`.
This bug would become apparent when a later changeset persists tree nodes
on disk in the "dirstate-v2" format.
Differential Revision: https://phab.mercurial-scm.org/D10706
Simon Sapin <simon.sapin@octobus.net> [Mon, 10 May 2021 21:31:05 +0200] rev 47192
dirstate-tree: Refactor DirstateMap::drop_file to be recursive
It should behave the same as before. This will enable the next changeset
to run code on the way "down" (in order to removing newly-empty nodes).
Differential Revision: https://phab.mercurial-scm.org/D10705
Martin von Zweigbergk <martinvonz@google.com> [Tue, 11 May 2021 12:22:26 -0700] rev 47191
templates: fix `revset('parents()') % ...` in amend message template
I don't understand why, but putting `revset('parents()') % {desc}` in
the commit message template for amend resulted in a crash because
`memctx.hex()` did `hex(self.node())` and its node was None. This
patch fixes that.
Martin von Zweigbergk <martinvonz@google.com>
Differential Revision: https://phab.mercurial-scm.org/D10707
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Apr 2021 19:54:03 +0200] rev 47190
path: teach the `hg path` command to display boolean sub-option
The next changeset introduce one.
Differential Revision: https://phab.mercurial-scm.org/D10450
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Apr 2021 01:18:28 +0200] rev 47189
parselist: move the function from config to stringutil
We move the function in a lower level module to avoid cycle. It moves next to
`parsebool` who had to migrate for the same reasons.
Differential Revision: https://phab.mercurial-scm.org/D10449
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Apr 2021 02:14:21 +0200] rev 47188
bookmark: use `list_paths` to access path definition
The content of the `[paths]` config section is receiving transformation that
make it hard to recognise whats the actual name, and the next changeset will
make it worse. So we use the official API for this instead.
Differential Revision: https://phab.mercurial-scm.org/D10448
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Apr 2021 16:58:20 +0200] rev 47187
urlutil: make `paths` class old list of `path`
We move from a `{name → path}` mapping to a `{name → [path]}` mapping. And
update all user code accordingly. For now, all the list contains exactly one
element, but we are now in a good place to make the config understand a list of
url.
Differential Revision: https://phab.mercurial-scm.org/D10447
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Apr 2021 17:15:43 +0200] rev 47186
urlutil: extract `chain_path` in a function
This will no longer modify `path` inplace so it does not make much sense as a method.
Differential Revision: https://phab.mercurial-scm.org/D10446
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Apr 2021 17:12:25 +0200] rev 47185
urlutil: add a `copy` method to `path
This will be useful when inheriting from multiple path at the same time.
Differential Revision: https://phab.mercurial-scm.org/D10445
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Apr 2021 12:33:05 +0200] rev 47184
template: add a `paths` field to all entry in peerurls
This make it possible to display multiple path per name in the near future.
Differential Revision: https://phab.mercurial-scm.org/D10444
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 07 May 2021 10:39:58 +0200] rev 47183
cache: avoid warming the fnodetags cache after clone
That cache can quite expensive to compute on large repository as not that `hg
clone` is warming all cache, this can introduces a significant slowdown for
clone time[1]. As a stop gap measure introduce a quick fix for
that on stable, skipping the fnodetags cache post-clone.
[1] https://www.mercurial-scm.org/pipermail/mercurial/2021-April/052679.html
Differential Revision: https://phab.mercurial-scm.org/D10695
Matt Harbison <matt_harbison@yahoo.com> [Wed, 05 May 2021 17:47:30 -0400] rev 47182
run-tests: fix whitelist/blacklist with directories on Windows
The file name is resolved with `os.path.relpath()` in the `Test` constructor,
which yields `\` on Windows. That doesn't match the `/` separator when using
MSYS tools to build the list, and it isn't obvious that this is the problem
because directory separators can mostly be used interchangeably. The
`--test-list` argument already seems to be properly handled.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 23:20:41 -0500] rev 47181
run-tests: ignore PermissionError when checking available ports
I'm not sure what this is, but I'm getting it occasionally when running in WSL.
When it was raised, none of the tests could run.
Simon Sapin <simon.sapin@octobus.net> [Tue, 11 May 2021 18:10:59 +0200] rev 47180
status: Add some more tests
Trying to improve coverage for various non-ovbious scenarios
Differential Revision: https://phab.mercurial-scm.org/D10704
Matt Harbison <matt_harbison@yahoo.com> [Sat, 08 May 2021 00:21:31 -0400] rev 47179
run-tests: use the same python version for shebang lines on Windows
The latest py3 is used if the minor number isn't specified. After running the
script to install all of the build dependencies, that moved the default from 3.8
to 3.9 on the CI system. That in turn caused a bunch of tests to be skipped
that were running prior, even when the test runner was invoked with `py -3.8`.
While we should almost always use the latest version, we really shouldn't make
it hard to test different versions or allow things to randomly break in subtle
ways like that.
Differential Revision: https://phab.mercurial-scm.org/D10702
Karthikeyan Singaravelan <tir.karthi@gmail.com> [Fri, 14 May 2021 10:01:29 +0000] rev 47178
vfs: Fix deprecation warning in Python 3.10 (
issue6520)
Differential Revision: https://phab.mercurial-scm.org/D10710
Raphaël Gomès <rgomes@octobus.net> [Wed, 12 May 2021 10:24:17 +0200] rev 47177
contrib: fix typo
I forgot to fix it in flight, this commit will do fine.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 May 2021 12:27:09 +0200] rev 47176
revlog: rename `indexdata` to entry_data
Same reasoning as the previous changeset, we might not be looking at index data
here.
Differential Revision: https://phab.mercurial-scm.org/D10602
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 May 2021 12:26:59 +0200] rev 47175
revlog: use "entry_point" phrasing for loading the revlog
The main entry for the revlog will not necessary be the index, but a small
"docket". So we change the variable names and we move the initialisation of the
index_file and data_file after that first entry point have been read.
Differential Revision: https://phab.mercurial-scm.org/D10601
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 May 2021 12:26:48 +0200] rev 47174
revlog: directly use self._format_flags when loading index
The shorthand variable does not bring much, so we drop it to simplify the code.
Differential Revision: https://phab.mercurial-scm.org/D10600
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 May 2021 12:26:37 +0200] rev 47173
revlog: directly use self._format_version when loading index
The shorthand variable does not bring much, so we drop it to simplify the code.
Differential Revision: https://phab.mercurial-scm.org/D10599