Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 12:37:52 +0200] rev 51020
verify: keep the revlog open for reading while verifying it
This is more explicit. No performances difference were observed.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 12:32:42 +0200] rev 51019
convert: use `changelogrevision` to fetch changeset data instead of read
This `changelogrevision` is a higher level function that will remain simple to
use as we refactor the revlog.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 12:14:38 +0200] rev 51018
revlog: adapt the `reading` check for `unionrepo`
We cannot just rely on the length check for the `unionrepo` as the local revlog
might be empty while the other revlog contains data. In addition, we need to
also open the second revlog for reading when needed.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 12:13:38 +0200] rev 51017
revlog: adapt the `reading` check for `bundlerepo`
We cannot just rely on the length check for the `bundlerepo` as the local
revlog might be empty with all data in the bundle.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 12:07:25 +0200] rev 51016
revlog: make `reading` not crash on empty repository
If the revlog is empty, the file might not exist and the open will fails. This
is not great, but that details or this is now contained in the revlog itself.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 11:59:38 +0200] rev 51015
changelog: make the `_delayopener` a real proxy
We use the same approach as the `_divertopener`. This make it possible to use
other methods of the vfs and not just the `__call__` API.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 11:23:38 +0200] rev 51014
perf: ensure all readlog's reading is done within a `reading` context
We are about to enforce this at the revlog level, so we update the perf code in
advance.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 11:13:44 +0200] rev 51013
perf: change the way we approach revlog reading
If the `reading` context manager is available, we should use it over explicit
file handle management. This will help us to make file handle management a
matter more internal to the revlog.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 19 Sep 2023 23:14:36 +0200] rev 51012
revlog: document the `rev` method
A small docstring does not hurt.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 19 Sep 2023 23:14:01 +0200] rev 51011
revlog: document the `clearcaches` method
A small docstring does not hurt.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 19 Sep 2023 23:13:16 +0200] rev 51010
revlog: document the `update_caches` method
A small docstring does not hurt.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 19 Sep 2023 23:10:05 +0200] rev 51009
revlog: make the `candelta` method private
It is only used internally, so lets make it clear.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 19 Sep 2023 23:09:29 +0200] rev 51008
revlog: document the `get_streams` method
A small docstring does not hurt.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 19 Sep 2023 22:52:54 +0200] rev 51007
revlog: document the `is_inline_index` method
A small docstring does not hurt.
Jean-Francois Pieronne <jf.pieronne@laposte.net> [Wed, 11 Oct 2023 15:15:28 +0200] rev 51006
opemvms: add specific files and utilities
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 03 Aug 2023 02:48:28 +0200] rev 51005
openvms: do not check for shebang in openvms script
It does not apply to them.
Jean-Francois Pieronne <jf.pieronne@laposte.net> [Thu, 03 Aug 2023 02:30:57 +0200] rev 51004
openvms: consider worker costly on OpenVMS
As for Windows, the parallel worker feature is less appealing on OpenVMS.
Jean-Francois Pieronne <jf.pieronne@laposte.net> [Thu, 03 Aug 2023 02:33:22 +0200] rev 51003
openvms: fix the pager spawning and cleanup
Unsurprisingly, pager handling needs some adjustment.
Jean-Francois Pieronne <jf.pieronne@laposte.net> [Thu, 03 Aug 2023 02:32:28 +0200] rev 51002
openvms: make process spawning works on OpenVMS
We need to adjust some behavior for OpenVMS.
Jean-Francois Pieronne <jf.pieronne@laposte.net> [Thu, 03 Aug 2023 02:34:17 +0200] rev 51001
openvms: mark symlink as unsupported on OpenVMS
OpenVMS's symlink emulation is broken on some OpenVMS versions, so we better
disable them altogether for now.
Jean-Francois Pieronne <jf.pieronne@laposte.net> [Thu, 03 Aug 2023 02:28:52 +0200] rev 51000
openvms: duck-punch a bugfix into `environb` object
The official Python3 build for OpenVMS has some crippling bug that we need to
patch dynamically
OpenVMS patches
Joerg Sonnenberger <joerg@bec.de> [Wed, 11 Oct 2023 00:43:24 +0200] rev 50999
fastexport: simplify code
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 11 Oct 2023 02:02:46 +0200] rev 50998
branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Wed, 25 Jan 2023 15:34:27 +0100] rev 50997
admin-command: add verify command
Start using the 'admin' namespace by adding a 'verify' command.
Invocation is 'admin::verify'.
The idea is to progressively add more focused checks than the existing
verify command.
To do so we need an advanced way to express what we want to check.
The first check for admin::verify is 'working-copy.dirstate' which has
no options, because it was an easy first check to implement, which
verifies the integrity of the dirstate.
This changeset was created with the help of Franck Bret.
Raphaël Gomès <rgomes@octobus.net> [Wed, 13 Sep 2023 12:25:51 +0200] rev 50996
transaction: abstract away the detection of an abandoned transaction
We're about to add another place where this is used, let's not spill this
implementation detail.
Franck Bret <franck.bret@octobus.net> [Wed, 25 Jan 2023 15:33:39 +0100] rev 50995
commands: add admin namespace
In order to stop abusing the 'debug' namespace for non-debug command,
it adds a new 'admin' namespace dedicated to 'admin' operations on a
repository (i.e commands suitable for administration tasks).
This namespace entry would be used to migrate in the future some
existing commands from the 'debug' namespace, or other top level
commands that may not be directly exposed to end users.
(verify command is a perfect candidate for this case)
Raphaël Gomès <rgomes@octobus.net> [Wed, 09 Aug 2023 15:46:35 +0200] rev 50994
rust-config: fix incorrect coercion of null values to false
As explained in the previous changeset:
Probably being too trigger happy about boolean values, I incorrectly set
the transform for a `None` to a `Some(false)`. It would cause for example
the `ui.formatted` value to be set to `Some(false)`, which turns off the colors
among other things, when `None` would trigger the automatic behavior.
Raphaël Gomès <rgomes@octobus.net> [Wed, 09 Aug 2023 15:44:56 +0200] rev 50993
rust-config: show default `null` is coerced incorrectly to `false`
Probably being too trigger happy about boolean values, I incorrectly set
the transform for a `None` to a `Some(false)`. It would cause for example
the `ui.formatted` value to be set to `Some(false)`, which turns off the colors
among other things, when `None` would trigger the automatic behavior.
This is fixed in the next commit.
Raphaël Gomès <rgomes@octobus.net> [Wed, 09 Aug 2023 15:41:18 +0200] rev 50992
rust-config: fix fallback to default not parsing the default value
When a config item's default is a string, it sometimes needs to be parsed
into another type, like in the case of `cmdserver.max-log-size`, that returns
a number of bytes from a human-readable amount like `25MB`.
The logic for the fix is explained inline.
Raphaël Gomès <rgomes@octobus.net> [Tue, 08 Aug 2023 14:14:00 +0200] rev 50991
rust-config: demonstrate a bug when falling back to non-trivial default values
The default value (when the user hasn't configured anything) is not run
through the value parser, causing a programming error to happen because
of type mismatch. This will be fixed in the next commit.