Mon, 04 Sep 2023 13:33:32 +0100 setup: make the error "Unable to find a working hg binary" more informative stable
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 04 Sep 2023 13:33:32 +0100] rev 50930
setup: make the error "Unable to find a working hg binary" more informative The error message now shows the attempted hg commands and their stderr, to make it easier to investigate why things are not working. Here's an example output /!\ /!\ Unable to find a working hg binary /!\ Version cannot be extracted from the repository /!\ Re-run the setup once a first version is built /!\ Attempts: /!\ attempt #0: /!\ cmd: ['hg-missing', 'log', '-r.', '-Ttest'] /!\ exception: [Errno 2] No such file or directory: 'hg-missing': 'hg-missing' /!\ attempt #1: /!\ cmd: ['/usr/bin/python3', 'hg', 'log', '-r.', '-Ttest'] /!\ return code: 255 /!\ std output: /!\ std error: *** failed to import extension "topic": No module named 'topic' *** failed to import extension "evolve": No module named 'evolve' abort: accessing `dirstate-v2` repository without associated fast implementation. (check `hg help config.format.use-dirstate-v2` for details) /!\ /!\ Could not determine the Mercurial version /!\ You need to build a local version first /!\ Run `make local` and try again /!\
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 50929
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 50928
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 50927
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 50926
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 50925
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 50924
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 50923
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 50922
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 50921
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 50920
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 50919
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 50918
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 50917
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 50916
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 50915
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 50914
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 50913
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 50912
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 50911
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 50910
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 50909
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 50908
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 50907
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 50906
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 50905
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 50904
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 50903
convert: use sysstr to check for attribute presence We do not need bytes here.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 tip