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

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to