Tue, 19 Sep 2023 23:13:16 +0200 revlog: document the `update_caches` method
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.
Tue, 19 Sep 2023 23:10:05 +0200 revlog: make the `candelta` method private
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.
Tue, 19 Sep 2023 23:09:29 +0200 revlog: document the `get_streams` method
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.
Tue, 19 Sep 2023 22:52:54 +0200 revlog: document the `is_inline_index` method
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.
Wed, 11 Oct 2023 15:15:28 +0200 opemvms: add specific files and utilities
Jean-Francois Pieronne <jf.pieronne@laposte.net> [Wed, 11 Oct 2023 15:15:28 +0200] rev 51006
opemvms: add specific files and utilities
Thu, 03 Aug 2023 02:48:28 +0200 openvms: do not check for shebang in openvms script
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.
Thu, 03 Aug 2023 02:30:57 +0200 openvms: consider worker costly on OpenVMS
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.
Thu, 03 Aug 2023 02:33:22 +0200 openvms: fix the pager spawning and cleanup
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.
Thu, 03 Aug 2023 02:32:28 +0200 openvms: make process spawning works on OpenVMS
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.
Thu, 03 Aug 2023 02:34:17 +0200 openvms: mark symlink as unsupported on 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.
Thu, 03 Aug 2023 02:28:52 +0200 openvms: duck-punch a bugfix into `environb` object
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
Wed, 11 Oct 2023 00:43:24 +0200 fastexport: simplify code
Joerg Sonnenberger <joerg@bec.de> [Wed, 11 Oct 2023 00:43:24 +0200] rev 50999
fastexport: simplify code
Wed, 11 Oct 2023 02:02:46 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 11 Oct 2023 02:02:46 +0200] rev 50998
branching: merge stable into default
Wed, 25 Jan 2023 15:34:27 +0100 admin-command: add verify command
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.
Wed, 13 Sep 2023 12:25:51 +0200 transaction: abstract away the detection of an abandoned transaction
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.
Wed, 25 Jan 2023 15:33:39 +0100 commands: add admin namespace
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)
Wed, 09 Aug 2023 15:46:35 +0200 rust-config: fix incorrect coercion of null values to false
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.
Wed, 09 Aug 2023 15:44:56 +0200 rust-config: show default `null` is coerced incorrectly to `false`
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.
Wed, 09 Aug 2023 15:41:18 +0200 rust-config: fix fallback to default not parsing the default value
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.
Tue, 08 Aug 2023 14:14:00 +0200 rust-config: demonstrate a bug when falling back to non-trivial default values
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.
Fri, 18 Aug 2023 14:34:29 +0200 rust: make `Revision` a newtype
Raphaël Gomès <rgomes@octobus.net> [Fri, 18 Aug 2023 14:34:29 +0200] rev 50990
rust: make `Revision` a newtype This change is the one we've been building towards during this series. The aim is to make `Revision` mean more than a simple integer, holding the information that it is valid for a given revlog index. While this still allows for programmer error, since creating a revision directly and querying a different index with a "checked" revision are still possible, the friction created by the newtype will hopefully make us think twice about which type to use. Enough of the Rust ecosystem relies on the newtype pattern to be efficiently optimized away (even compiler in codegen testsĀ¹), so I'm not worried about this being a fundamental problem. [1] https://github.com/rust-lang/rust/blob/7a70647f195f6b0a0f1ebd72b1542ba91a32f43a/tests/codegen/vec-in-place.rs#L47
Thu, 10 Aug 2023 11:01:07 +0200 rust: implement the `Graph` trait for all revlogs
Raphaël Gomès <rgomes@octobus.net> [Thu, 10 Aug 2023 11:01:07 +0200] rev 50989
rust: implement the `Graph` trait for all revlogs This is trivial and makes all the algorithms relying on the trait usable for more use cases.
Thu, 10 Aug 2023 11:00:34 +0200 rust: use the new `UncheckedRevision` everywhere applicable
Raphaël Gomès <rgomes@octobus.net> [Thu, 10 Aug 2023 11:00:34 +0200] rev 50988
rust: use the new `UncheckedRevision` everywhere applicable This step converts all revisions that shouldn't be considered "valid" in any context to `UncheckedRevison`, allowing `Revision` to be changed for a stronger type in a later changeset. Note that the conversion from unchecked to checked is manual and requires at least some thought from the programmer, although directly using `Revision` is still possible. A later changeset will make this mistake harder to make.
Mon, 11 Sep 2023 11:52:33 +0200 rust-revlog: split logic for `rawdata` to prepare for `UncheckedRevision` use
Raphaël Gomès <rgomes@octobus.net> [Mon, 11 Sep 2023 11:52:33 +0200] rev 50987
rust-revlog: split logic for `rawdata` to prepare for `UncheckedRevision` use In the next changeset, we will change the logic to use `UncheckedRevision` in the non-general delta case. The general delta case will use the "checked" path since `base_rev_or_base_of_delta_chain` will be checked.
Mon, 07 Aug 2023 15:07:48 +0200 rust: remove unused error variant
Raphaël Gomès <rgomes@octobus.net> [Mon, 07 Aug 2023 15:07:48 +0200] rev 50986
rust: remove unused error variant All paths check that the working directory revision is not used.
Mon, 07 Aug 2023 12:53:43 +0200 rust: add `UncheckedRevision` type
Raphaël Gomès <rgomes@octobus.net> [Mon, 07 Aug 2023 12:53:43 +0200] rev 50985
rust: add `UncheckedRevision` type This is the start of a series whose aim is to separate "checked" and "unchecked" revision numbers. A "checked" revision number is valid for a given index, allowing us to have faster algorithms that don't do redundant checks all the time and have a clearer view of the kinds of revisions we're working with.
Mon, 21 Aug 2023 17:57:48 -0400 debugwireproto: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:57:48 -0400] rev 50984
debugwireproto: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:54:01 -0400 debugwireargs: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:54:01 -0400] rev 50983
debugwireargs: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:49:57 -0400 debugwalk: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:49:57 -0400] rev 50982
debugwalk: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:47:52 -0400 debug_revlog_stats: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:47:52 -0400] rev 50981
debug_revlog_stats: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:46:44 -0400 debugbackupbundle: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:46:44 -0400] rev 50980
debugbackupbundle: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:43:52 -0400 debugsidedata: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:43:52 -0400] rev 50979
debugsidedata: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:41:01 -0400 debugserve: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:41:01 -0400] rev 50978
debugserve: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:39:22 -0400 debugrevspec: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:39:22 -0400] rev 50977
debugrevspec: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:36:36 -0400 debugrevlogindex: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:36:36 -0400] rev 50976
debugrevlogindex: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:35:13 -0400 debugrevlog: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:35:13 -0400] rev 50975
debugrevlog: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:34:13 -0400 debugrename: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:34:13 -0400] rev 50974
debugrename: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:33:00 -0400 debugrebuildfncache: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:33:00 -0400] rev 50973
debugrebuildfncache: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:31:53 -0400 debugpickmergetool: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:31:53 -0400] rev 50972
debugpickmergetool: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:29:56 -0400 debugp2copies: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:29:56 -0400] rev 50971
debugp2copies: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:29:05 -0400 debugp1copies: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:29:05 -0400] rev 50970
debugp1copies: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:26:56 -0400 debugobsolete: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:26:56 -0400] rev 50969
debugobsolete: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:23:16 -0400 debugmergestate: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:23:16 -0400] rev 50968
debugmergestate: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:20:14 -0400 debugknown: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:20:14 -0400] rev 50967
debugknown: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:18:56 -0400 debuginstall: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:18:56 -0400] rev 50966
debuginstall: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:16:43 -0400 debugindexdot: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:16:43 -0400] rev 50965
debugindexdot: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:15:30 -0400 debuggetbundle: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:15:30 -0400] rev 50964
debuggetbundle: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:14:18 -0400 debugformat: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:14:18 -0400] rev 50963
debugformat: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:12:03 -0400 debugfileset: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:12:03 -0400] rev 50962
debugfileset: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:09:45 -0400 debugextensions: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:09:45 -0400] rev 50961
debugextensions: migrate `opts` to native kwargs
Mon, 21 Aug 2023 17:06:47 -0400 debugdiscovery: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 17:06:47 -0400] rev 50960
debugdiscovery: migrate `opts` to native kwargs
Mon, 21 Aug 2023 16:58:23 -0400 debugdeltafind: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 16:58:23 -0400] rev 50959
debugdeltafind: migrate `opts` to native kwargs
Mon, 21 Aug 2023 16:56:38 -0400 debugdeltachain: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 16:56:38 -0400] rev 50958
debugdeltachain: migrate `opts` to native kwargs
Mon, 21 Aug 2023 16:53:16 -0400 debugdata: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 16:53:16 -0400] rev 50957
debugdata: migrate `opts` to native kwargs
Mon, 21 Aug 2023 16:51:07 -0400 debugcapabilities: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 16:51:07 -0400] rev 50956
debugcapabilities: migrate `opts` to native kwargs
Mon, 21 Aug 2023 16:19:51 -0400 debugbundle: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 16:19:51 -0400] rev 50955
debugbundle: migrate `opts` to native kwargs This is a utility function that's only called by `debugbundle()`. The rest of the command was previously ported.
Fri, 08 Sep 2023 20:34:41 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Sep 2023 20:34:41 +0200] rev 50954
branching: merge with stable
Wed, 06 Sep 2023 18:12:27 +0200 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Wed, 06 Sep 2023 18:12:27 +0200] rev 50953
branching: merge stable into default
Fri, 01 Sep 2023 00:09:55 +0200 pycompat: drop usage of hasattr/getattr/setattr/delatt proxy
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2023 00:09:55 +0200] rev 50952
pycompat: drop usage of hasattr/getattr/setattr/delatt proxy The function remains to ease extensions transition, but we no longer use them in core.
Thu, 31 Aug 2023 23:56:15 +0200 safehasattr: drop usage in favor of hasattr
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 31 Aug 2023 23:56:15 +0200] rev 50951
safehasattr: drop usage in favor of hasattr The two functions should now be equivalent at least in their usage in core.
Thu, 08 Dec 2022 15:33:19 +0100 check-code: drop the `safehasattr` rule
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 08 Dec 2022 15:33:19 +0100] rev 50950
check-code: drop the `safehasattr` rule Since we no longer supports Python 2 we no longer needs to use a custom function to compensate the short comings of the global `hasattr` function in it. We cannot use the Python 3 `hasattr` function instead.
Fri, 01 Sep 2023 16:36:13 +0200 url: ignore some future pytype error
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2023 16:36:13 +0200] rev 50949
url: ignore some future pytype error As soon as we start using the builtins `hasattr` function, pytype will start getting confused about which types are available or not. So we ignore this error beforehand.
Fri, 01 Sep 2023 16:35:05 +0200 url: move the _generic_proxytunnel in the `has_https` block
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2023 16:35:05 +0200] rev 50948
url: move the _generic_proxytunnel in the `has_https` block It is only used when https exists. If you stay out of the block, pytype complains that the type of its argument are not declared.
Thu, 08 Dec 2022 15:57:42 +0100 pycompat: deprecate using bytes
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 08 Dec 2022 15:57:42 +0100] rev 50947
pycompat: deprecate using bytes Python2 has been dropped for a while, so lets comply to the signature of the global function. This open the way to drop the use of `pycompat.getattr` and company, and, especially, the associated `util.safehasattr`.
Thu, 31 Aug 2023 02:41:33 +0200 dynamic-import: use sysstr for importing extension and others
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 31 Aug 2023 02:41:33 +0200] rev 50946
dynamic-import: use sysstr for importing extension and others This logic is used by extensions, and python hooks and merge-tools. All this logic eventually deals with native string (unicode in Python 3). This patch makes it handle `str` directly instead of relying on some pycompat low lever layer to do the conversion at the last minutes. We adjust the Python version filtering of a test as the output seems to be present with Python 3.7 too.
Thu, 31 Aug 2023 01:54:48 +0200 extension: check the command attributes using `sysstr`
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 31 Aug 2023 01:54:48 +0200] rev 50945
extension: check the command attributes using `sysstr` Since we are checking attributes, lets use the native representation instead of bytes.
Thu, 31 Aug 2023 01:47:07 +0200 extension: access special module members using sysstr
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 31 Aug 2023 01:47:07 +0200] rev 50944
extension: access special module members using sysstr These extensions variables and mapping are module attributes so they should be dealt with unicode `str` in Python 3. We move the part that deal with reading theses variable and checking their validity to use unicode `str` string.
Wed, 30 Aug 2023 11:50:01 +0200 sshpeer: convert command name to sysstr before accessing method
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 11:50:01 +0200] rev 50943
sshpeer: convert command name to sysstr before accessing method Method name are `str` so we should pass them as `str`.
Wed, 30 Aug 2023 01:23:30 +0200 localrepo: purge filecache attribute using there unicode name
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 01:23:30 +0200] rev 50942
localrepo: purge filecache attribute using there unicode name This could be better, but that's a good step.
Thu, 31 Aug 2023 01:21:57 +0200 fastannotate: use sysstr to check for attribute presence
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 31 Aug 2023 01:21:57 +0200] rev 50941
fastannotate: use sysstr to check for attribute presence We do not need bytes here.
Thu, 31 Aug 2023 01:21:04 +0200 fastannotate: use sysstr to deal with some attributes
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 31 Aug 2023 01:21:04 +0200] rev 50940
fastannotate: use sysstr to deal with some attributes We are now Python3 only and attribute are always unicode string. So no needs to managed them using bytes.
Fri, 01 Sep 2023 12:09:54 +0200 hgweb: use sysstr to set attribute on diff option
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2023 12:09:54 +0200] rev 50939
hgweb: use sysstr to set attribute on diff option Attribute identifier should be `str` not `bytes`.
Fri, 01 Sep 2023 11:57:38 +0200 hgweb: use sysstr to get attribute on diff option
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2023 11:57:38 +0200] rev 50938
hgweb: use sysstr to get attribute on diff option Attribute identifier should be `str` not `bytes`.
Thu, 31 Aug 2023 01:19:49 +0200 diff-option: move attributes handling to sysstr
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 31 Aug 2023 01:19:49 +0200] rev 50937
diff-option: move attributes handling to sysstr Attributes are `str` and should be handled as such.
Fri, 01 Sep 2023 12:11:11 +0200 compression: use sysstr to specify attribute to fetch for priority
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2023 12:11:11 +0200] rev 50936
compression: use sysstr to specify attribute to fetch for priority These are attributes so they should be `str`.
Wed, 30 Aug 2023 00:45:10 +0200 smartset: set attribute using sysstr instead of bytes
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 00:45:10 +0200] rev 50935
smartset: set attribute using sysstr instead of bytes We do not needs bytes here.
Wed, 30 Aug 2023 11:53:13 +0200 cachedlocalrepo: use sysstr for attribute name of "file of interest"
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 11:53:13 +0200] rev 50934
cachedlocalrepo: use sysstr for attribute name of "file of interest" The first item is an attribute name, the second one is a filename. So the first one can (and should) be a `str`.
Wed, 30 Aug 2023 13:01:10 +0200 terse-status: use `sysstr` to specify attributes to set
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 13:01:10 +0200] rev 50933
terse-status: use `sysstr` to specify attributes to set We use unicode string to specify attribute and we add a explicit char for the other usage.
Wed, 30 Aug 2023 00:50:28 +0200 path-suboption: deprecated specifying the attributes as bytes
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 00:50:28 +0200] rev 50932
path-suboption: deprecated specifying the attributes as bytes The known suboptions have been updated, so we can deprecated passing bytes in case some extensions use them.
Wed, 30 Aug 2023 00:49:52 +0200 path-suboption: use str for "_pushloc" suboptions
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 00:49:52 +0200] rev 50931
path-suboption: use str for "_pushloc" suboptions That second argument refer to an attribute and do not needs to be bytes.
Wed, 30 Aug 2023 00:49:16 +0200 path-suboption: use str for "pushrev" suboptions
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 00:49:16 +0200] rev 50930
path-suboption: use str for "pushrev" suboptions That second argument refer to an attribute and do not needs to be bytes.
Wed, 30 Aug 2023 00:48:30 +0200 path-suboption: use str for "bookmarks_mode" suboptions
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 00:48:30 +0200] rev 50929
path-suboption: use str for "bookmarks_mode" suboptions That second argument refer to an attribute and do not needs to be bytes.
Wed, 30 Aug 2023 00:47:48 +0200 path-suboption: use str for "delta_reuse_policy" suboptions
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 00:47:48 +0200] rev 50928
path-suboption: use str for "delta_reuse_policy" suboptions That second argument refer to an attribute and do not needs to be bytes.
Wed, 30 Aug 2023 00:47:16 +0200 path-suboption: use str for "multi_urls" path suboptions
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 00:47:16 +0200] rev 50927
path-suboption: use str for "multi_urls" path suboptions That second argument refer to an attribute and do not needs to be bytes.
Fri, 01 Sep 2023 13:08:02 +0200 convert: use sysstr to check for attribute presence
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2023 13:08:02 +0200] rev 50926
convert: use sysstr to check for attribute presence We do not need bytes here.
Thu, 31 Aug 2023 16:57:16 +0200 mq: use sysstr to check for attribute access
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 31 Aug 2023 16:57:16 +0200] rev 50925
mq: use sysstr to check for attribute access We do not need bytes here.
Wed, 30 Aug 2023 12:51:27 +0200 lfs: use sysstr to check for attribute presence
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 12:51:27 +0200] rev 50924
lfs: use sysstr to check for attribute presence We do not need bytes here.
Wed, 30 Aug 2023 12:38:02 +0200 mq: use sysstr to check for attribute presence
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 12:38:02 +0200] rev 50923
mq: use sysstr to check for attribute presence We do not need bytes here.
Wed, 30 Aug 2023 14:38:30 +0200 relink: use sysstr to check for attribute presence
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 14:38:30 +0200] rev 50922
relink: use sysstr to check for attribute presence We do not need bytes here.
Wed, 30 Aug 2023 14:22:55 +0200 ui: use sysstr to check for attribute presence
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 14:22:55 +0200] rev 50921
ui: use sysstr to check for attribute presence We do not need bytes here.
Wed, 30 Aug 2023 14:07:02 +0200 remotefilelog: use sysstr to access for attributes
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 14:07:02 +0200] rev 50920
remotefilelog: use sysstr to access for attributes We do not need bytes here.
Wed, 30 Aug 2023 13:28:09 +0200 hgwebmod: use sysstr to check for attribute presence
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 13:28:09 +0200] rev 50919
hgwebmod: use sysstr to check for attribute presence We do not need bytes here.
Wed, 30 Aug 2023 13:07:00 +0200 remotefilelog: use sysstr to check for attribute presence
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 13:07:00 +0200] rev 50918
remotefilelog: use sysstr to check for attribute presence We do not need bytes here.
Wed, 30 Aug 2023 13:02:43 +0200 extensions: use sysstr to check for attribute presence
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 13:02:43 +0200] rev 50917
extensions: use sysstr to check for attribute presence We do not need bytes here.
Wed, 30 Aug 2023 13:00:14 +0200 bundle2: use sysstr to check for attribute presence
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 13:00:14 +0200] rev 50916
bundle2: use sysstr to check for attribute presence We do not need bytes here.
Wed, 30 Aug 2023 13:32:45 +0200 largefile: use sysstr to check for attribute presence in `hgsubrepoarchive`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 13:32:45 +0200] rev 50915
largefile: use sysstr to check for attribute presence in `hgsubrepoarchive` We do not need bytes here.
Wed, 30 Aug 2023 12:03:11 +0200 largefile: use sysstr to check for attribute presence in `openstore`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 12:03:11 +0200] rev 50914
largefile: use sysstr to check for attribute presence in `openstore` We do not need bytes here.
Wed, 30 Aug 2023 12:01:37 +0200 largefile: use sysstr to check for attribute presence in `rebase` wrapping
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 12:01:37 +0200] rev 50913
largefile: use sysstr to check for attribute presence in `rebase` wrapping We do not need bytes here.
Wed, 30 Aug 2023 12:00:56 +0200 largefile: use sysstr to check for attribute presence in `getstatuswriter`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 12:00:56 +0200] rev 50912
largefile: use sysstr to check for attribute presence in `getstatuswriter` We do not need bytes here.
Wed, 30 Aug 2023 12:24:12 +0200 run-tests: detect HGWITHRUSTEXT value
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 12:24:12 +0200] rev 50911
run-tests: detect HGWITHRUSTEXT value Without this, some manual check in tests/test-dirstate.t could get confused by the lack of `rust` in module policy and break the test.
Tue, 29 Aug 2023 22:13:18 +0200 convert: stabilize subversion date sorter
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 29 Aug 2023 22:13:18 +0200] rev 50910
convert: stabilize subversion date sorter In case of tie, this provides unstable result on my system. So I am adding a couple of tie breaker to fix the test.
Thu, 31 Aug 2023 19:47:33 -0400 rhg: allow setting defaults.cmd to an empty string
Spencer Baugh <sbaugh@janestreet.com> [Thu, 31 Aug 2023 19:47:33 -0400] rev 50909
rhg: allow setting defaults.cmd to an empty string This is used by at least one hg UI to prevent defaults from affecting the command: https://github.com/emacs-mirror/emacs/blob/b71beb7ae7c60a5c5af608420d28fdda5265a264/lisp/vc/vc-hg.el#L245 Let's let it work.
Sun, 20 Aug 2023 17:19:33 -0400 uncommit: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 17:19:33 -0400] rev 50908
uncommit: migrate `opts` to native kwargs
Sun, 20 Aug 2023 17:16:38 -0400 split: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 17:16:38 -0400] rev 50907
split: migrate `opts` to native kwargs
Sun, 20 Aug 2023 17:09:33 -0400 releasenotes: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 17:09:33 -0400] rev 50906
releasenotes: migrate `opts` to native kwargs
Sun, 20 Aug 2023 17:05:52 -0400 narrow: hoist a variable to a higher level to avoid use-before-init warning
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 17:05:52 -0400] rev 50905
narrow: hoist a variable to a higher level to avoid use-before-init warning In practice, this shouldn't generate an IOError, so there wouldn't have been a problem. But PyCharm didn't know that.
Sun, 20 Aug 2023 17:04:17 -0400 narrow: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 17:04:17 -0400] rev 50904
narrow: migrate `opts` to native kwargs
Sun, 20 Aug 2023 16:51:49 -0400 largefiles: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 16:51:49 -0400] rev 50903
largefiles: migrate `opts` to native kwargs
Sun, 20 Aug 2023 16:43:41 -0400 keyword: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 16:43:41 -0400] rev 50902
keyword: migrate `opts` to native kwargs
Sun, 20 Aug 2023 16:20:56 -0400 gpg: use a context manager to write `.hgsigs`
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 16:20:56 -0400] rev 50901
gpg: use a context manager to write `.hgsigs`
Sun, 20 Aug 2023 16:19:41 -0400 gpg: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 16:19:41 -0400] rev 50900
gpg: migrate `opts` to native kwargs
Sun, 20 Aug 2023 16:10:22 -0400 fetch: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 16:10:22 -0400] rev 50899
fetch: migrate `opts` to native kwargs
Sun, 20 Aug 2023 16:06:08 -0400 fastexport: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 16:06:08 -0400] rev 50898
fastexport: migrate `opts` to native kwargs
Mon, 21 Aug 2023 09:50:31 -0400 closehead: wrap transaction handling in a context manager
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 09:50:31 -0400] rev 50897
closehead: wrap transaction handling in a context manager
Sun, 20 Aug 2023 15:38:35 -0400 closehead: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 15:38:35 -0400] rev 50896
closehead: migrate `opts` to native kwargs
Sun, 20 Aug 2023 15:34:11 -0400 churn: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 15:34:11 -0400] rev 50895
churn: migrate `opts` to native kwargs
Sun, 20 Aug 2023 15:30:39 -0400 children: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 15:30:39 -0400] rev 50894
children: migrate `opts` to native kwargs
Sun, 20 Aug 2023 15:24:58 -0400 automv: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 15:24:58 -0400] rev 50893
automv: migrate `opts` to native kwargs
Sun, 20 Aug 2023 15:16:18 -0400 absorb: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 15:16:18 -0400] rev 50892
absorb: migrate `opts` to native kwargs
Thu, 17 Aug 2023 15:53:32 -0400 rhg: support rhg files [FILE]
Spencer Baugh <sbaugh@janestreet.com> [Thu, 17 Aug 2023 15:53:32 -0400] rev 50891
rhg: support rhg files [FILE] This comes mostly for free after the rhg status [FILE] implementation.
Wed, 02 Aug 2023 10:46:47 -0400 rhg: support "status FILE"
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 10:46:47 -0400] rev 50890
rhg: support "status FILE" This change adds a new [file] argument to rhg status, parses them as patterns, canonicalizes the paths, and constructs a new PatternMatcher to intersect with the existing matcher being passed to the status implementation. We also make filepatterns a public module so we can access the pattern-parsing functionality we need from commands/status.rs.
Wed, 02 Aug 2023 10:16:33 -0400 rust-matchers: add PatternMatcher
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 10:16:33 -0400] rev 50889
rust-matchers: add PatternMatcher This should match the behavior of the Python patternmatcher. We need this for status [FILES] support.
Wed, 02 Aug 2023 10:33:11 -0400 rust-status: only visit parts of the tree requested by the matcher
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 10:33:11 -0400] rev 50888
rust-status: only visit parts of the tree requested by the matcher This is an optimization that the matcher is designed to support, but we weren't doing it until now. This is primarily relevant for supporting "hg status [FILES]", where this optimization is crucial for getting good performance (without this optimization, that command will still scan the entire tree, and just filter it down after the fact). When this optimization fires we have to return false from traverse_fs_directory_and_dirstate, representing that that part of the tree *might* have new files which we didn't see because we skipped parts of it. This only affects the cached result of the status, and is necessary to make future status operations (which might use a different matcher) work properly.
Wed, 02 Aug 2023 10:21:18 -0400 rust-status: error on non-existent files in file_set
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 10:21:18 -0400] rev 50887
rust-status: error on non-existent files in file_set file_set here consists of the files that were explicitly specified on the command line. Erroring on them matches the behavior of Python status.
Wed, 02 Aug 2023 10:07:00 -0400 rust-status: explicitly track bad file types
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 10:07:00 -0400] rev 50886
rust-status: explicitly track bad file types Before this, we silently skipped bad file types. Now, we check to see if a path is an exact_match in our matcher, and if so, print an error for it, and only then do we skip it. A path will be an exact match when it's specified as an explicit command line argument, and this error-printing behavior is necessary for compatibility with Python status.
Mon, 14 Aug 2023 09:25:36 -0400 rust: de-hardcode glob_suffix
Spencer Baugh <sbaugh@janestreet.com> [Mon, 14 Aug 2023 09:25:36 -0400] rev 50885
rust: de-hardcode glob_suffix We're adding patternmatcher in a subsequent commit, and this needs needs to be different for includematcher and patternmatcher.
Tue, 08 Aug 2023 11:50:26 -0400 rust: improve the type on DirsMultiset::from_manifest
Spencer Baugh <sbaugh@janestreet.com> [Tue, 08 Aug 2023 11:50:26 -0400] rev 50884
rust: improve the type on DirsMultiset::from_manifest It could only return an HgPathError, but we didn't express this in the type, so we needed some unreachable!()s. Now that is expressed in the type.
Wed, 02 Aug 2023 09:59:49 -0400 rust: don't escape spaces in regex
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 09:59:49 -0400] rev 50883
rust: don't escape spaces in regex Spaces are not in fact a regex special character, and escaping them is not correct.
Wed, 02 Aug 2023 10:09:23 -0400 rust-filepatterns: also normalize RelPath
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 10:09:23 -0400] rev 50882
rust-filepatterns: also normalize RelPath These patterns should be normalized too; this at least does no harm, and is necessary for proper status support.
Wed, 09 Aug 2023 18:08:28 -0400 rust: simplify pattern file parsing
Spencer Baugh <sbaugh@janestreet.com> [Wed, 09 Aug 2023 18:08:28 -0400] rev 50881
rust: simplify pattern file parsing Previously we kept the pattern syntax as a &[u8] until the last possible moment, which meant we had to handle potential errors when parsing that &[u8]. But such errors could never actually occur, given the structure of the code. Now we parse it eagerly (in two places) and pass it around as a PatternSyntax, so we can delete some error handling code. parse_one_pattern is in particular useful for parsing patterns passed on the command line, as we'll support later in this series.
Wed, 02 Aug 2023 09:57:29 -0400 rust-matchers: better support file_set in IntersectionMatcher
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 09:57:29 -0400] rev 50880
rust-matchers: better support file_set in IntersectionMatcher Previously, if both of the input matchers had non-exact file sets, IntersectionMatcher would simply have an empty fileset. Now, we duplicate Python behavior: we *union* the filesets of the matchers in that case. This makes some sense, because without exact input file sets, we can't do an exact intersection and must over-approximate. Concretely, this is necessary because the file_set is the list of files that were explicitly listed by the user, and we want to provide explicit errors for all such files, from both matchers.
Mon, 21 Aug 2023 10:00:08 +0200 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Mon, 21 Aug 2023 10:00:08 +0200] rev 50879
branching: merge stable into default
Sun, 20 Aug 2023 02:17:38 -0400 version: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:17:38 -0400] rev 50878
version: migrate `opts` to native kwargs
Sun, 20 Aug 2023 02:16:41 -0400 verify: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:16:41 -0400] rev 50877
verify: migrate `opts` to native kwargs
Sun, 20 Aug 2023 02:14:57 -0400 tags: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:14:57 -0400] rev 50876
tags: migrate `opts` to native kwargs
Sun, 20 Aug 2023 02:13:50 -0400 tag: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:13:50 -0400] rev 50875
tag: migrate `opts` to native kwargs
Sun, 20 Aug 2023 02:10:51 -0400 summary: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:10:51 -0400] rev 50874
summary: migrate `opts` to native kwargs This has the added benefit of unconfusing PyCharm- it thought `opts` in the nested functions were str based for some reason.
Sun, 20 Aug 2023 02:01:37 -0400 revert: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:01:37 -0400] rev 50873
revert: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:56:23 -0400 rename: drop an unnecessary variable declaration at a wider scope
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:56:23 -0400] rev 50872
rename: drop an unnecessary variable declaration at a wider scope
Sun, 20 Aug 2023 01:54:59 -0400 rename: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:54:59 -0400] rev 50871
rename: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:53:47 -0400 remove: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:53:47 -0400] rev 50870
remove: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:51:52 -0400 purge: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:51:52 -0400] rev 50869
purge: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:49:48 -0400 pull: avoid referencing a variable before it is initialized
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:49:48 -0400] rev 50868
pull: avoid referencing a variable before it is initialized If `urlutil.get_pull_paths()` somehow yields nothing, the reference after the loop appears to be a problem. I noticed this because PyCharm flagged (and still flags) the initialization of this inside the loop as somehow unused. I'm not sure why 1 isn't returned directly where it is set to the result of `postincoming()`, but maybe the code is structured this way in anticipation of future work.
Sun, 20 Aug 2023 01:40:50 -0400 pull: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:40:50 -0400] rev 50867
pull: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:35:14 -0400 paths: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:35:14 -0400] rev 50866
paths: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:32:22 -0400 merge: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:32:22 -0400] rev 50865
merge: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:29:27 -0400 manifest: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:29:27 -0400] rev 50864
manifest: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:27:36 -0400 locate: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:27:36 -0400] rev 50863
locate: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:24:29 -0400 import: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:24:29 -0400] rev 50862
import: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:20:59 -0400 heads: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:20:59 -0400] rev 50861
heads: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:17:45 -0400 forget: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:17:45 -0400] rev 50860
forget: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:15:15 -0400 copy: drop an unused variable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:15:15 -0400] rev 50859
copy: drop an unused variable
Sun, 20 Aug 2023 01:14:42 -0400 copy: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:14:42 -0400] rev 50858
copy: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:12:26 -0400 config: use the writefile() utility to create the sample hgrc
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:12:26 -0400] rev 50857
config: use the writefile() utility to create the sample hgrc This function uses a context manager.
Sun, 20 Aug 2023 01:08:58 -0400 config: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:08:58 -0400] rev 50856
config: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:02:52 -0400 clone: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:02:52 -0400] rev 50855
clone: migrate `opts` to native kwargs
Sun, 20 Aug 2023 01:00:11 -0400 bundle: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:00:11 -0400] rev 50854
bundle: migrate `opts` to native kwargs
Sun, 20 Aug 2023 00:56:58 -0400 branches: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 00:56:58 -0400] rev 50853
branches: migrate `opts` to native kwargs
Sun, 20 Aug 2023 00:55:52 -0400 branch: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 00:55:52 -0400] rev 50852
branch: migrate `opts` to native kwargs
Sun, 20 Aug 2023 00:44:15 -0400 bookmark: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 00:44:15 -0400] rev 50851
bookmark: migrate `opts` to native kwargs There are a bunch of callers for `ui.formatter()`, so convert to bytes only for that call.
Sun, 20 Aug 2023 00:35:28 -0400 archive: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 00:35:28 -0400] rev 50850
archive: migrate `opts` to native kwargs I'm not sure how to handle migrating core APIs like `scmutil.match`, so kick that can down the road. (Plus it's used all over, so the callers need to be migrated first.)
Sun, 20 Aug 2023 00:27:27 -0400 backout: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 00:27:27 -0400] rev 50849
backout: migrate `opts` to native kwargs It will take a bit to unwind `cmdutil.commit`, so there's a conversion to byteskwargs there, without changing the type of `opts` in this function. That's also useful to flag it as needing to be changed.
Sat, 19 Aug 2023 23:06:40 -0400 cmdutil: migrate `opts` on commitstatus() to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sat, 19 Aug 2023 23:06:40 -0400] rev 50848
cmdutil: migrate `opts` on commitstatus() to native kwargs
Sat, 19 Aug 2023 22:56:14 -0400 cat: avoid round tripping **opts -> byteskwargs -> strkwargs
Matt Harbison <matt_harbison@yahoo.com> [Sat, 19 Aug 2023 22:56:14 -0400] rev 50847
cat: avoid round tripping **opts -> byteskwargs -> strkwargs Some internal users still want byteskwargs, so they are serviced in place. Once this pattern of changing types is eliminated everywhere, the remaining internal uses can be cleaned up individually (hopefully).
Mon, 07 Aug 2023 11:08:00 +0200 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Mon, 07 Aug 2023 11:08:00 +0200] rev 50846
branching: merge stable into default
Mon, 24 Jul 2023 05:13:52 +0200 transaction: actually delete file created during the transaction on rollback
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Jul 2023 05:13:52 +0200] rev 50845
transaction: actually delete file created during the transaction on rollback Transaction currently has two modes: - one where file created during the transaction are deleted on rollback, - one where file created during the transaction are truncated to 0 on rollback. Before this change, `hg rollback` and `hg recover` are using the "delete" mode and transaction abort is using the "truncate" option. This difference is never really explained. A long time ago, there was two code paths, with this divergence existing for unclear reasons. When the two code paths got merged into a single one, a boolean argument have been added to preserve this divergence, mostly probably as a cargo cult. The divergence is weird and induce bad surprises, and the truncate behavior is a bit odds, introducing other bad surprises (e.g. 08ecbdba186f) So solve this, we stop using the "truncate" behavior and unify on the "delete" behavior. Despite being currently more "common", the truncate behavior seems less natural, resulting in the transaction leaving empty file around. This is landed on default, early in the cycle, to help us catch problems that could emerge.
Fri, 28 Jul 2023 17:08:37 +0100 rhg: tweak rhg fallback code structure
Arseniy Alekseyev <aalekseyev@janestreet.com> [Fri, 28 Jul 2023 17:08:37 +0100] rev 50844
rhg: tweak rhg fallback code structure The goal here is to share the code that accesses the config setting, but also move it to the top-level, so that we can more easily change this code later. (in fact in Jane Street we want to make it choose chg in some cases)
Fri, 21 Jul 2023 15:26:15 +0200 journal: track bookmark deletion
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jul 2023 15:26:15 +0200] rev 50843
journal: track bookmark deletion Bookmark deletion are now properly tracked by the journal extensions.
Fri, 21 Jul 2023 15:28:52 +0200 journal: show that we do not track deletion
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jul 2023 15:28:52 +0200] rev 50842
journal: show that we do not track deletion This was an oversight for the initial implementation.
Fri, 21 Jul 2023 09:22:18 -0700 contrib: upgrade merge-lists from clap v3 to clap v4
Martin von Zweigbergk <martinvonz@google.com> [Fri, 21 Jul 2023 09:22:18 -0700] rev 50841
contrib: upgrade merge-lists from clap v3 to clap v4 Mostly to avoid having clap v3 in our dependencies, due to https://osv.dev/vulnerability/GHSA-g98v-hv3f-hcfr (even though that seems pretty harmless).
Fri, 21 Jul 2023 03:56:28 +0200 infinitepush: drop the extension
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jul 2023 03:56:28 +0200] rev 50840
infinitepush: drop the extension The writing have been on the wall for a long time.
Fri, 23 Jun 2023 13:27:09 +0200 perf: display all timing by default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 23 Jun 2023 13:27:09 +0200] rev 50839
perf: display all timing by default This is much more useful and end up enable it everywhere. I don't think we have strong backward compatibility guarantee for perf.
Mon, 10 Jul 2023 10:53:12 +0200 wrapfunction: deprecated calling "wrapfunction" with bytes
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 10:53:12 +0200] rev 50838
wrapfunction: deprecated calling "wrapfunction" with bytes This will help us to detect and eradicates legacy calls. This is on the path to deprecating `util.safehasattr`.
Mon, 10 Jul 2023 15:39:19 +0200 wrapfunction: deprecates calling `wrappedfunction` with bytes
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 15:39:19 +0200] rev 50837
wrapfunction: deprecates calling `wrappedfunction` with bytes This will help us to detect and eradicates legacy calls. This is on the path to deprecating `util.safehasattr`.
Mon, 10 Jul 2023 19:34:04 +0200 wrapfunction: use sysstr instead of bytes as argument in various tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 19:34:04 +0200] rev 50836
wrapfunction: use sysstr instead of bytes as argument in various tests This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Mon, 10 Jul 2023 19:33:14 +0200 wrapfunction: use sysstr instead of bytes as argument in "exthelper"
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 19:33:14 +0200] rev 50835
wrapfunction: use sysstr instead of bytes as argument in "exthelper" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Mon, 10 Jul 2023 15:38:53 +0200 wrapfunction: use sysstr instead of bytes as argument in "sqlitestore"
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 15:38:53 +0200] rev 50834
wrapfunction: use sysstr instead of bytes as argument in "sqlitestore" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Mon, 10 Jul 2023 19:32:17 +0200 wrapfunction: use sysstr instead of bytes as argument in "share"
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 19:32:17 +0200] rev 50833
wrapfunction: use sysstr instead of bytes as argument in "share" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Mon, 10 Jul 2023 19:31:26 +0200 wrapfunction: use sysstr instead of bytes as argument in "perf"
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jul 2023 19:31:26 +0200] rev 50832
wrapfunction: use sysstr instead of bytes as argument in "perf" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:30:44 +0100 wrapfunction: use sysstr instead of bytes as argument in "zeroconf"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:30:44 +0100] rev 50831
wrapfunction: use sysstr instead of bytes as argument in "zeroconf" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:27:17 +0100 wrapfunction: use sysstr instead of bytes as argument in "sqlitestore"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:27:17 +0100] rev 50830
wrapfunction: use sysstr instead of bytes as argument in "sqlitestore" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:26:18 +0100 wrapfunction: use sysstr instead of bytes as argument in "sparse"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:26:18 +0100] rev 50829
wrapfunction: use sysstr instead of bytes as argument in "sparse" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:25:57 +0100 wrapfunction: use sysstr instead of bytes as argument in "schemes"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:25:57 +0100] rev 50828
wrapfunction: use sysstr instead of bytes as argument in "schemes" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:25:43 +0100 wrapfunction: use sysstr instead of bytes as argument in "remotenames"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:25:43 +0100] rev 50827
wrapfunction: use sysstr instead of bytes as argument in "remotenames" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:25:07 +0100 wrapfunction: use sysstr instead of bytes as argument in "remotefilelog"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:25:07 +0100] rev 50826
wrapfunction: use sysstr instead of bytes as argument in "remotefilelog" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:24:53 +0100 wrapfunction: use sysstr instead of bytes as argument in "pager"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:24:53 +0100] rev 50825
wrapfunction: use sysstr instead of bytes as argument in "pager" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:24:40 +0100 wrapfunction: use sysstr instead of bytes as argument in "narrow"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:24:40 +0100] rev 50824
wrapfunction: use sysstr instead of bytes as argument in "narrow" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:23:12 +0100 wrapfunction: use sysstr instead of bytes as argument in "lfs"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:23:12 +0100] rev 50823
wrapfunction: use sysstr instead of bytes as argument in "lfs" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:22:41 +0100 wrapfunction: use sysstr instead of bytes as argument in "largefiles"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:22:41 +0100] rev 50822
wrapfunction: use sysstr instead of bytes as argument in "largefiles" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:22:28 +0100 wrapfunction: use sysstr instead of bytes as argument in "keyword"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:22:28 +0100] rev 50821
wrapfunction: use sysstr instead of bytes as argument in "keyword" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:22:15 +0100 wrapfunction: use sysstr instead of bytes as argument in "journal"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:22:15 +0100] rev 50820
wrapfunction: use sysstr instead of bytes as argument in "journal" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
Fri, 03 Feb 2023 04:21:55 +0100 wrapfunction: use sysstr instead of bytes as argument in "infinitepush"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Feb 2023 04:21:55 +0100] rev 50819
wrapfunction: use sysstr instead of bytes as argument in "infinitepush" This is as valid and simpler, it will help us to eventually get ride of `safehasattr`.
(0) -30000 -10000 -3000 -1000 -192 +192 tip