Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:58:28 +0200] rev 51047
revlog: drop the _generaldelta attribute from the imanifeststorage interface
It never belonged here.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:56:42 +0200] rev 51046
revlog: remove legacy usage of `_generaldelta`
All core code is now getting the setting from the DeltaConfig object.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 18:02:20 +0200] rev 51045
revlog: use the new Config classes in _testrevlog
the mock object need to follow the new interface. We allow ourself a small
hacky import since this is testing code.
The legacy attribute are still here because some code still use them. We will
drop them when this code is updated.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:04:06 +0200] rev 51044
revlog: skip opener options to pass sparse reading values
We can directly set the option in the config object now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:03:58 +0200] rev 51043
revlog: skip opener options to pass sparse_revlog value
We can directly set the option in the config object now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:03:50 +0200] rev 51042
revlog: skip opener options to pass mmap_index_threshold value
We can directly set the option in the config object now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:03:42 +0200] rev 51041
revlog: skip opener options to pass enable_ellipsis
We can directly set the option in the config object now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:03:34 +0200] rev 51040
revlog: skip opener options to pass compression option values
We can directly set the option in the config object now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:03:26 +0200] rev 51039
revlog: skip opener options to pass compression_engine value
We can directly set the option in the config object now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:03:18 +0200] rev 51038
revlog: skip opener options to pass max_chain_len
We can directly set the option in the config object now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:03:09 +0200] rev 51037
revlog: skip opener options to pass max_deltachain_span
We can directly set the option in the config object now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:03:01 +0200] rev 51036
revlog: skip opener options to pass lazy_delta values
We can directly set the option in the config object now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:02:53 +0200] rev 51035
revlog: skip opener options to pass debug_delta value
We can directly set the option in the config object now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:02:45 +0200] rev 51034
revlog: skip opener options to pass candidate_group_chunk_size value
We can directly set the option in the config object now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:02:37 +0200] rev 51033
revlog: skip opener option to pass delta_both_parents value
We can directly set the option in the config object now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:02:29 +0200] rev 51032
revlog: skip opener option to pass chunk_cache_size value
We can directly set the option in the config object now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:02:21 +0200] rev 51031
revlog: create the revlog object at the repository level
There is currently no value set in it, but we will be able to start centralise
config parsing at the repository level.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:02:13 +0200] rev 51030
revlog: overwrite revlog config through copy of the config object
The new objects allow for this kind of blanket approach that make things
cleaner.
If we have more cases, it would probably deserve a context manager, but since we
only have two usage, I don't think it is worth it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:02:05 +0200] rev 51029
revlog: move configuration attribute into dedicated object
First this make things clearer as the number of configuration attributes has
grown out of control, so gathering them make things clearer.
Second, this will make future sharing them at different level simpler.
Third it will allow us to make initialisation and temporary override simpler
soon.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2023 10:01:57 +0200] rev 51028
manifestrevlog: flag some inconsistency in bundle/union repo inheritance
This "work" but still, this is weird, let us point it out.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 30 Sep 2023 02:02:36 +0200] rev 51027
randomaccessfile: drop explicit passing of file description
The goal of this object is to manage IO, we still have to open the file if
necessary, but this is all internal now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Sep 2023 02:54:50 +0200] rev 51026
revlog: drop more file description passing between private function
They are no longer used as we are covered by the `reading` context
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Sep 2023 02:49:18 +0200] rev 51025
revlog: use a `reading` context in `_enforceinlinesize`
We are about to enforce reading context on various operation, so we make sure
top level method are in the right context.
In the future we might move the responsibility of opening the revlog for reading
higher in the call chain but lets limit the disruption for now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Sep 2023 00:55:49 +0200] rev 51024
revlog: drop the df argument to `sidedata`
The intend of this argument is better filled by the `revlog.reading` or
`revlog._writing` context. So we drop it to leave rooms for further cleanup and
improvements.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Sep 2023 00:54:46 +0200] rev 51023
revlog: drop the df argument to `rawdata`
The intend of this argument is better filled by the `revlog.reading` or
`revlog._writing` context. So we drop it to leave rooms for further cleanup and
improvements.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 22:52:01 +0200] rev 51022
revlog: drop the df argument to `revision`
The intend of this argument is better filled by the `revlog.reading` or
`revlog._writing` context. So we drop it to leave rooms for further cleanup and
improvements.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Sep 2023 01:05:02 +0200] rev 51021
interfaces: drop the `raw` parameters on ifiledata interface
In practice it was not implemented since forever. The `rawdata` method fit that
purpose. The interface checking does not detect that because it seems to confuse
the `_df` argument for the `raw` one.
Dropping that `_df` argument in a descendant changesets revealed the issue.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 22:51:57 +0200] rev 51020
delta-computer: stop explicitly taking file handle
The revlog has all the logic for opening and caching such handles, so no need to
duplicate it here. In addition, this let the revlog handle that logic by itself
which is better.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 16:47:55 +0200] rev 51019
censors: simply use `revlog.reading` to keep things open dring rewrite
We have a dedicated context now, we can simply use it.
In practice, we cannot "simply" use it, as `finddeltainfo` still requires the
file pointer to be passed explicitly. We will keep the old context manager open
for a small bit until we get rid of it in a future changeset.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 17:18:40 +0200] rev 51018
stream-clone: use `revlog.reading` in `revlog.get_streams`
We can get the same result while using more standard method, so we do.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 16:57:53 +0200] rev 51017
debug-revlog: keep the revlog open for the analysis duration
This is more explicit. No performance differences were observed.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 16:36:17 +0200] rev 51016
repo-upgrade: keep the revlog open while cloning
This is more explicit. No performance differences were observed.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 25 Sep 2023 12:37:52 +0200] rev 51015
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 51014
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 51013
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 51012
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 51011
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 51010
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 51009
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 51008
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 51007
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 51006
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 51005
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 51004
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 51003
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 51002
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 51001
opemvms: add specific files and utilities
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 03 Aug 2023 02:48:28 +0200] rev 51000
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 50999
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 50998
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 50997
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 50996
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 50995
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 50994
fastexport: simplify code
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 11 Oct 2023 02:02:46 +0200] rev 50993
branching: merge stable into default
Joerg Sonnenberger <joerg@bec.de> [Tue, 10 Oct 2023 18:29:04 +0200] rev 50992
cleanup: typos, formatting
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 24 Sep 2023 04:35:02 +0200] rev 50991
tests: backed out changeset
8037ddacad47
This issue with 3.11 was real, but it eventually got fixed after people started
building exploit and filling CVE
See https://github.com/python/cpython/issues/106242
And https://github.com/python/cpython/pull/106816
Anton Shestakov <av6@dwimlabs.net> [Thu, 05 Oct 2023 14:47:42 -0300] rev 50990
httppeer: fix static-http: scheme autodetection (
issue6833)
Since statichttprepo.make_peer() assumes path is a urlutil.path object (by
accessing path.loc), we no longer can just provide a bytestring there.
See also
5f71fff8dc74 and
cfe8d88a453e.
Raphaël Gomès <rgomes@octobus.net> [Wed, 25 Jan 2023 15:34:27 +0100] rev 50989
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 50988
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.