Augie Fackler <raf@durin42.com> [Mon, 02 Nov 2020 14:26:18 -0500] rev 45764
Added tag 5.6 for changeset 18c17d63fdab
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Thu, 29 Oct 2020 11:12:25 +0100] rev 45763
i18n: fix coding tag unsupported by xgettext
Running `make update-pot` currently fails with the following error:
xgettext: mercurial/metadata.py:1: Unknown encoding "utf8". Proceeding with ASCII instead.
xgettext: Non-ASCII string at mercurial/metadata.py:311.
Please specify the source encoding through --from-code or through a comment
as specified in http://www.python.org/peps/pep-0263.html.
Differential Revision: https://phab.mercurial-scm.org/D9260
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Thu, 29 Oct 2020 11:11:54 +0100] rev 45762
py3: hggettext
`itervalues()` is only available on Python 2. Since this script
doesn't currently refer to the main Mercurial modules, and as a result
doesn't have easy access to the `pycompat` module, I simply changed it
to use `value()` instead. Although this allocates a list on Python 2,
I'd consider that acceptable for a utility script; Mercurial doesn't
have all _that_ many commands anyway.
Differential Revision: https://phab.mercurial-scm.org/D9259
Martin von Zweigbergk <martinvonz@google.com> [Thu, 29 Oct 2020 11:37:22 -0700] rev 45761
relnotes: copy "next" to "5.6" and clear "next"
The same procedure as every year^Wcycle.
Differential Revision: https://phab.mercurial-scm.org/D9263
Matt Harbison <matt_harbison@yahoo.com> [Fri, 23 Oct 2020 22:20:08 -0400] rev 45760
repoview: only pin obsolete wdir parents while there are unresolved conflicts
I noticed after doing an update from an obsolete revision with a dirty wdir that
the obsolete commit stayed visible for no obvious reason. It was decided in
85b03b1e4715 not to clear mergestate once all of the conflicts were resolved, in
order to allow re-resolving. Since the point of pinning the obsolete parents
was to allow resolving in the first place (aaeccdb6e654), it makes sense to also
gate it on whether or not there are any remaining files to resolve. This might
result in pinning again if files are marked unresolved again, but that seems
reasonable, given that it still solves the original issue.
Note that this isn't purely cosmetic- pushing with a pinned obsolete revision is
likely to cause complaints about pushing multiple heads or other unexpected
errors. So the faster it comes out of that state, the better.
Differential Revision: https://phab.mercurial-scm.org/D9248
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 28 Oct 2020 17:41:25 +0100] rev 45759
backout: don't assume that tip as what we just committed
Differential Revision: https://phab.mercurial-scm.org/D9256
Yuya Nishihara <yuya@tcha.org> [Fri, 23 Oct 2020 20:33:36 +0900] rev 45758
url: do not continue HTTP authentication with user=None (issue6425)
I initially thought this is a py3-compat bug of passwordmgr._writedebug(),
but actually returning (None, str) pair is wrong at all. HTTP authentication
would continue with user="None" in that case.
Since registering a password of user=None should also be wrong, this patch
simply adds early return.
Yuya Nishihara <yuya@tcha.org> [Fri, 23 Oct 2020 20:10:17 +0900] rev 45757
ui: fix echo back of ui.prompt() to not concatenate None as bytes
Spotted while writing tests for the issue6425. The default value may be
None.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Thu, 29 Oct 2020 07:51:13 +0100] rev 45756
commit: don't change phases for preexisting commits
I noticed when pulling with hg-git in a repository that already had
the changes, but pulled from another Mercurial repository. This meant
that hg-git would re-create exact matches of the changesets, and
if they were public, they'd get reverted to drafts.
Differential Revision: https://phab.mercurial-scm.org/D9253
Matt Harbison <matt_harbison@yahoo.com> [Thu, 22 Oct 2020 18:38:41 -0400] rev 45755
demandimport: don't raise AttributeError if `exec_module` is missing
I assume this was meant to do the check gracefully. After shoveling a bunch of
modules into the ignore list in order to get keyring to work out of the box on
CentOS 8, I hit the following error accessing the password, which the change
fixes. Now the SecretStorage backend works out of the box, without any edits to
the ignore list.
** Unknown exception encountered with possibly-broken third-party extension mercurial_keyring
** which supports versions unknown of Mercurial.
** Please disable mercurial_keyring and try your action again.
** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/mercurial_keyring/issues
** Python 3.6.8 (default, Apr 16 2020, 01:36:27) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]
** Mercurial Distributed SCM (version 5.5.2)
** Extensions loaded: evolve, topic, rebase, absorb, mercurial_keyring
Traceback (most recent call last):
File "/home/mharbison/hg_py3.6.8_venv/lib64/python3.6/site-packages/mercurial_keyring.py", line 230, in _read_password_from_keyring
password = keyring.get_password(KEYRING_SERVICE, pwdkey)
File "/home/mharbison/hg_py3.6.8_venv/lib64/python3.6/site-packages/keyring/core.py", line 53, in get_password
return _keyring_backend.get_password(service_name, username)
File "/home/mharbison/hg_py3.6.8_venv/lib64/python3.6/site-packages/keyring/backends/chainer.py", line 51, in get_password
password = keyring.get_password(service, username)
File "/home/mharbison/hg_py3.6.8_venv/lib64/python3.6/site-packages/keyring/backends/SecretService.py", line 79, in get_password
return item.get_secret().decode('utf-8')
File "/home/mharbison/hg_py3.6.8_venv/lib64/python3.6/site-packages/secretstorage/item.py", line 105, in get_secret
decryptor = Cipher(aes, modes.CBC(aes_iv), default_backend()).decryptor()
File "/home/mharbison/hg_py3.6.8_venv/lib64/python3.6/site-packages/cryptography/hazmat/backends/__init__.py", line 15, in default_backend
from cryptography.hazmat.backends.openssl.backend import backend
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "/home/mharbison/hg_py3.6.8_venv/lib64/python3.6/site-packages/hgdemandimport/demandimportpy3.py", line 53, in exec_module
self.loader.exec_module(module)
File "/home/mharbison/hg_py3.6.8_venv/lib64/python3.6/site-packages/cryptography/hazmat/backends/openssl/__init__.py", line 7, in <module>
from cryptography.hazmat.backends.openssl.backend import backend
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "/home/mharbison/hg_py3.6.8_venv/lib64/python3.6/site-packages/hgdemandimport/demandimportpy3.py", line 53, in exec_module
self.loader.exec_module(module)
File "/home/mharbison/hg_py3.6.8_venv/lib64/python3.6/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 14, in <module>
from six.moves import range
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 951, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 894, in _find_spec
File "/home/mharbison/hg_py3.6.8_venv/lib64/python3.6/site-packages/hgdemandimport/demandimportpy3.py", line 117, in find_spec
and getattr(spec.loader, "exec_module")
AttributeError: '_SixMetaPathImporter' object has no attribute 'exec_module'
Differential Revision: https://phab.mercurial-scm.org/D9243