Mon, 07 Dec 2020 18:06:53 +0100 persistent-nodemap: properly ignore non-existent `.nd` data file
Simon Sapin <simon-commits@exyr.org> [Mon, 07 Dec 2020 18:06:53 +0100] rev 46089
persistent-nodemap: properly ignore non-existent `.nd` data file This code was meant to handle the case of a nodemap docket file pointing to a nodemap data file that doesn’t exist (anymore), but most likely caused an `UnboundLocalError` exception instead when `data` was used on the next line without being defined. This case is theoretically possible with a race condition between two hg processes, but is hard to reproduce or test: * Process A reads a docket file and finds a UID in it that points to a given data file name. * Process B decides that this same data file needs compacting. It writes a new one with a different UID, overwrites the docket file, then removes the old data file. * Only then process A tries to a open a file that doesn’t exist anymore. Differential Revision: https://phab.mercurial-scm.org/D9533
Wed, 09 Dec 2020 18:51:52 -0800 docs: prefer `hg diff --from/--to` over `-r`
Martin von Zweigbergk <martinvonz@google.com> [Wed, 09 Dec 2020 18:51:52 -0800] rev 46088
docs: prefer `hg diff --from/--to` over `-r` This patch includes updating away from the broken `hg diff -r 'date(...)'` (see not in previous patch). Differential Revision: https://phab.mercurial-scm.org/D9555
Wed, 09 Dec 2020 18:31:19 -0800 diff: add --from and --to flags as clearer alternative to -r -r
Martin von Zweigbergk <martinvonz@google.com> [Wed, 09 Dec 2020 18:31:19 -0800] rev 46087
diff: add --from and --to flags as clearer alternative to -r -r I think it was mistake to let the `-r` flag accept two revisions in `hg diff` in 98633e60067c (Support for 0, 1, or 2 diff revs, 2005-05-07). The command clearly acts on two revisions and having a single flag to indicate which those are is unclear. It got worse when it started accepting revsets as input. This patch introduces `--from` and `--to` flags, each taking a single revision and each defaulting to the working copy. That means that `hg
Thu, 03 Dec 2020 17:18:49 +0530 commandserver: handle IOError related to flushing of streams
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 03 Dec 2020 17:18:49 +0530] rev 46086
commandserver: handle IOError related to flushing of streams After dispatch, without chg we have handling of flushing of streams and exception handling related to it. The exception handling part is important because there can be exceptions when flushing fout or ferr. One such case is in `test-basic.t` which was failing on python3+chg without this patch as this handling was missing from chg. Failure can be seen at https://foss.heptapod.net/octobus/mercurial-devel/-/jobs/128399 Honestly I am not sure which one of `chgserver.py` or `commandserver.py` the change should go in. Differential Revision: https://phab.mercurial-scm.org/D9517
Wed, 02 Dec 2020 14:27:45 +0530 tests: conditionalize output in test-ssh.t with chg+py3
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 02 Dec 2020 14:27:45 +0530] rev 46085
tests: conditionalize output in test-ssh.t with chg+py3 Because of our wrapping around sys.std* and python3 internal buffering, the output order changes. The change in order seems like harmless because just few lines above the same command is run which results in same output. This makes `test-ssh.t` works with --chg on python 3. Differential Revision: https://phab.mercurial-scm.org/D9502
Wed, 02 Dec 2020 14:19:09 +0530 dispatch: disable line ending normalization on sys.stdin if its None
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 02 Dec 2020 14:19:09 +0530] rev 46084
dispatch: disable line ending normalization on sys.stdin if its None Fixes test-chg.t on python 3 with chg. Differential Revision: https://phab.mercurial-scm.org/D9501
Wed, 02 Dec 2020 13:55:17 +0530 procutils: don't try to get `.buffer` if sys.stdin is None
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 02 Dec 2020 13:55:17 +0530] rev 46083
procutils: don't try to get `.buffer` if sys.stdin is None While hunting down following test failure of test-chg.t on Python 3, I stumbled the case when `.buffer` is not available as sys.stdin is None. --- /home/pulkit/repo/hg-committed/tests/test-chg.t +++ /home/pulkit/repo/hg-committed/tests/test-chg.t.err @@ -203,7 +203,31 @@ $ CHGDEBUG=1 chg version -q 0<&- chg: debug: * stdio fds are missing (glob) chg: debug: * execute original hg (glob) - Mercurial Distributed SCM * (glob) + Traceback (most recent call last): + File "/tmp/hgtests.avspvsq4/install/bin/hg", line 43, in <module> + dispatch.run() + File "/usr/lib/python3.6/importlib/util.py", line 233, in __getattribute__ + self.__spec__.loader.exec_module(self) + File "<frozen importlib._bootstrap_external>", line 678, in exec_module + File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed + File "/tmp/hgtests.avspvsq4/install/lib/python/mercurial/dispatch.py", line 726, in <module> + class lazyaliasentry(object): + File "/tmp/hgtests.avspvsq4/install/lib/python/mercurial/dispatch.py", line 737, in lazyaliasentry + @util.propertycache + File "/usr/lib/python3.6/importlib/util.py", line 233, in __getattribute__ + self.__spec__.loader.exec_module(self) + File "<frozen importlib._bootstrap_external>", line 678, in exec_module + File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed + File "/tmp/hgtests.avspvsq4/install/lib/python/mercurial/util.py", line 3473, in <module> + f=procutil.stderr, + File "/usr/lib/python3.6/importlib/util.py", line 233, in __getattribute__ + self.__spec__.loader.exec_module(self) + File "<frozen importlib._bootstrap_external>", line 678, in exec_module + File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed + File "/tmp/hgtests.avspvsq4/install/lib/python/mercurial/utils/procutil.py", line 127, in <module> + stdin = sys.stdin.buffer + AttributeError: 'NoneType' object has no attribute 'buffer' + [1] server lifecycle ---------------- Differential Revision: https://phab.mercurial-scm.org/D9500
Wed, 09 Dec 2020 09:54:49 -0800 share: remove unexpected heading from "verbose" container in help test
Martin von Zweigbergk <martinvonz@google.com> [Wed, 09 Dec 2020 09:54:49 -0800] rev 46082
share: remove unexpected heading from "verbose" container in help test `test-gendoc-*.t` have been failing for me since 91425656e2b1 (share: add documentation about share-safe mode in `hg help -e share`, 2020-11-27) with this kind of output: ``` --- /usr/local/google/home/martinvonz/hg/tests/test-gendoc-ru.t +++ /usr/local/google/home/martinvonz/hg/tests/test-gendoc-ru.t.err @@ -2,3 +2,9 @@ $ $TESTDIR/check-gendoc ru checking for parse errors + gendoc.txt:12818: (SEVERE/4) Unexpected section title. + + Sharing requirements and configs of source repository with shares + ----------------------------------------------------------------- + Exiting due to level-4 (SEVERE) system message. + [1] ``` This patch fixes that. Differential Revision: https://phab.mercurial-scm.org/D9552
Thu, 03 Dec 2020 22:49:01 +0100 bugzilla: pass the url to xmlrpclib.ServerProxy as str stable
Mads Kiilerich <mads@kiilerich.com> [Thu, 03 Dec 2020 22:49:01 +0100] rev 46081
bugzilla: pass the url to xmlrpclib.ServerProxy as str
Thu, 03 Dec 2020 22:49:01 +0100 bugzilla: fix reporting of exceptions with py3 stable
Mads Kiilerich <mads@kiilerich.com> [Thu, 03 Dec 2020 22:49:01 +0100] rev 46080
bugzilla: fix reporting of exceptions with py3
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip