Manuel Jacob <me@manueljacob.de> [Thu, 02 Jun 2022 04:39:49 +0200] rev 48886
py3: don’t subscript socket.error
On Python 2, socket.error was subscriptable. On Python 3, socket.error is an
alias to OSError and is not subscriptable. The except block passes the
exception to self.send_error(). This fails on both Python 2 (if it was
executed) and Python 3, as it expects a string.
Getting the attribute .strerror works on Python 2 and Python 3, and has the
same effect as the previous code on Python 2.
Manuel Jacob <me@manueljacob.de> [Thu, 02 Jun 2022 02:05:11 +0200] rev 48885
demandimport: eagerly load msvcrt module on PyPy
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 01 Jun 2022 03:08:15 +0200] rev 48884
ci: drop the phabricator refresh step
Now that phabricator is no longer in us, we should avoid this useless step to
save time and simplify things.
Manuel Jacob <me@manueljacob.de> [Sun, 22 May 2022 01:48:20 +0200] rev 48883
hghave: make black version regex work with newer versions of black
Black commit 117891878e5be4d6b771ae5de299e51b679cea27 (included in black >=
21.11b0) dropped the string "version " from the output of "black --version". To
make the regex work with newer black versions, make matching of "version "
optional.
Mads Kiilerich <mads@kiilerich.com> [Tue, 24 May 2022 14:29:44 +0200] rev 48882
rust: relax im-rc dependency to allow minor updates
This "15.0.*" requirement came from 0d99778af68a and is now replaced with plain
"15.0".
AFAICS, it really should allow (but not necessarily require) im-rc 15.1 .
Narrow requirement requirements with wildcard in the version is not used in
other places.
Raphaël Gomès <rgomes@octobus.net> [Thu, 02 Jun 2022 16:19:39 +0200] rev 48881
Added signature for changeset 6b10151b9621
Raphaël Gomès <rgomes@octobus.net> [Thu, 02 Jun 2022 16:19:31 +0200] rev 48880
Added tag 6.1.3 for changeset 6b10151b9621
Sandu Turcan <idlsoft@gmail.com> [Tue, 03 May 2022 21:44:30 -0400] rev 48879
narrow_widen_acl: enforce narrowacl in narrow_widen (SEC)
Reviewer note: this was sent by the author as a simple bugfix, but can be
considered a security patch, since it allows users to access things outside
of the ACL, hence the (SEC) prefix.
However, this affects the `narrow` extention which is still marked as
experimental and has relatively few users aside from large companies with
their own security layers on top from what we can gather.
We feel (Alphare: or at least, I feel) like pinging the packaging list is
enough in this case.
Raphaël Gomès <rgomes@octobus.net> [Mon, 30 May 2022 11:52:31 +0200] rev 48878
chg: ignore already closed fds when cleaning up
This should fix this error we see in the CI from time to time:
```
--- /tmp/mercurial-ci/tests/test-chg.t
+++ /tmp/mercurial-ci/tests/test-chg.t.err
@@ -187,6 +187,26 @@
$ chg bulkwrite --pager=on --color no --config ui.formatted=True
paged! 'going to write massive data\n'
killed! (?)
+ Traceback (most recent call last):
+ File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/commandserver.py", line 509, in _serverequest
+ sv.cleanup()
+ File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/chgserver.py", line 382, in cleanup
+ self._restoreio()
+ File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/chgserver.py", line 461, in _restoreio
+ os.close(fd)
+ OSError: [Errno 9] Bad file descriptor
+ Traceback (most recent call last):
+ File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/commandserver.py", line 693, in _acceptnewconnection
+ self._runworker(conn)
+ File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/commandserver.py", line 744, in _runworker
+ prereposetups=[self._reposetup],
+ File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/commandserver.py", line 509, in _serverequest
+ sv.cleanup()
+ File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/chgserver.py", line 382, in cleanup
+ self._restoreio()
+ File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/chgserver.py", line 461, in _restoreio
+ os.close(fd)
+ OSError: [Errno 9] Bad file descriptor
[255]
```
Manuel Jacob <me@manueljacob.de> [Sun, 29 May 2022 14:44:19 +0200] rev 48877
tests: work around non-thread-safeness of sysconfig.get_config_var()
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 May 2022 11:19:24 +0200] rev 48876
workflow: add a default template for Merge Request
Introduce a first basic template to try the feature.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 May 2022 10:34:42 +0200] rev 48875
run-tests: prevent race-condition when picking a channel
Before this, multiple jobs could search the list at the same time and pick the
same free channel.
We now project this search/assignment with a simple lock.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 May 2022 09:57:53 +0200] rev 48874
run-tests: send the test result after freeing the channel
Sending the message about the test being "done" signals to the main thread that
a new test can be started. Before this changeset, we sent this signal before
freeing the channel, there is room for a race condition where a new test would
search for a channel before the old test freed the one it used.
This is an example of the failure it would produce:
https://foss.heptapod.net/mercurial/mercurial-devel/-/jobs/552404
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 May 2022 09:36:40 +0200] rev 48873
run-tests: also send a message in the Keyboard interrupt case
The next patch will do something equivalent, so lets do the change in an
independant changeset first in case we need to bisect something in the future.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Sun, 22 May 2022 14:21:59 +0200] rev 48872
rhg: correctly handle the case where diffs are encoded relative to nullrev
returning a valid entry for nullrev fix chain that delta against nullrev.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Sun, 22 May 2022 23:26:06 +0200] rev 48871
test-revlog: test a repository that contains a diff against nullrev
We are witnessing a crash in the rust code, so we lets make sure this case is
tested.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 17 May 2022 14:36:57 -0400] rev 48870
worker: adapt _blockingreader to work around a python3.8.[0-1] bug (issue6444)
Python 3.8.0 is the latest I can load on Ubuntu 18.04, and I regularly hit the
TypeError because this function is missing. While it can be avoided by
disabling worker usage via config option, that's a bit obscure.
I'm limiting the function definition to the narrow range of affected pythons
because there were other bugs in this area that were worked around, that I don't
fully understand. See the bug report for discussions on why the narrow range,
and related commits working around other bugs.
Differential Revision: https://phab.mercurial-scm.org/D12627
Anton Shestakov <av6@dwimlabs.net> [Wed, 04 May 2022 13:53:12 +0400] rev 48869
doc: use an absolute path in sys.path
The idea and rationale is similar to https://phab.mercurial-scm.org/D12599
(landed as 1b6e381521c5).
Differential Revision: https://phab.mercurial-scm.org/D12622
Anton Shestakov <av6@dwimlabs.net> [Wed, 04 May 2022 13:48:40 +0400] rev 48868
check-py3-compat: use an absolute path in sys.path
The idea and rationale is similar to https://phab.mercurial-scm.org/D12599
(landed as 1b6e381521c5).
Differential Revision: https://phab.mercurial-scm.org/D12621
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 19 May 2022 12:23:38 +0100] rev 48867
rhg: align the dirstate v2 writing algorithm with python
Use the same algorithm of file append as python does, where we do a manual
seek instead of relying on O_APPEND. (see the reasons in the inline comment)
Arseniy Alekseyev <aalekseyev@janestreet.com> [Tue, 17 May 2022 14:59:25 +0100] rev 48866
test-dirstate: actually test the append code path in dirstate v2
Apparently it's not sufficient to modify a file to force the dirstate
write-out, so the append code path was untested.
By removing a file instead of changing we're forcing append to happen.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 May 2022 00:09:51 +0100] rev 48865
ci: do not trigger phabricator for merge-request
The fast the phabricator steps has a `rules` entry makes it selected for the
special `merge_requests` pipelines. The other ones behave as default and are not
selected tot the mrege_request pipelines.
This result in a second pipeline to be created, with only the phabricator
pipeline in it. Which usually succeed fast (since there is nothing to do).
This is harmful as this create a false sense of "the series is passing" and
Gitlab will use this simplistic pipeline for validation.
By explicitly preventing the pipeline to be created in the merge-request case,
we prevent this situation to happens
Note that the job will be dropped (alonside phabricator) in the next two weeks
anyway.
Kyle Lippincott <spectral@google.com> [Wed, 11 May 2022 17:56:29 -0700] rev 48864
amend: stop specifying matcher, get all copies in wctx
When we're recreating the commit that we'll be committing, we don't want to
filter our copy information based on just the *new* [versions of the] files
we're amending. The test has an example of this case, but for clarity, the
situation is:
```
$ hg cp src dst && hg commit
<do some work>
$ hg amend some_unrelated_file.txt
$ hg status --copies
A dst
A some_unrelated_file.txt
```
What *should* happen is that `dst` should remain marked as a copy of `src`, but
this did not previously happen. `matcher` here only includes the files that were
specified on the commandline, so it only gets the copy information (if any, in
this example there's not) for `some_unrelated_file.txt`. When it goes to apply
the memctx to actually create the commit, the file copy information is
incomplete and loses the information for the files that shouldn't have been
affected at all by the amend.
Differential Revision: https://phab.mercurial-scm.org/D12625
Kyle Lippincott <spectral@google.com> [Wed, 11 May 2022 17:56:10 -0700] rev 48863
amend: add test showing poor behavior when copies are involved
Differential Revision: https://phab.mercurial-scm.org/D12624
Arseniy Alekseyev <aalekseyev@janestreet.com> [Wed, 04 May 2022 17:40:23 +0100] rev 48862
censor: fix [hg update] away from a revision with censored files
Differential Revision: https://phab.mercurial-scm.org/D12604
Arseniy Alekseyev <aalekseyev@janestreet.com> [Fri, 22 Apr 2022 14:39:00 +0100] rev 48861
censor: demonstrate a bug
Differential Revision: https://phab.mercurial-scm.org/D12584
Raphaël Gomès <rgomes@octobus.net> [Wed, 04 May 2022 18:04:46 +0200] rev 48860
Added signature for changeset 0ddd5e1f5f67
Raphaël Gomès <rgomes@octobus.net> [Wed, 04 May 2022 18:04:06 +0200] rev 48859
Added tag 6.1.2 for changeset 0ddd5e1f5f67
Raphaël Gomès <rgomes@octobus.net> [Wed, 04 May 2022 18:00:01 +0200] rev 48858
ci: remove py2-rust support
Nobody cares about this very narrow usecase, and py2 support is over by
July 1st. This helps with the CI load, and removes some flakiness.
Raphaël Gomès <rgomes@octobus.net> [Wed, 04 May 2022 17:45:20 +0200] rev 48857
relnotes: add release notes for 6.1.2