Sat, 13 Mar 2021 00:40:46 -0500 typing: disable module attribute warnings for properly conditionalized code stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 13 Mar 2021 00:40:46 -0500] rev 46414
typing: disable module attribute warnings for properly conditionalized code Differential Revision: https://phab.mercurial-scm.org/D10208
Sat, 13 Mar 2021 00:38:59 -0500 typing: disable import error warnings that are already handled stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 13 Mar 2021 00:38:59 -0500] rev 46413
typing: disable import error warnings that are already handled I'm assuming that the cffi ones are handled somewhere, but the others definitely are. Differential Revision: https://phab.mercurial-scm.org/D10207
Fri, 12 Mar 2021 17:22:35 -0500 typing: disable a few errors when accessing Windows specific attributes stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 12 Mar 2021 17:22:35 -0500] rev 46412
typing: disable a few errors when accessing Windows specific attributes This is already guarded with conditionals. The entire win32 module is conditionally loaded. File "/mnt/c/Users/Matt/hg/mercurial/utils/procutil.py", line 162, in <module>: No attribute 'winstdout' on module 'mercurial.posix' [module-attr] File "/mnt/c/Users/Matt/hg/mercurial/utils/procutil.py", line 163, in <module>: No attribute 'winstdout' on module 'mercurial.posix' [module-attr] File "/mnt/c/Users/Matt/hg/mercurial/utils/procutil.py", line 174, in <module>: No attribute 'winstdout' on module 'mercurial.posix' [module-attr] File "/mnt/c/Users/Matt/hg/mercurial/utils/procutil.py", line 175, in <module>: No attribute 'winstdout' on module 'mercurial.posix' [module-attr] Differential Revision: https://phab.mercurial-scm.org/D10206
Fri, 12 Mar 2021 16:55:18 -0500 typing: disable a few errors calling py3.7+ functions in resourceutil.py stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 12 Mar 2021 16:55:18 -0500] rev 46411
typing: disable a few errors calling py3.7+ functions in resourceutil.py There's a graceful fallback when these methods are unavailable. Differential Revision: https://phab.mercurial-scm.org/D10205
Wed, 17 Mar 2021 12:06:49 +0100 formatting: fix redundant parentheses stable
Raphaël Gomès <rgomes@octobus.net> [Wed, 17 Mar 2021 12:06:49 +0100] rev 46410
formatting: fix redundant parentheses These were introduced by 0d055849d5f9d682ef931d2566b760d5c6bf7e52. Differential Revision: https://phab.mercurial-scm.org/D10229
Fri, 12 Mar 2021 20:19:12 -0500 wsgicgi: switch the default PATH_INFO back to str stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 12 Mar 2021 20:19:12 -0500] rev 46409
wsgicgi: switch the default PATH_INFO back to str It looks like everything here is meant to be str, and regressed in 687b865b95ad. Pytype didn't flag this, but is really confused about the range of possible types for the dictionary values, and flagged missing `lower()` on various types in this area. Differential Revision: https://phab.mercurial-scm.org/D10204
Fri, 12 Mar 2021 18:55:06 -0500 crecord: convert an instance of bytes to str stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 12 Mar 2021 18:55:06 -0500] rev 46408
crecord: convert an instance of bytes to str Caught by pytype: File "/mnt/c/Users/Matt/hg/mercurial/crecord.py", line 1154, in printstring: Function _CursesWindow.addstr was called with the wrong arguments [wrong-arg-types] Expected: (self, str: str, ...) Actually passed: (self, str: bytes, ...) Differential Revision: https://phab.mercurial-scm.org/D10203
Fri, 12 Mar 2021 18:51:22 -0500 crecord: change str literals to byte literals stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 12 Mar 2021 18:51:22 -0500] rev 46407
crecord: change str literals to byte literals Differential Revision: https://phab.mercurial-scm.org/D10202
Fri, 12 Mar 2021 17:59:02 -0500 bisect: replace a missing method on the list primitive stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 12 Mar 2021 17:59:02 -0500] rev 46406
bisect: replace a missing method on the list primitive Caught by pytype: File "/mnt/c/Users/Matt/hg/mercurial/commands.py", line 1095, in bisect: No attribute 'last' on list [attribute-error] In list Differential Revision: https://phab.mercurial-scm.org/D10201
Thu, 11 Mar 2021 21:09:55 -0500 typing: disable a module-attr warning in the worker module's py2 code stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 21:09:55 -0500] rev 46405
typing: disable a module-attr warning in the worker module's py2 code Differential Revision: https://phab.mercurial-scm.org/D10183
Thu, 11 Mar 2021 21:07:04 -0500 wireprotoserver: convert ErrorResponse to bytes stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 21:07:04 -0500] rev 46404
wireprotoserver: convert ErrorResponse to bytes Caught by pytype: File "/mnt/c/Users/Matt/hg/mercurial/wireprotoserver.py", line 236, in handlewsgirequest: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, ints: Iterable[int]) Actually passed: (self, ints: mercurial.hgweb.common.ErrorResponse) The following methods aren't implemented on mercurial.hgweb.common.ErrorResponse: __iter__ File "/mnt/c/Users/Matt/hg/mercurial/wireprotoserver.py", line 239, in handlewsgirequest: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, ints: Iterable[int]) Actually passed: (self, ints: mercurial.hgweb.common.ErrorResponse) The following methods aren't implemented on mercurial.hgweb.common.ErrorResponse: __iter__ File "/mnt/c/Users/Matt/hg/mercurial/wireprotov2server.py", line 91, in handlehttpv2request: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, ints: Iterable[int]) Actually passed: (self, ints: mercurial.hgweb.common.ErrorResponse) The following methods aren't implemented on mercurial.hgweb.common.ErrorResponse: __iter__ Differential Revision: https://phab.mercurial-scm.org/D10182
Thu, 11 Mar 2021 21:02:03 -0500 verify: convert an exception to bytes before logging stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 21:02:03 -0500] rev 46403
verify: convert an exception to bytes before logging I'm not entirely sure why this code appears to be trying to convert twice, but it was flagged by pytype: File "/mnt/c/Users/Matt/hg/mercurial/verify.py", line 84, in _exc: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, ints: Iterable[int]) Actually passed: (self, ints: Exception) The following methods aren't implemented on Exception: __iter__ Differential Revision: https://phab.mercurial-scm.org/D10181
Thu, 11 Mar 2021 19:50:14 -0500 typing: add an assertion to the upgrade engine to help pytype stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 19:50:14 -0500] rev 46402
typing: add an assertion to the upgrade engine to help pytype Differential Revision: https://phab.mercurial-scm.org/D10180
Thu, 11 Mar 2021 19:21:58 -0500 subrepo: handle unexpected file types from git gracefully stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 19:21:58 -0500] rev 46401
subrepo: handle unexpected file types from git gracefully This was flagged by pytype because `tar.extractfile(...)` can return None if the entry is not a file or symlink. I don't think that git supports other types, but better safe than sorry. Differential Revision: https://phab.mercurial-scm.org/D10179
Thu, 11 Mar 2021 18:45:18 -0500 patch: convert a UI message to bytes when editing a patch stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 18:45:18 -0500] rev 46400
patch: convert a UI message to bytes when editing a patch Differential Revision: https://phab.mercurial-scm.org/D10178
Thu, 11 Mar 2021 18:33:39 -0500 merge: force an exception message to bytes before printing as a warning stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 18:33:39 -0500] rev 46399
merge: force an exception message to bytes before printing as a warning Caught by pytype: File "/mnt/c/Users/Matt/hg/mercurial/merge.py", line 1346, in batchremove: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, ints: Iterable[int]) Actually passed: (self, ints: str) Differential Revision: https://phab.mercurial-scm.org/D10177
Thu, 11 Mar 2021 18:09:55 -0500 hg: convert an exception to bytes in the repo creation exception handler stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 18:09:55 -0500] rev 46398
hg: convert an exception to bytes in the repo creation exception handler Caught by pytype: File "/mnt/c/Users/Matt/hg/mercurial/hg.py", line 77, in _local: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, ints: Iterable[int]) Actually passed: (self, ints: Union[TypeError, ValueError]) Differential Revision: https://phab.mercurial-scm.org/D10176
Thu, 11 Mar 2021 17:55:52 -0500 typing: add an assertion instead of blacklisting mercurial/extensions.py stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:55:52 -0500] rev 46397
typing: add an assertion instead of blacklisting mercurial/extensions.py Differential Revision: https://phab.mercurial-scm.org/D10175
Thu, 11 Mar 2021 17:27:31 -0500 debug: convert a few exceptions to bytes before wrapping in another error stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:27:31 -0500] rev 46396
debug: convert a few exceptions to bytes before wrapping in another error Caught by pytype: File "/mnt/c/Users/Matt/hg/mercurial/debugcommands.py", line 2118, in debugmanifestfulltextcache: Function Abort.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, message: Union[bytearray, bytes, memoryview], ...) Actually passed: (self, message: mercurial.error.LookupError, ...) File "/mnt/c/Users/Matt/hg/mercurial/debugcommands.py", line 2453, in debugobsolete: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, ints: Iterable[int]) Actually passed: (self, ints: ValueError) The following methods aren't implemented on ValueError: __iter__ Differential Revision: https://phab.mercurial-scm.org/D10174
Thu, 11 Mar 2021 17:16:29 -0500 grep: convert an exception to bytes for a warning message stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:16:29 -0500] rev 46395
grep: convert an exception to bytes for a warning message Caught by pytype: File "/mnt/c/Users/Matt/hg/mercurial/commands.py", line 3457, in grep: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, ints: Iterable[int]) Actually passed: (self, ints: re.error) The following methods aren't implemented on re.error: __iter__ Differential Revision: https://phab.mercurial-scm.org/D10173
Thu, 11 Mar 2021 17:14:30 -0500 morestatus: convert a UI message about merge conflicts to bytes stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:14:30 -0500] rev 46394
morestatus: convert a UI message about merge conflicts to bytes Differential Revision: https://phab.mercurial-scm.org/D10172
Thu, 11 Mar 2021 17:12:08 -0500 changegroup: convert a warning message to bytes stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:12:08 -0500] rev 46393
changegroup: convert a warning message to bytes Differential Revision: https://phab.mercurial-scm.org/D10171
Thu, 11 Mar 2021 17:10:52 -0500 branchmap: force Exception to bytes before logging stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:10:52 -0500] rev 46392
branchmap: force Exception to bytes before logging Here was an instance where `black` mangled the formatting so that `pytype` didn't recognize the suppression directive. But it seems that the error was correct, and the code should follow other recent changes around exception conversion. File "/mnt/c/Users/Matt/hg/mercurial/branchmap.py", line 303, in fromfile: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, ints: Iterable[int]) Actually passed: (self, ints: Exception) The following methods aren't implemented on Exception: __iter__ Differential Revision: https://phab.mercurial-scm.org/D10170
Thu, 11 Mar 2021 17:05:37 -0500 nodemap: convert error message to bytes stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:05:37 -0500] rev 46391
nodemap: convert error message to bytes Differential Revision: https://phab.mercurial-scm.org/D10169
Thu, 11 Mar 2021 17:04:58 -0500 mail: convert SMTPException to bytes before passing to error.Abort() stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:04:58 -0500] rev 46390
mail: convert SMTPException to bytes before passing to error.Abort() Caught by pytype: File "/mnt/c/Users/Matt/hg/mercurial/mail.py", line 168, in _smtp: Function Abort.__init__ was called with the wrong arguments [wrong-arg-types] Expected: (self, message: Union[bytearray, bytes, memoryview], ...) Actually passed: (self, message: smtplib.SMTPException) Differential Revision: https://phab.mercurial-scm.org/D10168
Thu, 11 Mar 2021 17:02:28 -0500 typing: switch an argument type to the generic form stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:02:28 -0500] rev 46389
typing: switch an argument type to the generic form This fixes the following pytype complaint: File "/mnt/c/Users/Matt/hg/mercurial/commands.py", line 4672, in log: Function mercurial.logcmdutil.parseopts was called with the wrong arguments [wrong-arg-types] Expected: (ui, pats: List[Union[bytearray, bytes, memoryview]], ...) Actually passed: (ui, pats: tuple, ...) Differential Revision: https://phab.mercurial-scm.org/D10167
Thu, 11 Mar 2021 21:25:28 -0500 typing: ensure that error.Abort is given bytes stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 21:25:28 -0500] rev 46388
typing: ensure that error.Abort is given bytes There's a bunch more typing to be done here, but the list of things to fix is already long, and I know there are instances where this is being used incorrectly. Differential Revision: https://phab.mercurial-scm.org/D10166
Thu, 11 Mar 2021 21:21:41 -0500 typing: fix a suppression directive that was mangled by black formatting stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 21:21:41 -0500] rev 46387
typing: fix a suppression directive that was mangled by black formatting It looks like black is moving comments needed by pytype out of position, and causing some things that should be disabled to be enforced anyway. Differential Revision: https://phab.mercurial-scm.org/D10165
Thu, 04 Mar 2021 17:35:58 +0530 commit: reorder if-else conditional to give mergestate info priority stable
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 04 Mar 2021 17:35:58 +0530] rev 46386
commit: reorder if-else conditional to give mergestate info priority Looking at the code now, I was unable to find a good reason as why we only rely on mergestate extras info after checking whether a filelog parent is ancestor of other or not. I mean if we have stored in mergestate that `other` was chosed, we should blindly pick that one. This cleanup will also help introduce more cases when both `fparent1` and `fparent2` are non-null but using info from mergestate, we can fastpath. The test change actually demonstrates the point of the patch. During merge we were getting the other side of the file but on commit we were marking that as merged. Differential Revision: https://phab.mercurial-scm.org/D10147
Wed, 10 Mar 2021 15:24:52 +1000 enclink: check contents of symlinks not just size in case of fcrypt stable
Corey Schuhen <cschuhen@topcon.com> [Wed, 10 Mar 2021 15:24:52 +1000] rev 46385
enclink: check contents of symlinks not just size in case of fcrypt Check content of symlinks because st_size may indicate the size of encrypted data which does not match actual link value. Differential Revision: https://phab.mercurial-scm.org/D10146
Tue, 09 Mar 2021 11:19:11 +0530 Added signature for changeset d5d9177c0045 stable
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 09 Mar 2021 11:19:11 +0530] rev 46384
Added signature for changeset d5d9177c0045
Tue, 09 Mar 2021 11:19:01 +0530 Added tag 5.7.1 for changeset d5d9177c0045 stable
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 09 Mar 2021 11:19:01 +0530] rev 46383
Added tag 5.7.1 for changeset d5d9177c0045
Mon, 08 Mar 2021 16:55:39 -0500 localrepo: fix conversion of exceptions to strings flagged by pytype stable 5.7.1
Matt Harbison <matt_harbison@yahoo.com> [Mon, 08 Mar 2021 16:55:39 -0500] rev 46382
localrepo: fix conversion of exceptions to strings flagged by pytype This is the same as e571fec5b606. I assume the 3 similar uses of `bytestr` in `__getitem__()` are OK (even though pytype also flags them), because there is apparently test coverage for 2 of the 3 cases. Differential Revision: https://phab.mercurial-scm.org/D10131
Mon, 08 Mar 2021 16:54:33 -0500 localrepo: fix a UI string to be bytes stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 08 Mar 2021 16:54:33 -0500] rev 46381
localrepo: fix a UI string to be bytes Flagged by pytype. Differential Revision: https://phab.mercurial-scm.org/D10130
Mon, 08 Mar 2021 12:28:53 -0500 pycompat: fix a bytes vs str issue in `unnamedtempfile()` stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 08 Mar 2021 12:28:53 -0500] rev 46380
pycompat: fix a bytes vs str issue in `unnamedtempfile()` This seems trivially correct, though the only two uses I found both took this path. So I'm guessing we're missing test coverage. Differential Revision: https://phab.mercurial-scm.org/D10129
Fri, 26 Feb 2021 15:34:22 +0530 patch: fix a formatting issue stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 26 Feb 2021 15:34:22 +0530] rev 46379
patch: fix a formatting issue Differential Revision: https://phab.mercurial-scm.org/D10079
Tue, 02 Feb 2021 20:20:17 +0900 log: fix handling of root (or empty) path provided by matcher (issue6478) stable
Yuya Nishihara <yuya@tcha.org> [Tue, 02 Feb 2021 20:20:17 +0900] rev 46378
log: fix handling of root (or empty) path provided by matcher (issue6478) Since 27d6956d386b "match: use '' instead of '.' for root directory", '.' should be translated to ''. We can't blame repo.file() about this because an empty string is invalid as a file path, but I found at least two callers (_makematcher() and revset.filelog()) would crash because of this path[0]. So let's make repo.file() accept an empty string. path[0] == b'/' wouldn't work on Python 3 anyways.
Thu, 25 Feb 2021 15:18:00 +0530 tests: accept output changes by 33350debb480 stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 25 Feb 2021 15:18:00 +0530] rev 46377
tests: accept output changes by 33350debb480 Differential Revision: https://phab.mercurial-scm.org/D10067
Fri, 19 Feb 2021 17:52:04 +0100 narrow: fix flaky behavior described in issue6150 stable
Raphaël Gomès <rgomes@octobus.net> [Fri, 19 Feb 2021 17:52:04 +0100] rev 46376
narrow: fix flaky behavior described in issue6150 This has been plaguing the CI for a good while, and it doesn't appear to have an easy fix proposed yet. The solution in this change is to always do an unambiguous (but expensive) lookup in case of comparison. This should always be correct, albeit suboptimal. Differential Revision: https://phab.mercurial-scm.org/D10034
Tue, 16 Feb 2021 15:44:51 +0530 patch: make diff --git to differentiate b/w file is empty or doesn't exists stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 16 Feb 2021 15:44:51 +0530] rev 46375
patch: make diff --git to differentiate b/w file is empty or doesn't exists Before this patch, as we didn't differentiate the two cases of a file in a context: 1. File doesn't exists 2. File is empty which causes the blob id to be same for both the cases. Now we use `nullhex` for a file which doesn't exists in a context (aligning it with the git diff format) Changes in test file reflect the fixed behavior. Differential Revision: https://phab.mercurial-scm.org/D10001
Tue, 16 Feb 2021 15:37:19 +0530 tests: add a test to demonstrate a bug in `hg diff --git` (issue6486) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 16 Feb 2021 15:37:19 +0530] rev 46374
tests: add a test to demonstrate a bug in `hg diff --git` (issue6486) Issue url: https://bz.mercurial-scm.org/show_bug.cgi?id=6486 This will be fixed in next patch. Differential Revision: https://phab.mercurial-scm.org/D10000
Fri, 19 Feb 2021 10:04:53 -0500 helptext: fix a recent typo stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 19 Feb 2021 10:04:53 -0500] rev 46373
helptext: fix a recent typo Differential Revision: https://phab.mercurial-scm.org/D10033
Wed, 24 Feb 2021 15:16:22 +0100 re2: byteify some regex used to get check re2 availability stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Feb 2021 15:16:22 +0100] rev 46372
re2: byteify some regex used to get check re2 availability Changeset 687b865b95ad failed to properly byteify this because it was a raw string. This went undetected so far because re2 does not seems to be widely tested. Differential Revision: https://phab.mercurial-scm.org/D10064
Wed, 10 Feb 2021 23:03:54 +0100 hooks: add a `auto` value for `hooks.*run-with-plain` stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Feb 2021 23:03:54 +0100] rev 46371
hooks: add a `auto` value for `hooks.*run-with-plain` That setting restore the behavior pre-5.6. The current HGPLAIN value is simply passed to the hooks. This allow user who needs it to fully mitigate the behavior change introduced in Mercurial 5.7 by restoring the older behavior. Differential Revision: https://phab.mercurial-scm.org/D9982
Wed, 10 Feb 2021 23:21:21 +0100 hooks: introduce a `:run-with-plain` option for hooks stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Feb 2021 23:21:21 +0100] rev 46370
hooks: introduce a `:run-with-plain` option for hooks This option control if HGPLAIN should be set or not for the hooks. This is the first step to give user some control of the HGPLAIN setting for they hooks. Some hooks (eg: consistency checking) deserve to be run with HGPLAIN, some other (eg: user set visual helper) might need to respect the user config and setting. So both usage are valid and we need to restore the ability to run -without- HGPLAIN that got lost in Mercurial 5.7. This does not offer a way to restore the pre-5.7 behavior yet (respect whatever HGPLAIN setting from the shell), this will be dealt with in the next changeset. The option name is a bit verbose because implementing this highlighs the need for another option: `:run-if-plain`. That would make it possible for some hooks to be easily disabled if HG PLAIN is set. However such option would be a new feature, not something introduced to mitigate a behavior change introduced in 5.7, so the `:run-if-plain` option belong to the default branch and is not part of this series. Differential Revision: https://phab.mercurial-scm.org/D9981
Wed, 10 Feb 2021 22:43:16 +0100 hooks: add some test about HGPLAIN setting and hooks stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Feb 2021 22:43:16 +0100] rev 46369
hooks: add some test about HGPLAIN setting and hooks In Mercurial 5.7, hooks are now ran with HGPLAIN set, which is a behavior change in. I could not find explicit test about it so I am adding one. The next changesets will introduce more change to help user mitigate the behavior change when needed. Differential Revision: https://phab.mercurial-scm.org/D9979
Wed, 10 Feb 2021 21:05:05 +0100 hooks: forbid ':' in hook name stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Feb 2021 21:05:05 +0100] rev 46368
hooks: forbid ':' in hook name The `:` character is a special separator in the config and it seems same do to the same for hooks. This is necessary to improve the experience around the HGPLAIN behavior change in 5.7. See next changesets for details. Differential Revision: https://phab.mercurial-scm.org/D9978
Wed, 10 Feb 2021 21:46:29 +0100 rust-status: honor matcher when using the dirstate-only fast-path (issue6483) stable
Raphaël Gomès <rgomes@octobus.net> [Wed, 10 Feb 2021 21:46:29 +0100] rev 46367
rust-status: honor matcher when using the dirstate-only fast-path (issue6483) Differential Revision: https://phab.mercurial-scm.org/D9977
Wed, 10 Feb 2021 22:01:23 +0100 status: add test that shows that the Rust implementation has a bug stable
Raphaël Gomès <rgomes@octobus.net> [Wed, 10 Feb 2021 22:01:23 +0100] rev 46366
status: add test that shows that the Rust implementation has a bug Differential Revision: https://phab.mercurial-scm.org/D9976
Wed, 10 Feb 2021 19:23:56 +0100 tweak-default: no longer enable the experimental return code stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Feb 2021 19:23:56 +0100] rev 46365
tweak-default: no longer enable the experimental return code The change is quite new and undocumented (since it is experimental) so it seems premature to make it available in tweak default. In addition, I am not sure the new return code are frozen yet (eg: some of the initial feedback have not been incorporated). Before the release I doubled check (probably with Martin) that they were not enabled by default and got replied that they were only enabled in the tests. Have I been aware that they have been also enabled in tweak default I would I have lobbied to delay that. I discovered they were in tweak default from users feedback. They found it an unpleasant and unexpected surprise of 5.7. So I suggest we no enable enable this experimental feature for Mercurial 5.7 and revisit this later, when the feature will be more mature. Differential Revision: https://phab.mercurial-scm.org/D9975
Wed, 10 Feb 2021 00:11:46 +0100 cmdutil: add a missing byte prefix to string introduce in 976b26bdd0d8 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Feb 2021 00:11:46 +0100] rev 46364
cmdutil: add a missing byte prefix to string introduce in 976b26bdd0d8 The change is missing a the `b'foo'` prefix to make it a bytestring. This lead to a traceback in some third party extension. It is unclear to me why the Mercurial test pass without it. Differential Revision: https://phab.mercurial-scm.org/D9974
Mon, 18 Jan 2021 10:20:58 +0100 relnote: remove the reference to `debugstrip` stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Jan 2021 10:20:58 +0100] rev 46363
relnote: remove the reference to `debugstrip` The `debug` namespace is not intended for end user and advertising it is a path to confusion and trouble. I think we should wait for the `admin` namespace to exists and the command to be available as `admin--strip` before we advertise it. Differential Revision: https://phab.mercurial-scm.org/D9817
Thu, 04 Feb 2021 16:59:46 -0500 largefiles: properly pass kwargs into url.open stable
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 04 Feb 2021 16:59:46 -0500] rev 46362
largefiles: properly pass kwargs into url.open The url.open function has acquired a lot of kwargs over the years. When running `hg import http://example.com/hg/diff/1`, since at least a708e1e4d7a8 in March, 2018, the calling sites for url.open try to pass a `sendaccept` parameter that largefiles' override doesn't accept. Currently that stack traces something like this: Traceback (most recent call last): File "/tmp/hgtests.sv744r5t/install/bin/hg", line 59, in <module> dispatch.run() File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 143, in run status = dispatch(req) File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 245, in dispatch status = _rundispatch(req) File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 289, in _rundispatch ret = _runcatch(req) or 0 File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 465, in _runcatch return _callcatch(ui, _runcatchfunc) File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 475, in _callcatch return scmutil.callcatch(ui, func) File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/scmutil.py", line 155, in callcatch return func() File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 455, in _runcatchfunc return _dispatch(req) File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 1259, in _dispatch lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 913, in runcommand ret = _runcommand(ui, options, cmd, d) File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 1270, in _runcommand return cmdfunc() File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 1256, in <lambda> d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/util.py", line 1867, in check return func(*args, **kwargs) File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/commands.py", line 4184, in import_ patchfile = hg.openpath(ui, patchurl, sendaccept=False) File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/hg.py", line 181, in openpath return url.open(ui, path, sendaccept=sendaccept) TypeError: openlargefile() got an unexpected keyword argument 'sendaccept' So, just accept and pass along any kwargs of the overridden function.
Thu, 04 Feb 2021 19:56:45 +0900 procutil: extend gui test to detect wayland session (issue6479) stable
Yuya Nishihara <yuya@tcha.org> [Thu, 04 Feb 2021 19:56:45 +0900] rev 46361
procutil: extend gui test to detect wayland session (issue6479)
Tue, 02 Feb 2021 23:44:44 +0530 Added signature for changeset 0e2e7300f430 stable
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 02 Feb 2021 23:44:44 +0530] rev 46360
Added signature for changeset 0e2e7300f430
Tue, 02 Feb 2021 23:44:31 +0530 Added tag 5.7 for changeset 0e2e7300f430 stable
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 02 Feb 2021 23:44:31 +0530] rev 46359
Added tag 5.7 for changeset 0e2e7300f430
Fri, 29 Jan 2021 10:32:19 -0800 relnotes: copy "next" to "5.7" and clear "next" stable 5.7
Martin von Zweigbergk <martinvonz@google.com> [Fri, 29 Jan 2021 10:32:19 -0800] rev 46358
relnotes: copy "next" to "5.7" and clear "next" The same procedure as every year^Wcycle. Differential Revision: https://phab.mercurial-scm.org/D9909
Mon, 01 Feb 2021 15:37:03 -0500 relnotes: elaborate on the side effects of hooks having HGPLAIN=1 stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Feb 2021 15:37:03 -0500] rev 46357
relnotes: elaborate on the side effects of hooks having HGPLAIN=1 Differential Revision: https://phab.mercurial-scm.org/D9943
Sun, 31 Jan 2021 19:56:52 -0500 packaging: replace a documentation reference to `python3` on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 31 Jan 2021 19:56:52 -0500] rev 46356
packaging: replace a documentation reference to `python3` on Windows Sadly, there's not `python3.exe` on Windows. Differential Revision: https://phab.mercurial-scm.org/D9937
Wed, 27 Jan 2021 10:29:21 -0800 wix: tell ComponentSearch that it is finding a directory (not a file) stable
Kyle Lippincott <spectral@google.com> [Wed, 27 Jan 2021 10:29:21 -0800] rev 46355
wix: tell ComponentSearch that it is finding a directory (not a file) This is to fix an issue we've noticed where fresh installations start at `C:\Program Files\Mercurial`, and then upgrades "walk up" the tree and end up in `C:\Program Files` and finally `C:\` (where they stay). ComponentSearch defaults to finding files, which I think means "it produces a string like `C:\Program Files\Mercurial`", whereas with the type being explicitly a directory, it would return `C:\Program Files\Mercurial\` (note the final trailing backslash). Presumably, a latter step then tries to turn that file name into a proper directory, by removing everything after the last `\`. This could likely also be fixed by actually searching for the component for hg.exe itself. That seemed a lot more complicated, as the GUID for hg.exe isn't known in this file (it's one of the "auto-derived" ones). We could also consider adding a Condition that I think could check the Property and ensure it's either empty or ends in a trailing slash, but that would be an installer runtime check and I'm not convinced it'd actually be useful. This will *not* cause existing installations that are in one of the bad directories to fix themselves. Doing that would require a fair amount more understanding of wix and windows installer than I have, and it *probably* wouldn't be possible to be 100% correct about it either (there's nothing preventing a user from intentionally installing it in C:\, though I don't know why they would do so). If someone wants to tackle fixing existing installations, I think that the first installation is actually the only one that shows up in "Add or Remove Programs", and that its registry keys still exist. You might be able to find something under HKEY_USERS that lists both the "good" and the "bad" InstallDirs. Mine was under `HKEY_USERS\S-1-5-18\Software\Mercurial\InstallDir` (C:\), and `HKEY_USERS\S-1-5-21-..numbers..\Software\Mercurial\InstallDir` (C:\Program Files\Mercurial). If you find exactly two, with one being the default path, and the other being a prefix of it, the user almost certainly hit this bug :D We had originally thought that this bug might be due to unattended installations/upgrades, but I no longer think that's the case. We were able to reproduce the issue by uninstalling all copies of Mercurial I could find, installing one version (it chose the correct location), and then starting the installer for a different version (higher or lower didn't matter). I did not need to deal with an unattended or headless installation/upgrade to trigger the issue, but it's possible that my system was "primed" for this bug to happen because of a previous unattended installation/upgrade. Differential Revision: https://phab.mercurial-scm.org/D9891
Wed, 27 Jan 2021 00:54:57 -0500 copyright: update to 2021 stable
Matt Harbison <matt_harbison@yahoo.com> [Wed, 27 Jan 2021 00:54:57 -0500] rev 46354
copyright: update to 2021 Differential Revision: https://phab.mercurial-scm.org/D9885
Thu, 28 Jan 2021 13:15:34 +0100 persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures stable
Simon Sapin <simon.sapin@octobus.net> [Thu, 28 Jan 2021 13:15:34 +0100] rev 46353
persistent-nodemap: Fix Rust declarations for Revlog_CAPI signatures Use Rust’s `libc::ssize_t` as the closest match to C’s `Py_ssize_t`. See details in test comment. Going forward we should find a way to have such Rust declarations auto-generated from C headers at build time, or auto-checked against them in a test. Differential Revision: https://phab.mercurial-scm.org/D9901
Thu, 28 Jan 2021 13:25:37 +0100 persistent-nodemap: add test case reproducing a Rust panic stable
Simon Sapin <simon.sapin@octobus.net> [Thu, 28 Jan 2021 13:25:37 +0100] rev 46352
persistent-nodemap: add test case reproducing a Rust panic Thanks to Mitchell Plamann for reporting this bug. The next commit fixes it. Differential Revision: https://phab.mercurial-scm.org/D9900
Sun, 24 Jan 2021 19:14:50 -0500 packaging: include `windows_curses` when building py2exe stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 24 Jan 2021 19:14:50 -0500] rev 46351
packaging: include `windows_curses` when building py2exe The `_curses.pyd` module was previously being included by py2exe's module search, but it left out `_curses_panel.pyd`. Differential Revision: https://phab.mercurial-scm.org/D9857
Sun, 24 Jan 2021 19:08:47 -0500 packaging: allow specifying modules to include with py2exe stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 24 Jan 2021 19:08:47 -0500] rev 46350
packaging: allow specifying modules to include with py2exe Maybe this was missing because there wasn't a need for it. Differential Revision: https://phab.mercurial-scm.org/D9856
Sun, 24 Jan 2021 18:24:11 -0800 contrib: update PyOxidizer to 0.10.3 stable
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 24 Jan 2021 18:24:11 -0800] rev 46349
contrib: update PyOxidizer to 0.10.3 This is necessary to work around a bug that caused build failures on current stable with 0.9.0. This patch was used to build the 5.7rc0 Windows installers. Differential Revision: https://phab.mercurial-scm.org/D9858
Fri, 08 Jan 2021 16:58:23 +0100 contrib: stop building rust for every job stable
Raphaël Gomès <rgomes@octobus.net> [Fri, 08 Jan 2021 16:58:23 +0100] rev 46348
contrib: stop building rust for every job This is just wasteful for all steps that do not use Rust. Differential Revision: https://phab.mercurial-scm.org/D9717
Thu, 21 Jan 2021 23:24:58 -0500 share-safe: fix an abort message that references the experimental requirement stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 21 Jan 2021 23:24:58 -0500] rev 46347
share-safe: fix an abort message that references the experimental requirement Differential Revision: https://phab.mercurial-scm.org/D9851
Thu, 21 Jan 2021 23:22:12 -0500 doc: fix a formatting error in requirements.txt stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 21 Jan 2021 23:22:12 -0500] rev 46346
doc: fix a formatting error in requirements.txt Differential Revision: https://phab.mercurial-scm.org/D9850
Thu, 21 Jan 2021 23:21:45 -0500 doc: drop the `exp-` prefix from the `share-safe` requirement stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 21 Jan 2021 23:21:45 -0500] rev 46345
doc: drop the `exp-` prefix from the `share-safe` requirement I can't tell if we should leave the experimental one around for historical documentation purposes, but I'm not sure if there's value to doing that. Differential Revision: https://phab.mercurial-scm.org/D9849
Wed, 20 Jan 2021 12:23:40 +0100 share-share: have the hint issue more consistently and point to the right doc stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Jan 2021 12:23:40 +0100] rev 46344
share-share: have the hint issue more consistently and point to the right doc This should help user in trouble to find solution in the documentation. Differential Revision: https://phab.mercurial-scm.org/D9841
Wed, 20 Jan 2021 12:13:17 +0100 doc: point to the main share-safe doc in the "mismatch" config stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Jan 2021 12:13:17 +0100] rev 46343
doc: point to the main share-safe doc in the "mismatch" config User should be able to find their way with that. Differential Revision: https://phab.mercurial-scm.org/D9840
Wed, 20 Jan 2021 12:12:31 +0100 doc: improves the share-safe documentation stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Jan 2021 12:12:31 +0100] rev 46342
doc: improves the share-safe documentation The associated behavior is now clearer and we point to the other configuration that control the mismatching behavior. Differential Revision: https://phab.mercurial-scm.org/D9839
Wed, 20 Jan 2021 12:11:41 +0100 doc: remove the section about share-safe from its verbose gating stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Jan 2021 12:11:41 +0100] rev 46341
doc: remove the section about share-safe from its verbose gating The feature is no longer experimental. Differential Revision: https://phab.mercurial-scm.org/D9838
Wed, 20 Jan 2021 12:08:10 +0100 doc: relocate doc for `share.safe-mismatch.source-safe.warn` stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Jan 2021 12:08:10 +0100] rev 46340
doc: relocate doc for `share.safe-mismatch.source-safe.warn` The documentation for the option is now right after its parent configuration: `share.safe-mismatch.source-safe` Differential Revision: https://phab.mercurial-scm.org/D9837
Wed, 20 Jan 2021 00:40:41 -0500 tests: skip a detailed exit status in test-lfs-test-server stable
Matt Harbison <matt_harbison@yahoo.com> [Wed, 20 Jan 2021 00:40:41 -0500] rev 46339
tests: skip a detailed exit status in test-lfs-test-server The mode of failure here differs between `lfs-test-server` and `hg serve`, and they each throw a different exception. The `hg serve` case raises a subclass of `StorageError`, which gets a detailed status. The `lfs-test-server` case raises a subclass of `Abort`, which does not. Since the exit code isn't currently conditionizable in the tests, this is the simplest way to avoid the failure. Differential Revision: https://phab.mercurial-scm.org/D9836
Wed, 20 Jan 2021 14:57:56 +0100 tests: deal with more timing differences in output stable
Joerg Sonnenberger <joerg@bec.de> [Wed, 20 Jan 2021 14:57:56 +0100] rev 46338
tests: deal with more timing differences in output Differential Revision: https://phab.mercurial-scm.org/D9842
Tue, 19 Jan 2021 22:37:35 +0530 Added signature for changeset 9da65e3cf370 stable
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 19 Jan 2021 22:37:35 +0530] rev 46337
Added signature for changeset 9da65e3cf370
Tue, 19 Jan 2021 22:37:09 +0530 Added tag 5.7rc0 for changeset 9da65e3cf370 stable
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 19 Jan 2021 22:37:09 +0530] rev 46336
Added tag 5.7rc0 for changeset 9da65e3cf370
Tue, 19 Jan 2021 21:48:43 +0530 merge with stable stable 5.7rc0
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 19 Jan 2021 21:48:43 +0530] rev 46335
merge with stable
Mon, 18 Jan 2021 19:16:49 +0530 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Jan 2021 19:16:49 +0530] rev 46334
share: move share safe functionality out of experimental The share-safe functionality is complete and all configuration options are implemented. The behavior is well discussed on mailing list and in reviews. Let's unmark this as experimental to solve a chichen and egg issue. Differential Revision: https://phab.mercurial-scm.org/D9823
Fri, 15 Jan 2021 12:08:07 +0530 share: rename share-safe warning config
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Jan 2021 12:08:07 +0530] rev 46333
share: rename share-safe warning config Config introduced in previous patch was `share.source-safe-mismatch`. Let's rename the warn as `share.source-safe-mismatch.warn`. While we are here, made sure we have different configs for upgrade and downgrade. Differential Revision: https://phab.mercurial-scm.org/D9786
Mon, 18 Jan 2021 21:37:20 +0530 share: rework config options to be much clearer and easier
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Jan 2021 21:37:20 +0530] rev 46332
share: rework config options to be much clearer and easier Recently I implemented various boolean configs which control how to behave when there is a share-safe mismatch between source and share repository. Mismatch means that source supports share-safe where as share does not or vice versa. However, while discussion and documentation we realized that it's too complicated and there are some combinations of values which makes no sense. We decided to introduce a config option with 4 possible values which makes controlling and understanding things easier. The config option `share.safe-mismatch.source-{not-}safe` can have following 4 values: * abort (default): error out if there is mismatch * allow: allow to work with respecting share source configuration * {up|down}grade-abort: try to {up|down}grade, if it fails, abort * {up|down}grade-allow: try to {up|down}grade, if it fails, continue in allow mode I am not sure if I can explain 3 config options which I deleted right now in just 5 lines which is a sign of how complex they became. No test changes demonstrate that functionality is same, only names have changed. Differential Revision: https://phab.mercurial-scm.org/D9785
Thu, 14 Jan 2021 21:34:12 +0530 localrepo: disallow share if there is a version mismatch by default
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Jan 2021 21:34:12 +0530] rev 46331
localrepo: disallow share if there is a version mismatch by default Earlier we used to allow shares which don't use share-safe mechanism to access repository which uses share-safe mechanism. This defeats the purpose and is bad behavior. This patch disallows that. Next patch will introduce a config option to allow that and have clearer understanding around various options. Differential Revision: https://phab.mercurial-scm.org/D9784
Mon, 18 Jan 2021 19:50:21 +0530 upgrade: re-read current requirements after taking lock
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Jan 2021 19:50:21 +0530] rev 46330
upgrade: re-read current requirements after taking lock Since we are writing to repository, it's better to re-read after taking the lock. Differential Revision: https://phab.mercurial-scm.org/D9822
Thu, 14 Jan 2021 21:29:46 +0530 upgrade: take lock only for part where it's required
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Jan 2021 21:29:46 +0530] rev 46329
upgrade: take lock only for part where it's required The final config calculation code does not require a lock, only writing it back does require one. Differential Revision: https://phab.mercurial-scm.org/D9783
Mon, 18 Jan 2021 19:19:47 +0100 clang-format: reorder includes to appease the formatter
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Jan 2021 19:19:47 +0100] rev 46328
clang-format: reorder includes to appease the formatter The bad order was introduced in d0225a22040c. Differential Revision: https://phab.mercurial-scm.org/D9829
Mon, 18 Jan 2021 01:15:10 -0500 run-tests: catch a Windows specific error when testing for a free socket
Matt Harbison <matt_harbison@yahoo.com> [Mon, 18 Jan 2021 01:15:10 -0500] rev 46327
run-tests: catch a Windows specific error when testing for a free socket I'm not sure why this only happens with py3, but this error code doesn't map to any of the 3 currently being handled, and kills `run-tests.py` before it can run any tests when it happens: OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions The documentation[1] says this can happen if another process is bound to the address with exclusive access. This seems to keep it happy. [1] https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2 Differential Revision: https://phab.mercurial-scm.org/D9816
Mon, 18 Jan 2021 00:50:01 -0500 run-tests: work around the Windows firewall popup for server processes
Matt Harbison <matt_harbison@yahoo.com> [Mon, 18 Jan 2021 00:50:01 -0500] rev 46326
run-tests: work around the Windows firewall popup for server processes Windows doesn't have a `python3` executable, so cc0b332ab9fc attempted to work around the issue by copying the current python to `python3.exe`. That put it in `_tmpbindir` because of failures in `test-run-tests.t` when using `_bindir`, which looked like a process was trying to open it to write out a copy while it was in use. (Interestingly, I couldn't reproduce this running the test by itself in a loop for a couple of hours, but it happens constantly when running all tests.) The problem with using `_tmpbindir` is that it is the randomly generated path for the test run, and instead of Windows Firewall remembering the executable signature or image hash when allowing the process to open a server port, it apparently remembers the image path. That means every run will trigger a popup to allow it, which is bad for firing off a test run and walking away. I tried to symlink to the python executable, but that currently requires admin priviledges[1]. This will prompt the first time if the underlying python binary has never opened a server port, but appears to avoid it on subsequent runs. [1] https://bugs.python.org/issue40687 Differential Revision: https://phab.mercurial-scm.org/D9815
Sun, 17 Jan 2021 22:25:15 -0500 hghave: split apart testing for the curses module and `tic` executable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 17 Jan 2021 22:25:15 -0500] rev 46325
hghave: split apart testing for the curses module and `tic` executable ef771d329961 skipped the check for the `tic` executable, because the curses module alone on Windows is enough to pass the `test-*-curses.t` tests. However, `test-status-color.t` uses this same check and explicitly invoked the executable, which fails on Windows. From the cursory searching I did, curses on unix requires `tic`, which I assume is why they were tied together in the first place. So this continues to require both to get past the curses guards on non Windows platforms. Differential Revision: https://phab.mercurial-scm.org/D9814
Mon, 18 Jan 2021 13:59:54 +0100 sqlitestore: disable test with chg
Joerg Sonnenberger <joerg@bec.de> [Mon, 18 Jan 2021 13:59:54 +0100] rev 46324
sqlitestore: disable test with chg There are known issues with transactions not being closed in a timely fashion, making the test flakey. Differential Revision: https://phab.mercurial-scm.org/D9821
Fri, 15 Jan 2021 20:26:21 +0100 heptapod-ci: allow testing with docker image other than :latest
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Jan 2021 20:26:21 +0100] rev 46323
heptapod-ci: allow testing with docker image other than :latest The project have a default config of latest for this variable. Differential Revision: https://phab.mercurial-scm.org/D9792
Sun, 17 Jan 2021 20:27:59 +0100 persistent-nodemap: also exchange the nodemap data over the wire
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jan 2021 20:27:59 +0100] rev 46322
persistent-nodemap: also exchange the nodemap data over the wire It appears that 2 bytes are never equals to 3 bytes. Differential Revision: https://phab.mercurial-scm.org/D9810
Sun, 17 Jan 2021 19:22:30 +0100 persistent-nodemap: catch the right exception on python
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jan 2021 19:22:30 +0100] rev 46321
persistent-nodemap: catch the right exception on python On Python 2, Missing file are IOError, not OSError, apparently. Differential Revision: https://phab.mercurial-scm.org/D9809
Sun, 17 Jan 2021 02:50:26 -0500 hghave: adjust the definition of `tic` to allow curses tests on Windows
Matt Harbison <matt_harbison@yahoo.com> [Sun, 17 Jan 2021 02:50:26 -0500] rev 46320
hghave: adjust the definition of `tic` to allow curses tests on Windows Might as well pick up the test coverage if it works as-is. Differential Revision: https://phab.mercurial-scm.org/D9808
Wed, 09 Dec 2020 00:51:35 -0500 windows: wrap `os.getcwd()` in `os.path.realpath()` on py3
Matt Harbison <matt_harbison@yahoo.com> [Wed, 09 Dec 2020 00:51:35 -0500] rev 46319
windows: wrap `os.getcwd()` in `os.path.realpath()` on py3 I noticed various `test-check-*` failures that were printing absolute paths when repo relative paths were expected. This was due to the drive letter in `repo.root` being uppercased as it is run through `os.path.realpath()`, and then the simple string comparison against the (lowercased) `_cwd` member of dirstate in `dirstate.getcwd()` causing an absolute path to be returned, instead of the expected `b''`. That in turn causes `scmutil.getuipathfn()` to wrongly use `repo.pathto()` with an absolute cwd path. . Differential Revision: https://phab.mercurial-scm.org/D9806
(0) -30000 -10000 -3000 -1000 -300 -100 -96 +96 +100 +300 +1000 +3000 tip