--- Begin Message ---
Source: dulwich, hg-git
Control: found -1 dulwich/0.24.2-1
Control: found -1 hg-git/1.2.0-1
Severity: serious
Tags: sid forky
User: [email protected]
Usertags: breaks needs-update
Dear maintainer(s),
With a recent upload of dulwich the autopkgtest of hg-git fails in
testing when that autopkgtest is run with the binary packages of dulwich
from unstable. It passes when run with only packages from testing. In
tabular form:
pass fail
dulwich from testing 0.24.2-1
hg-git from testing 1.2.0-1
all others from testing from testing
I copied some of the output at the bottom of this report.
Currently this regression is blocking the migration of dulwich to
testing [1]. Due to the nature of this issue, I filed this bug report
against both packages. Can you please investigate the situation and
reassign the bug to the right package?
More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation
Paul
[1] https://qa.debian.org/excuses.php?package=dulwich
https://ci.debian.net/data/autopkgtest/testing/amd64/h/hg-git/65029349/log.gz
77s Initialized empty Git repository in
/tmp/autopkgtest-lxc.eanb6b1v/downtmp/build.0iC/src/git_server/
77s Cloning into 'git_clone'...
77s warning: You appear to have cloned an empty repository.
77s done.
77s [master (root-commit) 80f9d0b] a
77s 1 file changed, 1 insertion(+)
77s create mode 100644 a
77s To /tmp/autopkgtest-lxc.eanb6b1v/downtmp/build.0iC/src/git_server
77s * [new branch] master -> master
77s importing 1 git commits
77s ** Unknown exception encountered with possibly-broken third-party
extension "hggit" 1.2.0 (dulwich 0.24.2)
77s ** which supports versions 6.9 of Mercurial.
77s ** Please disable "hggit" and try your action again.
77s ** If that fixes the bug please report it to
https://foss.heptapod.net/mercurial/hg-git/issues
77s ** Python 3.13.7 (main, Aug 20 2025, 22:17:40) [GCC 14.3.0]
77s ** Mercurial Distributed SCM (version 7.1)
77s ** Extensions loaded: hggit 1.2.0 (dulwich 0.24.2)
77s Traceback (most recent call last):
77s File "/usr/bin/hg", line 51, in <module>
77s dispatch.run()
77s ~~~~~~~~~~~~^^
77s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py",
line 144, in run
77s status = dispatch(req)
77s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py",
line 233, in dispatch
77s status = _rundispatch(req)
77s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py",
line 278, in _rundispatch
77s ret = _runcatch(req) or 0
77s ~~~~~~~~~^^^^^
77s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py",
line 468, in _runcatch
77s return _callcatch(ui, _runcatchfunc)
77s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py",
line 478, in _callcatch
77s return scmutil.callcatch(ui, func)
77s ~~~~~~~~~~~~~~~~~^^^^^^^^^^
77s File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line
182, in callcatch
77s return func()
77s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py",
line 458, in _runcatchfunc
77s return _dispatch(req)
77s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py",
line 1106, in _dispatch
77s return _dispatch_post_cwd(req)
77s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py",
line 1362, in _dispatch_post_cwd
77s return runcommand(
77s lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
77s )
77s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py",
line 975, in runcommand
77s ret = _runcommand(ui, options, cmd, d)
77s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py",
line 1374, in _runcommand
77s return cmdfunc()
77s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py",
line 1360, in <lambda>
77s d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
77s ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
77s File "/usr/lib/python3/dist-packages/mercurial/util.py", line
1979, in check
77s return func(*args, **kwargs)
77s File "/usr/lib/python3/dist-packages/mercurial/commands.py",
line 2046, in clone
77s r = hg.clone(
77s ui,
77s ...<11 lines>...
77s depth=opts.get('depth') or None,
77s )
77s File "/usr/lib/python3/dist-packages/hggit/schemes.py", line
116, in clone
77s srcpeer, destpeer = orig(*args, **opts)
77s ~~~~^^^^^^^^^^^^^^^
77s File "/usr/lib/python3/dist-packages/mercurial/hg.py", line
1018, in clone
77s exchange.pull(
77s ~~~~~~~~~~~~~^
77s local,
77s ^^^^^^
77s ...<5 lines>...
77s depth=depth,
77s ^^^^^^^^^^^^
77s )
77s ^
77s File "/usr/lib/python3/dist-packages/hggit/util.py", line 98, in
inner
77s return f(*args, **kwargs)
77s File "/usr/lib/python3/dist-packages/hggit/gitrepo.py", line
195, in exchangepull
77s pullop.cgresult = repo.githandler.fetch(remote, heads)
77s ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
77s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line
397, in fetch
77s imported = self.import_git_objects(
77s b'pull',
77s ...<2 lines>...
77s heads=heads,
77s )
77s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line
1085, in import_git_objects
77s self.import_git_commit(
77s ~~~~~~~~~~~~~~~~~~~~~~^
77s command,
77s ^^^^^^^^
77s self.git[commit.sha],
77s ^^^^^^^^^^^^^^^^^^^^^
77s commit.phase,
77s ^^^^^^^^^^^^^
77s )
77s ^
77s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line
1145, in import_git_commit
77s files, gitlinks, git_renames = self.get_files_changed(
77s ~~~~~~~~~~~~~~~~~~~~~~^
77s commit, detect_renames
77s ^^^^^^^^^^^^^^^^^^^^^^
77s )
77s ^
77s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line
2130, in get_files_changed
77s oldfile, oldmode, oldsha = change.old
77s ^^^^^^^^^^^^^^^^^^^^^^^^
77s TypeError: cannot unpack non-iterable NoneType object
78s autopkgtest [21:51:32]: test mercurial-git
OpenPGP_signature.asc
Description: OpenPGP digital signature
--- End Message ---