packaging: update dulwich to drop the certifi dependency on Windows
The presence of `certifi` causes the system certificate store to be ignored,
which was reported as a bug against TortoiseHg[1]. It was only pulled in on
Windows because of `dulwich`, which was copied from the old TortoiseHg install
scripts, in order to support `hg-git`.
This version of `dulwich` raises the minimum `urllib3` to a version (1.25) that
does certificate verification by default, without the help of `certifi`[2]. We
already bundle a newer version of `urllib3`. Note that `certifi` can still be
imported from the user site directory, if installed there. But the installer no
longer disables the system certificates by default.
[1] https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5825
[2] https://github.com/jelmer/dulwich/issues/1025
from mercurial import (
encoding,
extensions,
streamclone,
testing,
)
WALKED_FILE_1 = encoding.environ[b'HG_TEST_STREAM_WALKED_FILE_1']
WALKED_FILE_2 = encoding.environ[b'HG_TEST_STREAM_WALKED_FILE_2']
def _test_sync_point_walk_1(orig, repo):
testing.write_file(WALKED_FILE_1)
def _test_sync_point_walk_2(orig, repo):
assert repo._currentlock(repo._lockref) is None
testing.wait_file(WALKED_FILE_2)
def uisetup(ui):
extensions.wrapfunction(
streamclone, '_test_sync_point_walk_1', _test_sync_point_walk_1
)
extensions.wrapfunction(
streamclone, '_test_sync_point_walk_2', _test_sync_point_walk_2
)