--- Begin Message ---
Package: src:hg-git
Version: 1.2.0-1
Severity: serious
Tags: ftbfs forky sid
Dear maintainer:
During a rebuild of all packages in unstable, this package failed to build.
Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:
https://people.debian.org/~sanvila/build-logs/202510/
About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.
If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:hg-git, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --buildsystem=pybuild
dh_auto_clean -O--buildsystem=pybuild
I: pybuild base:311: python3.13 setup.py clean
running clean
removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build' (and everything under
it)
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-3.13' does not exist -- can't clean it
dh_autoreconf_clean -O--buildsystem=pybuild
dh_clean -O--buildsystem=pybuild
debian/rules binary
dh binary --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
dh_auto_configure -O--buildsystem=pybuild
[... snipped ...]
+ _process_batch(self.ui, self.object_store, todo)
+ ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/<<PKGBUILDDIR>>/hggit/gc.py", line 59, in _process_batch
+ object_store._remove_loose_object(obj.id)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ AttributeError: 'DiskObjectStore' object has no attribute
'_remove_loose_object'. Did you mean: '_get_loose_object'?
+ [1]
$ cd ..
We should also ignore the file in a shared repository:
ERROR: test-gitignore-share.t output changed
!
--- /<<PKGBUILDDIR>>/tests/test-ambiguousprefix.t
+++ /<<PKGBUILDDIR>>/tests/test-ambiguousprefix.t.err
@@ -22,12 +22,103 @@
$ hg clone gitrepo hgrepo
importing 3 git commits
- new changesets ff7a2f2d8d70:8e3f0ecc9aef (3 drafts)
- updating to bookmark master
- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ ** Unknown exception encountered with possibly-broken third-party extension
"hggit" 1.2.0 (dulwich 0.24.2)
+ ** which supports versions 6.9 of Mercurial.
+ ** Please disable "hggit" and try your action again.
+ ** If that fixes the bug please report it to
https://foss.heptapod.net/mercurial/hg-git/issues
+ ** Python 3.13.7 (main, Aug 20 2025, 22:17:40) [GCC 14.3.0]
+ ** Mercurial Distributed SCM (version 7.1)
+ ** Extensions loaded: hggit 1.2.0 (dulwich 0.24.2)
+ Traceback (most recent call last):
+ File "/usr/bin/hg", line 51, in <module>
+ dispatch.run()
+ ~~~~~~~~~~~~^^
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in
run
+ status = dispatch(req)
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in
dispatch
+ status = _rundispatch(req)
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 278, in
_rundispatch
+ ret = _runcatch(req) or 0
+ ~~~~~~~~~^^^^^
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 468, in
_runcatch
+ return _callcatch(ui, _runcatchfunc)
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 478, in
_callcatch
+ return scmutil.callcatch(ui, func)
+ ~~~~~~~~~~~~~~~~~^^^^^^^^^^
+ File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 182, in
callcatch
+ return func()
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 458, in
_runcatchfunc
+ return _dispatch(req)
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1106, in
_dispatch
+ return _dispatch_post_cwd(req)
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1362, in
_dispatch_post_cwd
+ return runcommand(
+ lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+ )
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 975, in
runcommand
+ ret = _runcommand(ui, options, cmd, d)
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1374, in
_runcommand
+ return cmdfunc()
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1360, in
<lambda>
+ d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1979, in
check
+ return func(*args, **kwargs)
+ File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in
clone
+ r = hg.clone(
+ ui,
+ ...<11 lines>...
+ depth=opts.get('depth') or None,
+ )
+ File "/<<PKGBUILDDIR>>/hggit/schemes.py", line 116, in clone
+ srcpeer, destpeer = orig(*args, **opts)
+ ~~~~^^^^^^^^^^^^^^^
+ File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1018, in clone
+ exchange.pull(
+ ~~~~~~~~~~~~~^
+ local,
+ ^^^^^^
+ ...<5 lines>...
+ depth=depth,
+ ^^^^^^^^^^^^
+ )
+ ^
+ File "/<<PKGBUILDDIR>>/hggit/util.py", line 98, in inner
+ return f(*args, **kwargs)
+ File "/<<PKGBUILDDIR>>/hggit/gitrepo.py", line 195, in exchangepull
+ pullop.cgresult = repo.githandler.fetch(remote, heads)
+ ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
+ File "/<<PKGBUILDDIR>>/hggit/git_handler.py", line 397, in fetch
+ imported = self.import_git_objects(
+ b'pull',
+ ...<2 lines>...
+ heads=heads,
+ )
+ File "/<<PKGBUILDDIR>>/hggit/git_handler.py", line 1085, in
import_git_objects
+ self.import_git_commit(
+ ~~~~~~~~~~~~~~~~~~~~~~^
+ command,
+ ^^^^^^^^
+ self.git[commit.sha],
+ ^^^^^^^^^^^^^^^^^^^^^
+ commit.phase,
+ ^^^^^^^^^^^^^
+ )
+ ^
+ File "/<<PKGBUILDDIR>>/hggit/git_handler.py", line 1145, in
import_git_commit
+ files, gitlinks, git_renames = self.get_files_changed(
+ ~~~~~~~~~~~~~~~~~~~~~~^
+ commit, detect_renames
+ ^^^^^^^^^^^^^^^^^^^^^^
+ )
+ ^
+ File "/<<PKGBUILDDIR>>/hggit/git_handler.py", line 2130, in
get_files_changed
+ oldfile, oldmode, oldsha = change.old
+ ^^^^^^^^^^^^^^^^^^^^^^^^
+ TypeError: cannot unpack non-iterable NoneType object
+ [1]
$ cd hgrepo
+ $TESTTMP.sh: 30: cd: can't cd to hgrepo
$ hg log -r 'gitnode(7e)'
- abort: git-mapfile@7e: ambiguous identifier!? (re)
- [50]
ERROR: test-ambiguousprefix.t output changed
!
--- /<<PKGBUILDDIR>>/tests/test-timezone.t
+++ /<<PKGBUILDDIR>>/tests/test-timezone.t.err
@@ -30,3 +30,62 @@
$ hg import patch2
applying patch2
$ hg gexport
+ ** Unknown exception encountered with possibly-broken third-party extension
"hggit" 1.2.0 (dulwich 0.24.2)
+ ** which supports versions 6.9 of Mercurial.
+ ** Please disable "hggit" and try your action again.
+ ** If that fixes the bug please report it to
https://foss.heptapod.net/mercurial/hg-git/issues
+ ** Python 3.13.7 (main, Aug 20 2025, 22:17:40) [GCC 14.3.0]
+ ** Mercurial Distributed SCM (version 7.1)
+ ** Extensions loaded: hggit 1.2.0 (dulwich 0.24.2)
+ Traceback (most recent call last):
+ File "/usr/bin/hg", line 51, in <module>
+ dispatch.run()
+ ~~~~~~~~~~~~^^
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in
run
+ status = dispatch(req)
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in
dispatch
+ status = _rundispatch(req)
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 278, in
_rundispatch
+ ret = _runcatch(req) or 0
+ ~~~~~~~~~^^^^^
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 468, in
_runcatch
+ return _callcatch(ui, _runcatchfunc)
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 478, in
_callcatch
+ return scmutil.callcatch(ui, func)
+ ~~~~~~~~~~~~~~~~~^^^^^^^^^^
+ File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 182, in
callcatch
+ return func()
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 458, in
_runcatchfunc
+ return _dispatch(req)
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1106, in
_dispatch
+ return _dispatch_post_cwd(req)
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1362, in
_dispatch_post_cwd
+ return runcommand(
+ lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+ )
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 975, in
runcommand
+ ret = _runcommand(ui, options, cmd, d)
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1374, in
_runcommand
+ return cmdfunc()
+ File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1360, in
<lambda>
+ d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1979, in
check
+ return func(*args, **kwargs)
+ File "/<<PKGBUILDDIR>>/hggit/commands.py", line 64, in gexport
+ repo.githandler.export_commits()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
+ File "/<<PKGBUILDDIR>>/hggit/git_handler.py", line 465, in export_commits
+ self.export_git_objects()
+ ~~~~~~~~~~~~~~~~~~~~~~~^^
+ File "/<<PKGBUILDDIR>>/hggit/git_handler.py", line 715, in
export_git_objects
+ packer.pack(synchronous=True)
+ ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
+ File "/<<PKGBUILDDIR>>/hggit/gc.py", line 121, in pack
+ _process_batch(self.ui, self.object_store, todo)
+ ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/<<PKGBUILDDIR>>/hggit/gc.py", line 59, in _process_batch
+ object_store._remove_loose_object(obj.id)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ AttributeError: 'DiskObjectStore' object has no attribute
'_remove_loose_object'. Did you mean: '_get_loose_object'?
+ [1]
ERROR: test-timezone.t output changed
!.s...
Skipped test-check-black.t: missing feature: the black formatter for python (>=
22.3)
Skipped test-check-commit.t: missing feature: running tests from repository
Skipped test-check-pyflakes.t: missing feature: Pyflakes python linter
Skipped test-check-pylint.t: missing feature: Pylint python linter
Skipped test-encoding.t: blacklisted
Skipped test-git-gpg.t: missing feature: gpg client
Skipped test-gitignore-windows.t: missing feature: Windows
Skipped test-incoming.t: blacklisted
Skipped test-serve-ci.t: skipped
Skipped test-serve-dulwich.t: blacklisted
Failed test-ambiguousprefix.t: output changed and returned error code 1
Failed test-annotate.t: output changed
Failed test-bookmark-workflow.t: output changed and returned error code 1
Failed test-branch-bookmark-suffix.t#with-path: output changed and returned
error code 1
Failed test-branch-bookmark-suffix.t#without-path: output changed and returned
error code 1
Failed test-bundle.t: output changed and returned error code 1
Failed test-clone.t#draft: output changed
Failed test-clone.t#secret: output changed
Failed test-conflict-1.t: output changed
Failed test-conflict-2.t: output changed
Failed test-convergedmerge.t: output changed
Failed test-empty-working-tree.t: output changed
Failed test-extra.t: output changed and returned error code 1
Failed test-file-removal.t: output changed and returned error code 1
Failed test-gc.t: output changed and returned error code 1
Failed test-git-clone.t: output changed
Failed test-git-submodules.t: output changed and returned error code 1
Failed test-git-tags.t#draft: output changed and returned error code 1
Failed test-git-tags.t#secret: output changed and returned error code 1
Failed test-git-workflow.t: output changed
Failed test-gitignore-permissions.t: output changed
Failed test-gitignore-share.t: output changed
Failed test-gitignore.t: output changed
Failed test-hg-author.t: output changed and returned error code 1
Failed test-hg-branch.t: output changed and returned error code 1
Failed test-hg-clone.t: output changed and returned error code 1
Failed test-hg-tags.t: output changed and returned error code 1
Failed test-hook.t: output changed
Failed test-illegal-contents.t: output changed
Failed test-invalid-refs.t: output changed and returned error code 1
Failed test-keywords.t: output changed and returned error code 1
Failed test-merge.t: output changed and returned error code 1
Failed test-multiple-remotes.t: output changed
Failed test-octopus.t: output changed and returned error code 1
Failed test-orphan-tags.t: output changed and returned error code 1
Failed test-outgoing.t: output changed and returned error code 1
Failed test-phases-draft.t: output changed and returned error code 1
Failed test-phases-public.t#publish-defaults: output changed and returned error
code 1
Failed test-phases-public.t#publish-specific: output changed and returned error
code 1
Failed test-phases-remote.t: output changed and returned error code 1
Failed test-pull-after-obsolete.t: output changed and returned error code 1
Failed test-pull-after-rebase.t: output changed and returned error code 1
Failed test-pull-after-strip.t: output changed and returned error code 1
Failed test-pull.t#draft: output changed
Failed test-pull.t#secret: output changed
Failed test-push-anonymous.t: output changed and returned error code 1
Failed test-push-authors.t: output changed
Failed test-push-detached.t: output changed and returned error code 1
Failed test-push-missing-commit.t: output changed and returned error code 1
Failed test-push-phases.t: output changed
Failed test-push-to-head.t: output changed and returned error code 1
Failed test-push.t: output changed and returned error code 1
Failed test-renames.t: output changed and returned error code 1
Failed test-serve-git.t: output changed
Failed test-serve-hg.t#with-hggit: output changed and returned error code 1
Failed test-serve-hg.t#without-hggit: output changed and returned error code 1
Failed test-subrepos-delete.t: output changed and returned error code 1
Failed test-subrepos-drop.t: output changed
Failed test-subrepos-push.t: output changed
Failed test-subrepos-syntax.t: output changed and returned error code 1
Failed test-subrepos.t: output changed and returned error code 1
Failed test-timezone.t: output changed
Failed test-transactions.t: output changed
Failed test-tree-decomposition.t: output changed and returned error code 1
Failed test-verify-fail.t: output changed
# Ran 72 tests, 10 skipped, 65 failed.
python hash seed: 820348208
make[2]: *** [Makefile:15: tests] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [debian/rules:10: override_dh_auto_test] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:7: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
--- End Message ---