0s autopkgtest [16:34:30]: starting date and time: 2025-11-17 16:34:30+0000 0s autopkgtest [16:34:30]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [16:34:30]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.t_sswhwj/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:dulwich --apt-upgrade hg-git --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=dulwich/0.24.10-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-arm64-7.secgroup --name adt-resolute-arm64-hg-git-20251117-162836-juju-7f2275-prod-proposed-migration-environment-20-3ba78750-6a25-4d77-a12a-0b1d954eef3c --image adt/ubuntu-resolute-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-arm64-hg-git-20251117-162836-juju-7f2275-prod-proposed-migration-environment-20-3ba78750-6a25-4d77-a12a-0b1d954eef3c from image adt/ubuntu-resolute-arm64-server-20251117.img (UUID 1cd33fbb-18df-4c5a-b8f0-2dcb25269485)... 61s autopkgtest [16:35:31]: testbed dpkg architecture: arm64 61s autopkgtest [16:35:31]: testbed apt version: 3.1.11 62s autopkgtest [16:35:32]: @@@@@@@@@@@@@@@@@@@@ test bed setup 62s autopkgtest [16:35:32]: testbed release detected to be: None 63s autopkgtest [16:35:33]: updating testbed package index (apt update) 63s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 63s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 63s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 64s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 64s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [22.9 kB] 64s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [9848 B] 64s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [839 kB] 64s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [81.5 kB] 64s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [149 kB] 64s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [3084 B] 64s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 Packages [107 kB] 64s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [324 B] 64s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [557 kB] 64s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [17.3 kB] 64s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [12.5 kB] 64s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [576 B] 65s Fetched 1888 kB in 1s (1620 kB/s) 66s Reading package lists... 67s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 67s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 67s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 67s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 68s Reading package lists... 68s Reading package lists... 68s Building dependency tree... 68s Reading state information... 69s Calculating upgrade... 69s The following packages will be upgraded: 69s usbutils 69s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 69s Need to get 81.7 kB of archives. 69s After this operation, 0 B of additional disk space will be used. 69s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 usbutils arm64 1:019-1 [81.7 kB] 70s dpkg-preconfigure: unable to re-open stdin: No such file or directory 70s Fetched 81.7 kB in 0s (263 kB/s) 70s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 88137 files and directories currently installed.) 70s Preparing to unpack .../usbutils_1%3a019-1_arm64.deb ... 70s Unpacking usbutils (1:019-1) over (1:018-2) ... 70s Setting up usbutils (1:019-1) ... 70s Processing triggers for man-db (2.13.1-1) ... 72s autopkgtest [16:35:42]: upgrading testbed (apt dist-upgrade and autopurge) 72s Reading package lists... 72s Building dependency tree... 72s Reading state information... 73s Calculating upgrade... 73s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 73s Reading package lists... 73s Building dependency tree... 73s Reading state information... 74s Solving dependencies... 74s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 77s autopkgtest [16:35:47]: testbed running kernel: Linux 6.17.0-5-generic #5-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 09:50:31 UTC 2025 77s autopkgtest [16:35:47]: @@@@@@@@@@@@@@@@@@@@ apt-source hg-git 79s Get:1 http://ftpmaster.internal/ubuntu resolute/universe hg-git 1.2.0-1 (dsc) [2142 B] 79s Get:2 http://ftpmaster.internal/ubuntu resolute/universe hg-git 1.2.0-1 (tar) [222 kB] 79s Get:3 http://ftpmaster.internal/ubuntu resolute/universe hg-git 1.2.0-1 (diff) [6816 B] 79s gpgv: Signature made Sun Feb 16 14:22:41 2025 UTC 79s gpgv: using RSA key 8F6DE104377F3B11E741748731F3144544A1741A 79s gpgv: issuer "tchet@debian.org" 79s gpgv: Can't check signature: No public key 79s dpkg-source: warning: cannot verify inline signature for ./hg-git_1.2.0-1.dsc: no acceptable signature found 79s autopkgtest [16:35:49]: testing package hg-git version 1.2.0-1 79s autopkgtest [16:35:49]: build not needed 80s autopkgtest [16:35:50]: test testsuite: preparing testbed 80s Reading package lists... 80s Building dependency tree... 80s Reading state information... 80s Solving dependencies... 81s The following NEW packages will be installed: 81s git git-man liberror-perl mercurial mercurial-common mercurial-git 81s python3-dulwich unzip 81s 0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded. 81s Need to get 9431 kB of archives. 81s After this operation, 48.7 MB of additional disk space will be used. 81s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 liberror-perl all 0.17030-1 [23.5 kB] 81s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 git-man all 1:2.51.0-1ubuntu1 [1179 kB] 82s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 git arm64 1:2.51.0-1ubuntu1 [4431 kB] 82s Get:4 http://ftpmaster.internal/ubuntu resolute/universe arm64 mercurial-common all 7.0.1-2 [2783 kB] 82s Get:5 http://ftpmaster.internal/ubuntu resolute/universe arm64 mercurial arm64 7.0.1-2 [393 kB] 82s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 python3-dulwich arm64 0.24.10-1 [383 kB] 82s Get:7 http://ftpmaster.internal/ubuntu resolute/universe arm64 mercurial-git all 1.2.0-1 [60.9 kB] 82s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 unzip arm64 6.0-28ubuntu7 [176 kB] 83s Fetched 9431 kB in 1s (7244 kB/s) 83s Selecting previously unselected package liberror-perl. 83s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 88137 files and directories currently installed.) 83s Preparing to unpack .../0-liberror-perl_0.17030-1_all.deb ... 83s Unpacking liberror-perl (0.17030-1) ... 83s Selecting previously unselected package git-man. 83s Preparing to unpack .../1-git-man_1%3a2.51.0-1ubuntu1_all.deb ... 83s Unpacking git-man (1:2.51.0-1ubuntu1) ... 83s Selecting previously unselected package git. 83s Preparing to unpack .../2-git_1%3a2.51.0-1ubuntu1_arm64.deb ... 83s Unpacking git (1:2.51.0-1ubuntu1) ... 83s Selecting previously unselected package mercurial-common. 83s Preparing to unpack .../3-mercurial-common_7.0.1-2_all.deb ... 83s Unpacking mercurial-common (7.0.1-2) ... 83s Selecting previously unselected package mercurial. 83s Preparing to unpack .../4-mercurial_7.0.1-2_arm64.deb ... 83s Unpacking mercurial (7.0.1-2) ... 83s Selecting previously unselected package python3-dulwich. 83s Preparing to unpack .../5-python3-dulwich_0.24.10-1_arm64.deb ... 83s Unpacking python3-dulwich (0.24.10-1) ... 83s Selecting previously unselected package mercurial-git. 83s Preparing to unpack .../6-mercurial-git_1.2.0-1_all.deb ... 83s Unpacking mercurial-git (1.2.0-1) ... 83s Selecting previously unselected package unzip. 83s Preparing to unpack .../7-unzip_6.0-28ubuntu7_arm64.deb ... 83s Unpacking unzip (6.0-28ubuntu7) ... 83s Setting up mercurial-common (7.0.1-2) ... 85s Setting up unzip (6.0-28ubuntu7) ... 85s Setting up liberror-perl (0.17030-1) ... 85s Setting up python3-dulwich (0.24.10-1) ... 86s Setting up git-man (1:2.51.0-1ubuntu1) ... 86s Setting up mercurial (7.0.1-2) ... 86s Creating config file /etc/mercurial/hgrc.d/hgext.rc with new version 86s Setting up mercurial-git (1.2.0-1) ... 86s mercurial-git extension is disabled by default. 86s You can follow the instructions in /usr/share/doc/mercurial-git/README.Debian to enable it. 86s Setting up git (1:2.51.0-1ubuntu1) ... 86s Processing triggers for man-db (2.13.1-1) ... 88s autopkgtest [16:35:58]: test testsuite: [----------------------- 88s no username found, using 'ubuntu@autopkgtest.local' instead 88s cd tests && /usr/bin/python3 run-tests.py --with-hg=/usr/bin/hg --blacklist=/tmp/autopkgtest.xNnmEa/build.DIT/src/debian/hg-git.test_blacklist 88s running 82 tests using 2 parallel processes 105s ssssss 105s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-pull.t 105s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-pull.t#draft.err 105s @@ -39,17 +39,92 @@ 105s $ hg pull ../gitrepo 105s pulling from ../gitrepo 105s importing 3 git commits 105s - adding bookmark beta 105s - adding bookmark delta 105s - adding bookmark master 105s - new changesets ff7a2f2d8d70:678ebee93e38 (3 drafts) 105s - (run 'hg heads' to see heads, 'hg merge' to merge) 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ git --git-dir .hg/git for-each-ref 105s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/t_alpha 105s $ hg log -Tp 105s - 2|draft|delta|tip 105s - 1|draft|beta| 105s - 0|draft|master|t_alpha 105s $ cd .. 105s $ rm -rf hgrepo 105s 105s @@ -61,20 +136,92 @@ 105s $ hg pull ../gitrepo 105s pulling from ../gitrepo 105s importing 3 git commits 105s - adding bookmark beta 105s - adding bookmark delta 105s - adding bookmark master 105s - new changesets ff7a2f2d8d70:678ebee93e38 (3 drafts) 105s - (run 'hg heads' to see heads, 'hg merge' to merge) 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ git --git-dir .hg/git for-each-ref 105s - 9497a4ee62e16ee641860d7677cdb2589ea15554 commit refs/remotes/default/beta 105s - 8cbeb817785fe2676ab0eda570534702b6b6f9cf commit refs/remotes/default/delta 105s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 105s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/t_alpha 105s $ hg log -Tp 105s - 2|draft|delta|default/delta tip 105s - 1|draft|beta|default/beta 105s - 0|draft|master|default/master t_alpha 105s $ cd .. 105s $ rm -rf hgrepo 105s 105s @@ -86,20 +233,92 @@ 105s $ hg pull 105s pulling from $TESTTMP/gitrepo 105s importing 3 git commits 105s - adding bookmark beta 105s - adding bookmark delta 105s - adding bookmark master 105s - new changesets ff7a2f2d8d70:678ebee93e38 (3 drafts) 105s - (run 'hg heads' to see heads, 'hg merge' to merge) 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ git --git-dir .hg/git for-each-ref 105s - 9497a4ee62e16ee641860d7677cdb2589ea15554 commit refs/remotes/default/beta 105s - 8cbeb817785fe2676ab0eda570534702b6b6f9cf commit refs/remotes/default/delta 105s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 105s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/t_alpha 105s $ hg log -Tp 105s - 2|draft|delta|default/delta tip 105s - 1|draft|beta|default/beta 105s - 0|draft|master|default/master t_alpha 105s $ cd .. 105s $ rm -rf hgrepo 105s 105s @@ -110,18 +329,183 @@ 105s $ hg -R hgrepo pull -r t_alpha 105s pulling from $TESTTMP/gitrepo 105s importing 1 git commits 105s - adding bookmark master 105s - new changesets ff7a2f2d8d70 (1 drafts) 105s - (run 'hg update' to get a working copy) 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo update t_alpha 105s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 105s + abort: unknown revision 't_alpha' 105s + [10] 105s $ hg log -Tp -R hgrepo 105s - 0|draft|master|default/master t_alpha tip 105s 105s no-op pull 105s $ hg -R hgrepo pull -r t_alpha 105s pulling from $TESTTMP/gitrepo 105s - no changes found 105s + importing 1 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s 105s no-op pull with added bookmark 105s $ cd gitrepo 105s @@ -129,8 +513,91 @@ 105s $ cd .. 105s $ hg -R hgrepo pull -r epsilon 105s pulling from $TESTTMP/gitrepo 105s - no changes found 105s - adding bookmark epsilon 105s + importing 1 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s 105s pull something that doesn't exist 105s $ hg -R hgrepo pull -r kaflaflibob 105s @@ -149,39 +616,187 @@ 105s pull a branch 105s $ hg -R hgrepo pull -r beta 105s pulling from $TESTTMP/gitrepo 105s - importing 1 git commits 105s - adding bookmark beta 105s - new changesets 7fe02317c63d (1 drafts) 105s - (run 'hg update' to get a working copy) 105s + importing 2 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo log --graph --template=phases 105s - o changeset: 1:7fe02317c63d 105s - | bookmark: beta 105s - | tag: default/beta 105s - | tag: tip 105s - | phase: draft 105s - | user: test 105s - | date: Mon Jan 01 00:00:11 2007 +0000 105s - | summary: add beta 105s - | 105s - @ changeset: 0:ff7a2f2d8d70 105s - bookmark: epsilon 105s - bookmark: master 105s - tag: default/epsilon 105s - tag: default/master 105s - tag: t_alpha 105s - phase: draft 105s - user: test 105s - date: Mon Jan 01 00:00:10 2007 +0000 105s - summary: add alpha 105s - 105s 105s no-op pull should affect phases 105s $ hg -R hgrepo phase -fs beta 105s + abort: unknown revision 'beta' 105s + [10] 105s $ hg -R hgrepo pull -r beta 105s pulling from $TESTTMP/gitrepo 105s - no changes found 105s + importing 2 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo phase beta 105s - 1: draft 105s + abort: unknown revision 'beta' 105s + [10] 105s 105s 105s add another commit and tag to the git repo 105s @@ -197,49 +812,92 @@ 105s pull everything else 105s $ hg -R hgrepo pull 105s pulling from $TESTTMP/gitrepo 105s - importing 2 git commits 105s - adding bookmark delta 105s - updating bookmark master 105s - new changesets 678ebee93e38:6f898ad1f3e1 (2 drafts) 105s - (run 'hg heads' to see heads, 'hg merge' to merge) 105s + importing 4 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo log --graph --template=phases 105s - o changeset: 3:6f898ad1f3e1 105s - | bookmark: master 105s - | tag: default/master 105s - | tag: tip 105s - | phase: draft 105s - | parent: 0:ff7a2f2d8d70 105s - | user: test 105s - | date: Mon Jan 01 00:00:13 2007 +0000 105s - | summary: add gamma 105s - | 105s - | o changeset: 2:678ebee93e38 105s - |/ bookmark: delta 105s - | tag: default/delta 105s - | phase: draft 105s - | parent: 0:ff7a2f2d8d70 105s - | user: test 105s - | date: Mon Jan 01 00:00:12 2007 +0000 105s - | summary: add delta 105s - | 105s - | o changeset: 1:7fe02317c63d 105s - |/ bookmark: beta 105s - | tag: default/beta 105s - | tag: t_beta 105s - | phase: draft 105s - | user: test 105s - | date: Mon Jan 01 00:00:11 2007 +0000 105s - | summary: add beta 105s - | 105s - @ changeset: 0:ff7a2f2d8d70 105s - bookmark: epsilon 105s - tag: default/epsilon 105s - tag: t_alpha 105s - phase: draft 105s - user: test 105s - date: Mon Jan 01 00:00:10 2007 +0000 105s - summary: add alpha 105s - 105s add a merge to the git repo, and delete the branch 105s $ cd gitrepo 105s $ git merge -q -m "Merge branch 'beta'" beta 105s @@ -252,60 +910,186 @@ 105s 105s pull the merge 105s $ hg -R hgrepo tags | grep default/beta 105s - default/beta 1:7fe02317c63d 105s + [1] 105s $ hg -R hgrepo pull --config git.pull-prune-remote-branches=false 105s pulling from $TESTTMP/gitrepo 105s - importing 1 git commits 105s - updating bookmark master 105s - deleting bookmark beta 105s - new changesets a02330f767a4 (1 drafts) 105s - (run 'hg update' to get a working copy) 105s + importing 5 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo tags | grep default/beta 105s - default/beta 1:7fe02317c63d 105s + [1] 105s $ hg -R hgrepo pull 105s pulling from $TESTTMP/gitrepo 105s - no changes found 105s + importing 5 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo tags | grep default/beta 105s [1] 105s $ hg -R hgrepo log --graph 105s - o changeset: 4:a02330f767a4 105s - |\ bookmark: master 105s - | | tag: default/master 105s - | | tag: tip 105s - | | parent: 3:6f898ad1f3e1 105s - | | parent: 1:7fe02317c63d 105s - | | user: test 105s - | | date: Mon Jan 01 00:00:13 2007 +0000 105s - | | summary: Merge branch 'beta' 105s - | | 105s - | o changeset: 3:6f898ad1f3e1 105s - | | parent: 0:ff7a2f2d8d70 105s - | | user: test 105s - | | date: Mon Jan 01 00:00:13 2007 +0000 105s - | | summary: add gamma 105s - | | 105s - | | o changeset: 2:678ebee93e38 105s - | |/ bookmark: delta 105s - | | tag: default/delta 105s - | | parent: 0:ff7a2f2d8d70 105s - | | user: test 105s - | | date: Mon Jan 01 00:00:12 2007 +0000 105s - | | summary: add delta 105s - | | 105s - o | changeset: 1:7fe02317c63d 105s - |/ tag: t_beta 105s - | user: test 105s - | date: Mon Jan 01 00:00:11 2007 +0000 105s - | summary: add beta 105s - | 105s - @ changeset: 0:ff7a2f2d8d70 105s - bookmark: epsilon 105s - tag: default/epsilon 105s - tag: t_alpha 105s - user: test 105s - date: Mon Jan 01 00:00:10 2007 +0000 105s - summary: add alpha 105s - 105s pull with wildcards 105s $ cd gitrepo 105s $ git checkout -qb releases/v1 master 105s @@ -325,65 +1109,92 @@ 105s $ cd .. 105s $ hg -R hgrepo pull -r 'releases/*' 105s pulling from $TESTTMP/gitrepo 105s - importing 2 git commits 105s - adding bookmark releases/v1 105s - adding bookmark releases/v2 105s - new changesets 218b2d0660d3:a3f95e150b0a (2 drafts) 105s - (run 'hg heads .' to see heads, 'hg merge' to merge) 105s + importing 6 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo log --graph 105s - o changeset: 6:a3f95e150b0a 105s - | bookmark: releases/v2 105s - | tag: default/releases/v2 105s - | tag: tip 105s - | parent: 4:a02330f767a4 105s - | user: test 105s - | date: Mon Jan 01 00:00:15 2007 +0000 105s - | summary: add eta 105s - | 105s - | o changeset: 5:218b2d0660d3 105s - |/ bookmark: releases/v1 105s - | tag: default/releases/v1 105s - | user: test 105s - | date: Mon Jan 01 00:00:14 2007 +0000 105s - | summary: add zeta 105s - | 105s - o changeset: 4:a02330f767a4 105s - |\ bookmark: master 105s - | | tag: default/master 105s - | | parent: 3:6f898ad1f3e1 105s - | | parent: 1:7fe02317c63d 105s - | | user: test 105s - | | date: Mon Jan 01 00:00:13 2007 +0000 105s - | | summary: Merge branch 'beta' 105s - | | 105s - | o changeset: 3:6f898ad1f3e1 105s - | | parent: 0:ff7a2f2d8d70 105s - | | user: test 105s - | | date: Mon Jan 01 00:00:13 2007 +0000 105s - | | summary: add gamma 105s - | | 105s - | | o changeset: 2:678ebee93e38 105s - | |/ bookmark: delta 105s - | | tag: default/delta 105s - | | parent: 0:ff7a2f2d8d70 105s - | | user: test 105s - | | date: Mon Jan 01 00:00:12 2007 +0000 105s - | | summary: add delta 105s - | | 105s - o | changeset: 1:7fe02317c63d 105s - |/ tag: t_beta 105s - | user: test 105s - | date: Mon Jan 01 00:00:11 2007 +0000 105s - | summary: add beta 105s - | 105s - @ changeset: 0:ff7a2f2d8d70 105s - bookmark: epsilon 105s - tag: default/epsilon 105s - tag: t_alpha 105s - user: test 105s - date: Mon Jan 01 00:00:10 2007 +0000 105s - summary: add alpha 105s - 105s 105s add old and new commits to the git repo -- make sure we're using the commit date 105s and not the author date 105s @@ -418,15 +1229,8 @@ 105s pulling from $TESTTMP/gitrepo 105s no changes found 105s $ hg -R hgrepo log -r master 105s - changeset: 4:a02330f767a4 105s - bookmark: master 105s - tag: default/master 105s - parent: 3:6f898ad1f3e1 105s - parent: 1:7fe02317c63d 105s - user: test 105s - date: Mon Jan 01 00:00:13 2007 +0000 105s - summary: Merge branch 'beta' 105s - 105s + abort: unknown revision 'master' 105s + [10] 105s 105s $ cd gitrepo 105s $ git checkout -q master 105s @@ -441,50 +1245,93 @@ 105s $ cd .. 105s $ hg -R hgrepo pull 105s pulling from $TESTTMP/gitrepo 105s - importing 3 git commits 105s - updating bookmark master 105s - new changesets 49713da8f665:e103a73f33be (3 drafts) 105s - (run 'hg heads .' to see heads, 'hg merge' to merge) 105s + importing 7 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo heads 105s - changeset: 9:e103a73f33be 105s - bookmark: master 105s - tag: default/master 105s - tag: tip 105s - user: test 105s - date: Wed Jan 01 00:00:00 2014 +0000 105s - summary: newcommit 105s - 105s - changeset: 7:49713da8f665 105s - tag: newtag 105s - tag: oldtag 105s - parent: 4:a02330f767a4 105s - user: test 105s - date: Sat Mar 01 00:00:00 2014 +0000 105s - summary: oldtag 105s - 105s - changeset: 6:a3f95e150b0a 105s - bookmark: releases/v2 105s - tag: default/releases/v2 105s - parent: 4:a02330f767a4 105s - user: test 105s - date: Mon Jan 01 00:00:15 2007 +0000 105s - summary: add eta 105s - 105s - changeset: 5:218b2d0660d3 105s - bookmark: releases/v1 105s - tag: default/releases/v1 105s - user: test 105s - date: Mon Jan 01 00:00:14 2007 +0000 105s - summary: add zeta 105s - 105s - changeset: 2:678ebee93e38 105s - bookmark: delta 105s - tag: default/delta 105s - parent: 0:ff7a2f2d8d70 105s - user: test 105s - date: Mon Jan 01 00:00:12 2007 +0000 105s - summary: add delta 105s - 105s + [1] 105s 105s test for ssh vulnerability 105s 105s @@ -502,10 +1349,162 @@ 105s abort: potentially unsafe hostname: '-oProxyCommand=rm nonexistent' 105s [255] 105s $ hg pull -q 'git+ssh://fakehost|shellcommand/path' 105s - ssh: * fakehost%7?shellcommand* (glob) 105s - abort: git remote error: The remote server unexpectedly closed the connection. 105s - [255] 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 391, in fetch 105s + result = self.fetch_pack(remote.path, heads) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1644, in fetch_pack 105s + ret = self._call_client( 105s + remote, 105s + ...<4 lines>... 105s + progress.progress, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1680, in _call_client 105s + ret = func(path, *args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 1599, in fetch_pack 105s + proto, can_read, stderr = self._connect(b"upload-pack", path, protocol_version) 105s + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 3139, in _connect 105s + con = self.ssh_vendor.run_command( 105s + self.host, 105s + ...<4 lines>... 105s + **kwargs, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/_ssh.py", line 23, in run_command 105s + assert isinstance(command, str) 105s + ~~~~~~~~~~^^^^^^^^^^^^^^ 105s + AssertionError 105s + [1] 105s $ hg pull -q 'git+ssh://fakehost%7Cshellcommand/path' 105s - ssh: * fakehost%7?shellcommand* (glob) 105s - abort: git remote error: The remote server unexpectedly closed the connection. 105s - [255] 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 391, in fetch 105s + result = self.fetch_pack(remote.path, heads) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1644, in fetch_pack 105s + ret = self._call_client( 105s + remote, 105s + ...<4 lines>... 105s + progress.progress, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1680, in _call_client 105s + ret = func(path, *args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 1599, in fetch_pack 105s + proto, can_read, stderr = self._connect(b"upload-pack", path, protocol_version) 105s + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 3139, in _connect 105s + con = self.ssh_vendor.run_command( 105s + self.host, 105s + ...<4 lines>... 105s + **kwargs, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/_ssh.py", line 23, in run_command 105s + assert isinstance(command, str) 105s + ~~~~~~~~~~^^^^^^^^^^^^^^ 105s + AssertionError 105s + [1] 105s 105s ERROR: test-pull.t#draft output changed 105s ! 105s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-pull.t 105s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-pull.t#secret.err 105s @@ -39,17 +39,92 @@ 105s $ hg pull ../gitrepo 105s pulling from ../gitrepo 105s importing 3 git commits 105s - adding bookmark beta 105s - adding bookmark delta 105s - adding bookmark master 105s - new changesets ff7a2f2d8d70:678ebee93e38 (3 drafts) 105s - (run 'hg heads' to see heads, 'hg merge' to merge) 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ git --git-dir .hg/git for-each-ref 105s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/t_alpha 105s $ hg log -Tp 105s - 2|draft|delta|tip 105s - 1|draft|beta| 105s - 0|draft|master|t_alpha 105s $ cd .. 105s $ rm -rf hgrepo 105s 105s @@ -61,20 +136,92 @@ 105s $ hg pull ../gitrepo 105s pulling from ../gitrepo 105s importing 3 git commits 105s - adding bookmark beta 105s - adding bookmark delta 105s - adding bookmark master 105s - new changesets ff7a2f2d8d70:678ebee93e38 (3 drafts) 105s - (run 'hg heads' to see heads, 'hg merge' to merge) 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ git --git-dir .hg/git for-each-ref 105s - 9497a4ee62e16ee641860d7677cdb2589ea15554 commit refs/remotes/default/beta 105s - 8cbeb817785fe2676ab0eda570534702b6b6f9cf commit refs/remotes/default/delta 105s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 105s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/t_alpha 105s $ hg log -Tp 105s - 2|draft|delta|default/delta tip 105s - 1|draft|beta|default/beta 105s - 0|draft|master|default/master t_alpha 105s $ cd .. 105s $ rm -rf hgrepo 105s 105s @@ -86,20 +233,92 @@ 105s $ hg pull 105s pulling from $TESTTMP/gitrepo 105s importing 3 git commits 105s - adding bookmark beta 105s - adding bookmark delta 105s - adding bookmark master 105s - new changesets ff7a2f2d8d70:678ebee93e38 (3 drafts) 105s - (run 'hg heads' to see heads, 'hg merge' to merge) 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ git --git-dir .hg/git for-each-ref 105s - 9497a4ee62e16ee641860d7677cdb2589ea15554 commit refs/remotes/default/beta 105s - 8cbeb817785fe2676ab0eda570534702b6b6f9cf commit refs/remotes/default/delta 105s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 105s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/t_alpha 105s $ hg log -Tp 105s - 2|draft|delta|default/delta tip 105s - 1|draft|beta|default/beta 105s - 0|draft|master|default/master t_alpha 105s $ cd .. 105s $ rm -rf hgrepo 105s 105s @@ -110,18 +329,183 @@ 105s $ hg -R hgrepo pull -r t_alpha 105s pulling from $TESTTMP/gitrepo 105s importing 1 git commits 105s - adding bookmark master 105s - new changesets ff7a2f2d8d70 (1 drafts) 105s - (run 'hg update' to get a working copy) 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo update t_alpha 105s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 105s + abort: unknown revision 't_alpha' 105s + [10] 105s $ hg log -Tp -R hgrepo 105s - 0|draft|master|default/master t_alpha tip 105s 105s no-op pull 105s $ hg -R hgrepo pull -r t_alpha 105s pulling from $TESTTMP/gitrepo 105s - no changes found 105s + importing 1 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s 105s no-op pull with added bookmark 105s $ cd gitrepo 105s @@ -129,8 +513,91 @@ 105s $ cd .. 105s $ hg -R hgrepo pull -r epsilon 105s pulling from $TESTTMP/gitrepo 105s - no changes found 105s - adding bookmark epsilon 105s + importing 1 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s 105s pull something that doesn't exist 105s $ hg -R hgrepo pull -r kaflaflibob 105s @@ -149,39 +616,187 @@ 105s pull a branch 105s $ hg -R hgrepo pull -r beta 105s pulling from $TESTTMP/gitrepo 105s - importing 1 git commits 105s - adding bookmark beta 105s - new changesets 7fe02317c63d (1 drafts) 105s - (run 'hg update' to get a working copy) 105s + importing 2 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo log --graph --template=phases 105s - o changeset: 1:7fe02317c63d 105s - | bookmark: beta 105s - | tag: default/beta 105s - | tag: tip 105s - | phase: draft 105s - | user: test 105s - | date: Mon Jan 01 00:00:11 2007 +0000 105s - | summary: add beta 105s - | 105s - @ changeset: 0:ff7a2f2d8d70 105s - bookmark: epsilon 105s - bookmark: master 105s - tag: default/epsilon 105s - tag: default/master 105s - tag: t_alpha 105s - phase: draft 105s - user: test 105s - date: Mon Jan 01 00:00:10 2007 +0000 105s - summary: add alpha 105s - 105s 105s no-op pull should affect phases 105s $ hg -R hgrepo phase -fs beta 105s + abort: unknown revision 'beta' 105s + [10] 105s $ hg -R hgrepo pull -r beta 105s pulling from $TESTTMP/gitrepo 105s - no changes found 105s + importing 2 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo phase beta 105s - 1: draft 105s + abort: unknown revision 'beta' 105s + [10] 105s 105s 105s add another commit and tag to the git repo 105s @@ -197,49 +812,92 @@ 105s pull everything else 105s $ hg -R hgrepo pull 105s pulling from $TESTTMP/gitrepo 105s - importing 2 git commits 105s - adding bookmark delta 105s - updating bookmark master 105s - new changesets 678ebee93e38:6f898ad1f3e1 (2 drafts) 105s - (run 'hg heads' to see heads, 'hg merge' to merge) 105s + importing 4 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo log --graph --template=phases 105s - o changeset: 3:6f898ad1f3e1 105s - | bookmark: master 105s - | tag: default/master 105s - | tag: tip 105s - | phase: draft 105s - | parent: 0:ff7a2f2d8d70 105s - | user: test 105s - | date: Mon Jan 01 00:00:13 2007 +0000 105s - | summary: add gamma 105s - | 105s - | o changeset: 2:678ebee93e38 105s - |/ bookmark: delta 105s - | tag: default/delta 105s - | phase: draft 105s - | parent: 0:ff7a2f2d8d70 105s - | user: test 105s - | date: Mon Jan 01 00:00:12 2007 +0000 105s - | summary: add delta 105s - | 105s - | o changeset: 1:7fe02317c63d 105s - |/ bookmark: beta 105s - | tag: default/beta 105s - | tag: t_beta 105s - | phase: draft 105s - | user: test 105s - | date: Mon Jan 01 00:00:11 2007 +0000 105s - | summary: add beta 105s - | 105s - @ changeset: 0:ff7a2f2d8d70 105s - bookmark: epsilon 105s - tag: default/epsilon 105s - tag: t_alpha 105s - phase: draft 105s - user: test 105s - date: Mon Jan 01 00:00:10 2007 +0000 105s - summary: add alpha 105s - 105s add a merge to the git repo, and delete the branch 105s $ cd gitrepo 105s $ git merge -q -m "Merge branch 'beta'" beta 105s @@ -252,60 +910,186 @@ 105s 105s pull the merge 105s $ hg -R hgrepo tags | grep default/beta 105s - default/beta 1:7fe02317c63d 105s + [1] 105s $ hg -R hgrepo pull --config git.pull-prune-remote-branches=false 105s pulling from $TESTTMP/gitrepo 105s - importing 1 git commits 105s - updating bookmark master 105s - deleting bookmark beta 105s - new changesets a02330f767a4 (1 drafts) 105s - (run 'hg update' to get a working copy) 105s + importing 5 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo tags | grep default/beta 105s - default/beta 1:7fe02317c63d 105s + [1] 105s $ hg -R hgrepo pull 105s pulling from $TESTTMP/gitrepo 105s - no changes found 105s + importing 5 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo tags | grep default/beta 105s [1] 105s $ hg -R hgrepo log --graph 105s - o changeset: 4:a02330f767a4 105s - |\ bookmark: master 105s - | | tag: default/master 105s - | | tag: tip 105s - | | parent: 3:6f898ad1f3e1 105s - | | parent: 1:7fe02317c63d 105s - | | user: test 105s - | | date: Mon Jan 01 00:00:13 2007 +0000 105s - | | summary: Merge branch 'beta' 105s - | | 105s - | o changeset: 3:6f898ad1f3e1 105s - | | parent: 0:ff7a2f2d8d70 105s - | | user: test 105s - | | date: Mon Jan 01 00:00:13 2007 +0000 105s - | | summary: add gamma 105s - | | 105s - | | o changeset: 2:678ebee93e38 105s - | |/ bookmark: delta 105s - | | tag: default/delta 105s - | | parent: 0:ff7a2f2d8d70 105s - | | user: test 105s - | | date: Mon Jan 01 00:00:12 2007 +0000 105s - | | summary: add delta 105s - | | 105s - o | changeset: 1:7fe02317c63d 105s - |/ tag: t_beta 105s - | user: test 105s - | date: Mon Jan 01 00:00:11 2007 +0000 105s - | summary: add beta 105s - | 105s - @ changeset: 0:ff7a2f2d8d70 105s - bookmark: epsilon 105s - tag: default/epsilon 105s - tag: t_alpha 105s - user: test 105s - date: Mon Jan 01 00:00:10 2007 +0000 105s - summary: add alpha 105s - 105s pull with wildcards 105s $ cd gitrepo 105s $ git checkout -qb releases/v1 master 105s @@ -325,65 +1109,92 @@ 105s $ cd .. 105s $ hg -R hgrepo pull -r 'releases/*' 105s pulling from $TESTTMP/gitrepo 105s - importing 2 git commits 105s - adding bookmark releases/v1 105s - adding bookmark releases/v2 105s - new changesets 218b2d0660d3:a3f95e150b0a (2 drafts) 105s - (run 'hg heads .' to see heads, 'hg merge' to merge) 105s + importing 6 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo log --graph 105s - o changeset: 6:a3f95e150b0a 105s - | bookmark: releases/v2 105s - | tag: default/releases/v2 105s - | tag: tip 105s - | parent: 4:a02330f767a4 105s - | user: test 105s - | date: Mon Jan 01 00:00:15 2007 +0000 105s - | summary: add eta 105s - | 105s - | o changeset: 5:218b2d0660d3 105s - |/ bookmark: releases/v1 105s - | tag: default/releases/v1 105s - | user: test 105s - | date: Mon Jan 01 00:00:14 2007 +0000 105s - | summary: add zeta 105s - | 105s - o changeset: 4:a02330f767a4 105s - |\ bookmark: master 105s - | | tag: default/master 105s - | | parent: 3:6f898ad1f3e1 105s - | | parent: 1:7fe02317c63d 105s - | | user: test 105s - | | date: Mon Jan 01 00:00:13 2007 +0000 105s - | | summary: Merge branch 'beta' 105s - | | 105s - | o changeset: 3:6f898ad1f3e1 105s - | | parent: 0:ff7a2f2d8d70 105s - | | user: test 105s - | | date: Mon Jan 01 00:00:13 2007 +0000 105s - | | summary: add gamma 105s - | | 105s - | | o changeset: 2:678ebee93e38 105s - | |/ bookmark: delta 105s - | | tag: default/delta 105s - | | parent: 0:ff7a2f2d8d70 105s - | | user: test 105s - | | date: Mon Jan 01 00:00:12 2007 +0000 105s - | | summary: add delta 105s - | | 105s - o | changeset: 1:7fe02317c63d 105s - |/ tag: t_beta 105s - | user: test 105s - | date: Mon Jan 01 00:00:11 2007 +0000 105s - | summary: add beta 105s - | 105s - @ changeset: 0:ff7a2f2d8d70 105s - bookmark: epsilon 105s - tag: default/epsilon 105s - tag: t_alpha 105s - user: test 105s - date: Mon Jan 01 00:00:10 2007 +0000 105s - summary: add alpha 105s - 105s 105s add old and new commits to the git repo -- make sure we're using the commit date 105s and not the author date 105s @@ -418,15 +1229,8 @@ 105s pulling from $TESTTMP/gitrepo 105s no changes found 105s $ hg -R hgrepo log -r master 105s - changeset: 4:a02330f767a4 105s - bookmark: master 105s - tag: default/master 105s - parent: 3:6f898ad1f3e1 105s - parent: 1:7fe02317c63d 105s - user: test 105s - date: Mon Jan 01 00:00:13 2007 +0000 105s - summary: Merge branch 'beta' 105s - 105s + abort: unknown revision 'master' 105s + [10] 105s 105s $ cd gitrepo 105s $ git checkout -q master 105s @@ -441,50 +1245,93 @@ 105s $ cd .. 105s $ hg -R hgrepo pull 105s pulling from $TESTTMP/gitrepo 105s - importing 3 git commits 105s - updating bookmark master 105s - new changesets 49713da8f665:e103a73f33be (3 drafts) 105s - (run 'hg heads .' to see heads, 'hg merge' to merge) 105s + importing 7 git commits 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 105s + imported = self.import_git_objects( 105s + b'pull', 105s + ...<2 lines>... 105s + heads=heads, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 105s + self.import_git_commit( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + command, 105s + ^^^^^^^^ 105s + self.git[commit.sha], 105s + ^^^^^^^^^^^^^^^^^^^^^ 105s + commit.phase, 105s + ^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 105s + files, gitlinks, git_renames = self.get_files_changed( 105s + ~~~~~~~~~~~~~~~~~~~~~~^ 105s + commit, detect_renames 105s + ^^^^^^^^^^^^^^^^^^^^^^ 105s + ) 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 105s + oldfile, oldmode, oldsha = change.old 105s + ^^^^^^^^^^^^^^^^^^^^^^^^ 105s + TypeError: cannot unpack non-iterable NoneType object 105s + [1] 105s $ hg -R hgrepo heads 105s - changeset: 9:e103a73f33be 105s - bookmark: master 105s - tag: default/master 105s - tag: tip 105s - user: test 105s - date: Wed Jan 01 00:00:00 2014 +0000 105s - summary: newcommit 105s - 105s - changeset: 7:49713da8f665 105s - tag: newtag 105s - tag: oldtag 105s - parent: 4:a02330f767a4 105s - user: test 105s - date: Sat Mar 01 00:00:00 2014 +0000 105s - summary: oldtag 105s - 105s - changeset: 6:a3f95e150b0a 105s - bookmark: releases/v2 105s - tag: default/releases/v2 105s - parent: 4:a02330f767a4 105s - user: test 105s - date: Mon Jan 01 00:00:15 2007 +0000 105s - summary: add eta 105s - 105s - changeset: 5:218b2d0660d3 105s - bookmark: releases/v1 105s - tag: default/releases/v1 105s - user: test 105s - date: Mon Jan 01 00:00:14 2007 +0000 105s - summary: add zeta 105s - 105s - changeset: 2:678ebee93e38 105s - bookmark: delta 105s - tag: default/delta 105s - parent: 0:ff7a2f2d8d70 105s - user: test 105s - date: Mon Jan 01 00:00:12 2007 +0000 105s - summary: add delta 105s - 105s + [1] 105s 105s test for ssh vulnerability 105s 105s @@ -502,10 +1349,162 @@ 105s abort: potentially unsafe hostname: '-oProxyCommand=rm nonexistent' 105s [255] 105s $ hg pull -q 'git+ssh://fakehost|shellcommand/path' 105s - ssh: * fakehost%7?shellcommand* (glob) 105s - abort: git remote error: The remote server unexpectedly closed the connection. 105s - [255] 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 391, in fetch 105s + result = self.fetch_pack(remote.path, heads) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1644, in fetch_pack 105s + ret = self._call_client( 105s + remote, 105s + ...<4 lines>... 105s + progress.progress, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1680, in _call_client 105s + ret = func(path, *args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 1599, in fetch_pack 105s + proto, can_read, stderr = self._connect(b"upload-pack", path, protocol_version) 105s + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 3139, in _connect 105s + con = self.ssh_vendor.run_command( 105s + self.host, 105s + ...<4 lines>... 105s + **kwargs, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/_ssh.py", line 23, in run_command 105s + assert isinstance(command, str) 105s + ~~~~~~~~~~^^^^^^^^^^^^^^ 105s + AssertionError 105s + [1] 105s $ hg pull -q 'git+ssh://fakehost%7Cshellcommand/path' 105s - ssh: * fakehost%7?shellcommand* (glob) 105s - abort: git remote error: The remote server unexpectedly closed the connection. 105s - [255] 105s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 105s + ** which supports versions 6.9 of Mercurial. 105s + ** Please disable "hggit" and try your action again. 105s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 105s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 105s + ** Mercurial Distributed SCM (version 7.0.1) 105s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 105s + Traceback (most recent call last): 105s + File "/usr/bin/hg", line 51, in 105s + dispatch.run() 105s + ~~~~~~~~~~~~^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 105s + status = dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 105s + status = _rundispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 105s + ret = _runcatch(req) or 0 105s + ~~~~~~~~~^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 105s + return _callcatch(ui, _runcatchfunc) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 105s + return scmutil.callcatch(ui, func) 105s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 105s + return func() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 105s + return _dispatch(req) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 105s + return runcommand( 105s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 105s + ) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 105s + ret = _runcommand(ui, options, cmd, d) 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 105s + return cmdfunc() 105s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 105s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 105s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 105s + return func(*args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 105s + modheads = exchange.pull( 105s + ~~~~~~~~~~~~~^ 105s + repo, 105s + ^^^^^ 105s + ...<6 lines>... 105s + confirm=opts.get('confirm'), 105s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + ).cgresult 105s + ^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 105s + return f(*args, **kwargs) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 105s + pullop.cgresult = repo.githandler.fetch(remote, heads) 105s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 391, in fetch 105s + result = self.fetch_pack(remote.path, heads) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1644, in fetch_pack 105s + ret = self._call_client( 105s + remote, 105s + ...<4 lines>... 105s + progress.progress, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1680, in _call_client 105s + ret = func(path, *args, **kwargs) 105s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 1599, in fetch_pack 105s + proto, can_read, stderr = self._connect(b"upload-pack", path, protocol_version) 105s + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 105s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 3139, in _connect 105s + con = self.ssh_vendor.run_command( 105s + self.host, 105s + ...<4 lines>... 105s + **kwargs, 105s + ) 105s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/_ssh.py", line 23, in run_command 105s + assert isinstance(command, str) 105s + ~~~~~~~~~~^^^^^^^^^^^^^^ 105s + AssertionError 105s + [1] 105s 105s ERROR: test-pull.t#secret output changed 106s ! 106s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-git-submodules.t 106s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-git-submodules.t.err 106s @@ -189,260 +189,99 @@ 106s 106s $ hg clone gitrepo2 hgrepo 106s importing 10 git commits 106s - new changesets ff7a2f2d8d70:0ad944b2c4d8 (10 drafts) 106s - updating to bookmark master 106s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 106s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 106s + ** which supports versions 6.9 of Mercurial. 106s + ** Please disable "hggit" and try your action again. 106s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 106s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 106s + ** Mercurial Distributed SCM (version 7.0.1) 106s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 106s + Traceback (most recent call last): 106s + File "/usr/bin/hg", line 51, in 106s + dispatch.run() 106s + ~~~~~~~~~~~~^^ 106s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 106s + status = dispatch(req) 106s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 106s + status = _rundispatch(req) 106s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 106s + ret = _runcatch(req) or 0 106s + ~~~~~~~~~^^^^^ 106s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 106s + return _callcatch(ui, _runcatchfunc) 106s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 106s + return scmutil.callcatch(ui, func) 106s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 106s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 106s + return func() 106s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 106s + return _dispatch(req) 106s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 106s + return runcommand( 106s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 106s + ) 106s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 106s + ret = _runcommand(ui, options, cmd, d) 106s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 106s + return cmdfunc() 106s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 106s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 106s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 106s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 106s + return func(*args, **kwargs) 106s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 106s + r = hg.clone( 106s + ui, 106s + ...<11 lines>... 106s + depth=opts.get('depth') or None, 106s + ) 106s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 106s + srcpeer, destpeer = orig(*args, **opts) 106s + ~~~~^^^^^^^^^^^^^^^ 106s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 106s + exchange.pull( 106s + ~~~~~~~~~~~~~^ 106s + local, 106s + ^^^^^^ 106s + ...<5 lines>... 106s + depth=depth, 106s + ^^^^^^^^^^^^ 106s + ) 106s + ^ 106s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 106s + return f(*args, **kwargs) 106s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 106s + pullop.cgresult = repo.githandler.fetch(remote, heads) 106s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 106s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 106s + imported = self.import_git_objects( 106s + b'pull', 106s + ...<2 lines>... 106s + heads=heads, 106s + ) 106s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 106s + self.import_git_commit( 106s + ~~~~~~~~~~~~~~~~~~~~~~^ 106s + command, 106s + ^^^^^^^^ 106s + self.git[commit.sha], 106s + ^^^^^^^^^^^^^^^^^^^^^ 106s + commit.phase, 106s + ^^^^^^^^^^^^^ 106s + ) 106s + ^ 106s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 106s + files, gitlinks, git_renames = self.get_files_changed( 106s + ~~~~~~~~~~~~~~~~~~~~~~^ 106s + commit, detect_renames 106s + ^^^^^^^^^^^^^^^^^^^^^^ 106s + ) 106s + ^ 106s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 106s + oldfile, oldmode, oldsha = change.old 106s + ^^^^^^^^^^^^^^^^^^^^^^^^ 106s + TypeError: cannot unpack non-iterable NoneType object 106s + [1] 106s $ cd hgrepo 106s + $TESTTMP.sh: 133: cd: can't cd to hgrepo 106s $ hg log --graph 106s - @ changeset: 9:0ad944b2c4d8 106s - | bookmark: master 106s - | tag: default/master 106s - | tag: tip 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: remove all subrepos 106s - | 106s - o changeset: 8:33da452ef22f 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: replace subrepo with symlink 106s - | 106s - o changeset: 7:acebec53c0fc 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: replace symlink with subrepo 106s - | 106s - o changeset: 6:78c2ea52db4b 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: add symlink 106s - | 106s - o changeset: 5:c0d52ffc59b8 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: replace file with subrepo 106s - | 106s - o changeset: 4:73e078a178a0 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: replace subrepo with file 106s - | 106s - o changeset: 3:29e236ba4c06 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: add another subrepo 106s - | 106s - o changeset: 2:a6075a162f62 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: change subrepo commit 106s - | 106s - o changeset: 1:a4036e758995 106s - | user: test 106s - | date: Mon Jan 01 00:00:11 2007 +0000 106s - | summary: add subrepo 106s - | 106s - o changeset: 0:ff7a2f2d8d70 106s - user: test 106s - date: Mon Jan 01 00:00:10 2007 +0000 106s - summary: add alpha 106s - 106s - $ hg book 106s - * master 9:0ad944b2c4d8 106s - 106s -(add subrepo) 106s - $ hg cat -r 1 .hgsubstate 106s - 6e4ad8da50204560c00fa25e4987eb2e239029ba subrepo 106s - $ hg cat -r 1 .hgsub 106s - subrepo = [git]../gitsubrepo 106s - $ hg gverify -r 1 106s - verifying rev a4036e758995 against git commit e42b08b3cb7069b4594a4ee1d9cb641ee47b2355 106s - 106s -(change subrepo commit) 106s - $ hg cat -r 2 .hgsubstate 106s - aa2ead20c29b5cc6256408e1d9ef704870033afb subrepo 106s - $ hg cat -r 2 .hgsub 106s - subrepo = [git]../gitsubrepo 106s - $ hg gverify -r 2 106s - verifying rev a6075a162f62 against git commit a000567ceefbd9a2ce364e0dea6e298010b02b6d 106s - 106s -(add another subrepo) 106s - $ hg cat -r 3 .hgsubstate 106s - aa2ead20c29b5cc6256408e1d9ef704870033afb subrepo 106s - 6e4ad8da50204560c00fa25e4987eb2e239029ba subrepo2 106s - $ hg cat -r 3 .hgsub 106s - subrepo = [git]../gitsubrepo 106s - subrepo2 = [git]../gitsubrepo 106s - $ hg gverify -r 3 106s - verifying rev 29e236ba4c06 against git commit 6e219527869fa40eb6ffbdd013cd86d576b26b01 106s - 106s -(replace subrepo with file) 106s - $ hg cat -r 4 .hgsubstate 106s - 6e4ad8da50204560c00fa25e4987eb2e239029ba subrepo2 106s - $ hg cat -r 4 .hgsub 106s - subrepo2 = [git]../gitsubrepo 106s - $ hg manifest -r 4 106s - .hgsub 106s - .hgsubstate 106s - alpha 106s - subrepo 106s - $ hg gverify -r 4 106s - verifying rev 73e078a178a0 against git commit f6436a472da00f581d8d257e9bbaf3c358a5e88c 106s - 106s -(replace file with subrepo) 106s - $ hg cat -r 5 .hgsubstate 106s - 6e4ad8da50204560c00fa25e4987eb2e239029ba alpha 106s - 6e4ad8da50204560c00fa25e4987eb2e239029ba subrepo2 106s - $ hg cat -r 5 .hgsub 106s - subrepo2 = [git]../gitsubrepo 106s - alpha = [git]../gitsubrepo 106s - $ hg manifest -r 5 106s - .hgsub 106s - .hgsubstate 106s - subrepo 106s - $ hg gverify -r 5 106s - verifying rev c0d52ffc59b8 against git commit 88171163bf4795b5570924e51d5f8ede33f8bc28 106s - 106s -(replace symlink with subrepo) 106s - $ hg cat -r 7 .hgsub 106s - subrepo2 = [git]../gitsubrepo 106s - alpha = [git]../gitsubrepo 106s - foolink = [git]../gitsubrepo 106s - $ hg cat -r 7 .hgsubstate 106s - 6e4ad8da50204560c00fa25e4987eb2e239029ba alpha 106s - 6e4ad8da50204560c00fa25e4987eb2e239029ba foolink 106s - 6e4ad8da50204560c00fa25e4987eb2e239029ba subrepo2 106s - $ hg gverify -r 7 106s - verifying rev acebec53c0fc against git commit e3288fa737d429a60637b3b6782cb25b8298bc00 106s - 106s -(replace subrepo with symlink) 106s - $ hg cat -r 8 .hgsub .hgsubstate 106s - subrepo2 = [git]../gitsubrepo 106s - alpha = [git]../gitsubrepo 106s - 6e4ad8da50204560c00fa25e4987eb2e239029ba alpha 106s - 6e4ad8da50204560c00fa25e4987eb2e239029ba subrepo2 106s - 106s - $ hg gverify -r 8 106s - verifying rev 33da452ef22f against git commit d28364013fe1a0fde56c0e1921e49ecdeee8571d 106s - 106s -(remove all subrepos) 106s - $ hg cat -r 9 .hgsub .hgsubstate 106s - .hgsub: no such file in rev 0ad944b2c4d8 106s - .hgsubstate: no such file in rev 0ad944b2c4d8 106s - [1] 106s - $ hg gverify -r 9 106s - verifying rev 0ad944b2c4d8 against git commit 15ba94929481c654814178aac1dbca06ae688718 106s - 106s - $ hg debug-remove-hggit-state 106s - clearing out the git cache data 106s - $ hg gexport 106s - $ cd .hg/git 106s - $ git log --pretty=oneline 106s - 73c15b74fb81fa0cc60e9c59c73787a9f26c778b remove all subrepos 106s - d28364013fe1a0fde56c0e1921e49ecdeee8571d replace subrepo with symlink 106s - e3288fa737d429a60637b3b6782cb25b8298bc00 replace symlink with subrepo 106s - 2d1c135447d11df4dfe96dd5d4f37926dc5c821d add symlink 106s - 88171163bf4795b5570924e51d5f8ede33f8bc28 replace file with subrepo 106s - f6436a472da00f581d8d257e9bbaf3c358a5e88c replace subrepo with file 106s - 6e219527869fa40eb6ffbdd013cd86d576b26b01 add another subrepo 106s - a000567ceefbd9a2ce364e0dea6e298010b02b6d change subrepo commit 106s - e42b08b3cb7069b4594a4ee1d9cb641ee47b2355 add subrepo 106s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 add alpha 106s - 106s -test with rename detection enabled -- simply checking that the Mercurial hashes 106s -are the same is enough 106s - $ cd ../../.. 106s - $ hg --config git.similarity=100 clone gitrepo2 hgreporenames 106s - importing 10 git commits 106s - new changesets ff7a2f2d8d70:0ad944b2c4d8 (10 drafts) 106s - updating to bookmark master 106s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 106s - $ cd hgreporenames 106s - $ hg log --graph 106s - @ changeset: 9:0ad944b2c4d8 106s - | bookmark: master 106s - | tag: default/master 106s - | tag: tip 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: remove all subrepos 106s - | 106s - o changeset: 8:33da452ef22f 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: replace subrepo with symlink 106s - | 106s - o changeset: 7:acebec53c0fc 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: replace symlink with subrepo 106s - | 106s - o changeset: 6:78c2ea52db4b 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: add symlink 106s - | 106s - o changeset: 5:c0d52ffc59b8 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: replace file with subrepo 106s - | 106s - o changeset: 4:73e078a178a0 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: replace subrepo with file 106s - | 106s - o changeset: 3:29e236ba4c06 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: add another subrepo 106s - | 106s - o changeset: 2:a6075a162f62 106s - | user: test 106s - | date: Mon Jan 01 00:00:12 2007 +0000 106s - | summary: change subrepo commit 106s - | 106s - o changeset: 1:a4036e758995 106s - | user: test 106s - | date: Mon Jan 01 00:00:11 2007 +0000 106s - | summary: add subrepo 106s - | 106s - o changeset: 0:ff7a2f2d8d70 106s - user: test 106s - date: Mon Jan 01 00:00:10 2007 +0000 106s - summary: add alpha 106s - 106s - $ cd .. 106s - 106s -test handling of an invalid .gitmodules file (#380) 106s - 106s - $ git init --quiet gitrepo-issue380 106s - $ cd gitrepo-issue380 106s - $ git submodule add ../gitsubrepo 106s - Cloning into '$TESTTMP/gitrepo-issue380/gitsubrepo'... 106s - done. 106s - $ fn_git_commit -m 'add a submodule' 106s - $ cat >> .gitmodules < <<<<<<< HEAD 106s - > EOF 106s - $ fn_git_commit -a -m 'b0rken .gitmodules' 106s - $ git status 106s - fatal: bad config line 4 in file $TESTTMP/gitrepo-issue380/.gitmodules 106s - [128] 106s - $ sed -i.orig /HEAD/d .gitmodules 106s - $ fn_git_commit -a -m 'fix .gitmodules' 106s - $ git status 106s - On branch master 106s - Untracked files: 106s - (use "git add ..." to include in what will be committed) 106s - .gitmodules.orig 106s - 106s - nothing added to commit but untracked files present (use "git add" to track) 106s - $ cd .. 106s - $ git clone gitrepo-issue380 gitrepo-issue380~ 106s - Cloning into 'gitrepo-issue380~'... 106s - done. 106s - $ hg clone -U gitrepo-issue380 hgrepo-issue380 106s - importing 3 git commits 106s - warning: failed to parse .gitmodules in 2e4ec4293822 106s - new changesets ed60e5fbc192:9dfc0cdf1787 (3 drafts) 106s 106s ERROR: test-git-submodules.t output changed 107s !s 107s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-renames.t 107s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-renames.t.err 107s @@ -95,494 +95,99 @@ 107s 107s $ cd .. 107s $ hg clone -q repo.git hgrepo 107s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 107s + ** which supports versions 6.9 of Mercurial. 107s + ** Please disable "hggit" and try your action again. 107s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 107s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 107s + ** Mercurial Distributed SCM (version 7.0.1) 107s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 107s + Traceback (most recent call last): 107s + File "/usr/bin/hg", line 51, in 107s + dispatch.run() 107s + ~~~~~~~~~~~~^^ 107s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 107s + status = dispatch(req) 107s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 107s + status = _rundispatch(req) 107s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 107s + ret = _runcatch(req) or 0 107s + ~~~~~~~~~^^^^^ 107s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 107s + return _callcatch(ui, _runcatchfunc) 107s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 107s + return scmutil.callcatch(ui, func) 107s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 107s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 107s + return func() 107s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 107s + return _dispatch(req) 107s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 107s + return runcommand( 107s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 107s + ) 107s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 107s + ret = _runcommand(ui, options, cmd, d) 107s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 107s + return cmdfunc() 107s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 107s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 107s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 107s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 107s + return func(*args, **kwargs) 107s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 107s + r = hg.clone( 107s + ui, 107s + ...<11 lines>... 107s + depth=opts.get('depth') or None, 107s + ) 107s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 107s + srcpeer, destpeer = orig(*args, **opts) 107s + ~~~~^^^^^^^^^^^^^^^ 107s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 107s + exchange.pull( 107s + ~~~~~~~~~~~~~^ 107s + local, 107s + ^^^^^^ 107s + ...<5 lines>... 107s + depth=depth, 107s + ^^^^^^^^^^^^ 107s + ) 107s + ^ 107s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 107s + return f(*args, **kwargs) 107s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 107s + pullop.cgresult = repo.githandler.fetch(remote, heads) 107s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 107s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 107s + imported = self.import_git_objects( 107s + b'pull', 107s + ...<2 lines>... 107s + heads=heads, 107s + ) 107s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 107s + self.import_git_commit( 107s + ~~~~~~~~~~~~~~~~~~~~~~^ 107s + command, 107s + ^^^^^^^^ 107s + self.git[commit.sha], 107s + ^^^^^^^^^^^^^^^^^^^^^ 107s + commit.phase, 107s + ^^^^^^^^^^^^^ 107s + ) 107s + ^ 107s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 107s + files, gitlinks, git_renames = self.get_files_changed( 107s + ~~~~~~~~~~~~~~~~~~~~~~^ 107s + commit, detect_renames 107s + ^^^^^^^^^^^^^^^^^^^^^^ 107s + ) 107s + ^ 107s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 107s + oldfile, oldmode, oldsha = change.old 107s + ^^^^^^^^^^^^^^^^^^^^^^^^ 107s + TypeError: cannot unpack non-iterable NoneType object 107s + [1] 107s $ cd hgrepo 107s + $TESTTMP.sh: 115: cd: can't cd to hgrepo 107s $ hg book master -q 107s - $ hg log -p --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" 107s - @ 8 497105ddbe119aa40af691eb2b1a029c29bf5247 remove submodule and rename back 107s - | branch=default hg-git-rename-source=git 107s - | 107s - | diff --git a/.hgsub b/.hgsub 107s - | --- a/.hgsub 107s - | +++ b/.hgsub 107s - | @@ -1,2 +1,1 @@ 107s - | gitsubmodule2 = [git]../gitsubmodule 107s - | -gamma = [git]../gitsubmodule 107s - | diff --git a/.hgsubstate b/.hgsubstate 107s - | --- a/.hgsubstate 107s - | +++ b/.hgsubstate 107s - | @@ -1,2 +1,1 @@ 107s - | -5944b31ff85b415573d1a43eb942e2dea30ab8be gamma 107s - | 5944b31ff85b415573d1a43eb942e2dea30ab8be gitsubmodule2 107s - | diff --git a/gamma-new b/gamma 107s - | rename from gamma-new 107s - | rename to gamma 107s - | 107s - o 7 adfc1ce8461d3174dcf8425e112e2fa848de3913 rename and add submodule 107s - | branch=default hg-git-rename-source=git 107s - | 107s - | diff --git a/.hgsub b/.hgsub 107s - | --- a/.hgsub 107s - | +++ b/.hgsub 107s - | @@ -1,1 +1,2 @@ 107s - | gitsubmodule2 = [git]../gitsubmodule 107s - | +gamma = [git]../gitsubmodule 107s - | diff --git a/.hgsubstate b/.hgsubstate 107s - | --- a/.hgsubstate 107s - | +++ b/.hgsubstate 107s - | @@ -1,1 +1,2 @@ 107s - | +5944b31ff85b415573d1a43eb942e2dea30ab8be gamma 107s - | 5944b31ff85b415573d1a43eb942e2dea30ab8be gitsubmodule2 107s - | diff --git a/gamma b/gamma-new 107s - | rename from gamma 107s - | rename to gamma-new 107s - | 107s - o 6 62c1a4b07240b53a71be1b1a46e94e99132c5391 beta renamed back 107s - | branch=default hg-git-rename-source=git 107s - | 107s - | diff --git a/beta b/beta 107s - | old mode 120000 107s - | new mode 100644 107s - | --- a/beta 107s - | +++ b/beta 107s - | @@ -1,1 +1,12 @@ 107s - | -beta-new 107s - | \ No newline at end of file 107s - | +1 107s - | +2 107s - | +3 107s - | +4 107s - | +5 107s - | +6 107s - | +7 107s - | +8 107s - | +9 107s - | +10 107s - | +11 107s - | +12 107s - | diff --git a/beta-new b/beta-new 107s - | deleted file mode 100644 107s - | --- a/beta-new 107s - | +++ /dev/null 107s - | @@ -1,12 +0,0 @@ 107s - | -1 107s - | -2 107s - | -3 107s - | -4 107s - | -5 107s - | -6 107s - | -7 107s - | -8 107s - | -9 107s - | -10 107s - | -11 107s - | -12 107s - | 107s - o 5 f93fefed957cff2220d3f0d11182398350b5fa9a beta renamed 107s - | branch=default hg-git-rename-source=git 107s - | 107s - | diff --git a/beta b/beta 107s - | old mode 100644 107s - | new mode 120000 107s - | --- a/beta 107s - | +++ b/beta 107s - | @@ -1,12 +1,1 @@ 107s - | -1 107s - | -2 107s - | -3 107s - | -4 107s - | -5 107s - | -6 107s - | -7 107s - | -8 107s - | -9 107s - | -10 107s - | -11 107s - | -12 107s - | +beta-new 107s - | \ No newline at end of file 107s - | diff --git a/beta b/beta-new 107s - | copy from beta 107s - | copy to beta-new 107s - | 107s - o 4 b9e63d96abc2783afc59246e798a6936cf05a35e move submodule 107s - | branch=default hg-git-rename-source=git 107s - | 107s - | diff --git a/.hgsub b/.hgsub 107s - | --- a/.hgsub 107s - | +++ b/.hgsub 107s - | @@ -1,1 +1,1 @@ 107s - | -gitsubmodule = [git]../gitsubmodule 107s - | +gitsubmodule2 = [git]../gitsubmodule 107s - | diff --git a/.hgsubstate b/.hgsubstate 107s - | --- a/.hgsubstate 107s - | +++ b/.hgsubstate 107s - | @@ -1,1 +1,1 @@ 107s - | -5944b31ff85b415573d1a43eb942e2dea30ab8be gitsubmodule 107s - | +5944b31ff85b415573d1a43eb942e2dea30ab8be gitsubmodule2 107s - | 107s - o 3 55537ea256c28be1b5637f4f93a601fdde8a9a7f add submodule 107s - | branch=default hg-git-rename-source=git 107s - | 107s - | diff --git a/.hgsub b/.hgsub 107s - | new file mode 100644 107s - | --- /dev/null 107s - | +++ b/.hgsub 107s - | @@ -0,0 +1,1 @@ 107s - | +gitsubmodule = [git]../gitsubmodule 107s - | diff --git a/.hgsubstate b/.hgsubstate 107s - | new file mode 100644 107s - | --- /dev/null 107s - | +++ b/.hgsubstate 107s - | @@ -0,0 +1,1 @@ 107s - | +5944b31ff85b415573d1a43eb942e2dea30ab8be gitsubmodule 107s - | 107s - o 2 20f9e56b6d006d0403f853245e483d0892b8ac48 gamma 107s - | branch=default hg-git-rename-source=git 107s - | 107s - | diff --git a/beta b/beta 107s - | --- a/beta 107s - | +++ b/beta 107s - | @@ -9,3 +9,4 @@ 107s - | 9 107s - | 10 107s - | 11 107s - | +12 107s - | diff --git a/beta b/gamma 107s - | copy from beta 107s - | copy to gamma 107s - | --- a/beta 107s - | +++ b/gamma 107s - | @@ -9,3 +9,4 @@ 107s - | 9 107s - | 10 107s - | 11 107s - | +13 107s - | 107s - o 1 9f7744e68def81da3b394f11352f602ca9c8ab68 beta 107s - | branch=default hg-git-rename-source=git 107s - | 107s - | diff --git a/alpha b/beta 107s - | rename from alpha 107s - | rename to beta 107s - | --- a/alpha 107s - | +++ b/beta 107s - | @@ -8,3 +8,4 @@ 107s - | 8 107s - | 9 107s - | 10 107s - | +11 107s - | 107s - o 0 7bc844166f76e49562f81eacd54ea954d01a9e42 alpha 107s - branch=default hg-git-rename-source=git 107s - 107s - diff --git a/alpha b/alpha 107s - new file mode 100644 107s - --- /dev/null 107s - +++ b/alpha 107s - @@ -0,0 +1,10 @@ 107s - +1 107s - +2 107s - +3 107s - +4 107s - +5 107s - +6 107s - +7 107s - +8 107s - +9 107s - +10 107s - 107s - 107s -Make a new ordinary commit in Mercurial (no extra metadata) 107s - $ echo 14 >> gamma 107s - $ hg ci -m "gamma2" 107s - 107s -Make a new commit with a copy and a rename in Mercurial 107s - $ hg cp gamma delta 107s - $ echo 15 >> delta 107s - $ hg mv beta epsilon 107s - $ echo 16 >> epsilon 107s - $ hg ci -m "delta/epsilon" 107s - $ hg export . 107s - # HG changeset patch 107s - # User test 107s - # Date 0 0 107s - # Thu Jan 01 00:00:00 1970 +0000 107s - # Node ID ea6414fab78622fd53679e0593eddad96ff4178d 107s - # Parent ee9ec792d5866c313a4cb7a2f8772f2cffa90df4 107s - delta/epsilon 107s - 107s - diff --git a/gamma b/delta 107s - copy from gamma 107s - copy to delta 107s - --- a/gamma 107s - +++ b/delta 107s - @@ -11,3 +11,4 @@ 107s - 11 107s - 13 107s - 14 107s - +15 107s - diff --git a/beta b/epsilon 107s - rename from beta 107s - rename to epsilon 107s - --- a/beta 107s - +++ b/epsilon 107s - @@ -10,3 +10,4 @@ 107s - 10 107s - 11 107s - 12 107s - +16 107s - $ hg push 107s - pushing to $TESTTMP/repo.git 107s - searching for changes 107s - adding objects 107s - remote: found 0 deltas to reuse 107s - added 2 commits with 2 trees and 3 blobs 107s - updating reference refs/heads/master 107s - 107s - $ cd ../repo.git 107s - $ git log master --pretty=oneline 107s - 5f2948d029693346043f320620af99a615930dc4 delta/epsilon 107s - bbd2ec050f7fbc64f772009844f7d58a556ec036 gamma2 107s - 50d116676a308b7c22935137d944e725d2296f2a remove submodule and rename back 107s - 59fb8e82ea18f79eab99196f588e8948089c134f rename and add submodule 107s - f95497455dfa891b4cd9b524007eb9514c3ab654 beta renamed back 107s - 055f482277da6cd3dd37c7093d06983bad68f782 beta renamed 107s - d7f31298f27df8a9226eddb1e4feb96922c46fa5 move submodule 107s - c610256cb6959852d9e70d01902a06726317affc add submodule 107s - e1348449e0c3a417b086ed60fc13f068d4aa8b26 gamma 107s - cc83241f39927232f690d370894960b0d1943a0e beta 107s - 938bb65bb322eb4a3558bec4cdc8a680c4d1794c alpha 107s - 107s -Make sure the right metadata is stored 107s - $ git cat-file commit master^ 107s - tree 0adbde18545845f3b42ad1a18939ed60a9dec7a8 107s - parent 50d116676a308b7c22935137d944e725d2296f2a 107s - author test 0 +0000 107s - committer test 0 +0000 107s - HG:rename-source hg 107s - 107s - gamma2 107s - $ git cat-file commit master 107s - tree f8f32f4e20b56a5a74582c6a5952c175bf9ec155 107s - parent bbd2ec050f7fbc64f772009844f7d58a556ec036 107s - author test 0 +0000 107s - committer test 0 +0000 107s - HG:rename gamma:delta 107s - HG:rename beta:epsilon 107s - 107s - delta/epsilon 107s - 107s -Now make another clone and compare the hashes 107s - 107s - $ cd .. 107s - $ hg clone -q repo.git hgrepo2 107s - $ cd hgrepo2 107s - $ hg book master -qf 107s - $ hg export master 107s - # HG changeset patch 107s - # User test 107s - # Date 0 0 107s - # Thu Jan 01 00:00:00 1970 +0000 107s - # Node ID ea6414fab78622fd53679e0593eddad96ff4178d 107s - # Parent ee9ec792d5866c313a4cb7a2f8772f2cffa90df4 107s - delta/epsilon 107s - 107s - diff --git a/gamma b/delta 107s - copy from gamma 107s - copy to delta 107s - --- a/gamma 107s - +++ b/delta 107s - @@ -11,3 +11,4 @@ 107s - 11 107s - 13 107s - 14 107s - +15 107s - diff --git a/beta b/epsilon 107s - rename from beta 107s - rename to epsilon 107s - --- a/beta 107s - +++ b/epsilon 107s - @@ -10,3 +10,4 @@ 107s - 10 107s - 11 107s - 12 107s - +16 107s - 107s -Regenerate the Git metadata and compare the hashes 107s - $ hg debug-remove-hggit-state 107s - clearing out the git cache data 107s - $ hg gexport 107s - $ cd .hg/git 107s - $ git log master --pretty=oneline 107s - f3f6592447685566af9447c03ae262aa5432511d delta/epsilon (dulwich-rust !) 107s - c51ce14ec367c5ea72bf428dee3f8576f2fe1bb0 gamma2 (dulwich-rust !) 107s - df749cae534e3c7a0ad664cd0f214dd36e0ac259 remove submodule and rename back (dulwich-rust !) 107s - 8f9ec605ad0cc2532202f73cef8e35d3241797ee rename and add submodule (dulwich-rust !) 107s - 8a00d0fb75377c51c9a46e92ff154c919007f0e2 delta/epsilon (no-dulwich-rust !) 107s - dd7d4f1adb942a8d349dce585019f6949184bc64 gamma2 (no-dulwich-rust !) 107s - 3f1cdaf8b603816fcda02bd29e75198ae4cb13db remove submodule and rename back (no-dulwich-rust !) 107s - 2a4abf1178a999e2054158ceb0c7768079665d03 rename and add submodule (no-dulwich-rust !) 107s - 88c416e8d5e0e9dd1187d45ebafaa46111764196 beta renamed back 107s - 027d2a6e050705bf6f7e226e7e97f02ce5ae3200 beta renamed 107s - dc70e620634887e70ac5dd108bcc7ebd99c60ec3 move submodule 107s - c610256cb6959852d9e70d01902a06726317affc add submodule 107s - e1348449e0c3a417b086ed60fc13f068d4aa8b26 gamma 107s - cc83241f39927232f690d370894960b0d1943a0e beta 107s - 938bb65bb322eb4a3558bec4cdc8a680c4d1794c alpha 107s - 107s -Test findcopiesharder 107s - 107s - $ cd $TESTTMP 107s - $ git init -q gitcopyharder 107s - $ cd gitcopyharder 107s - $ cat >> file0 << EOF 107s - > 1 107s - > 2 107s - > 3 107s - > 4 107s - > 5 107s - > EOF 107s - $ git add file0 107s - $ fn_git_commit -m file0 107s - $ cp file0 file1 107s - $ git add file1 107s - $ fn_git_commit -m file1 107s - $ cp file0 file2 107s - $ echo 6 >> file2 107s - $ git add file2 107s - $ fn_git_commit -m file2 107s - 107s - $ cd .. 107s - 107s -Clone without findcopiesharder does not find copies from unmodified files 107s - 107s - $ hg clone gitcopyharder hgnocopyharder 107s - importing 3 git commits 107s - new changesets b45d023c6842:ec77ccdbefe0 (3 drafts) 107s - updating to bookmark master 107s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 107s - $ hg -R hgnocopyharder export 1::2 107s - # HG changeset patch 107s - # User test 107s - # Date 1167609621 0 107s - # Mon Jan 01 00:00:21 2007 +0000 107s - # Node ID 555831c93e2a250e5ba42efad45bf7ba71da13e4 107s - # Parent b45d023c6842337ffe694663a44aa672d311081c 107s - file1 107s - 107s - diff --git a/file1 b/file1 107s - new file mode 100644 107s - --- /dev/null 107s - +++ b/file1 107s - @@ -0,0 +1,5 @@ 107s - +1 107s - +2 107s - +3 107s - +4 107s - +5 107s - # HG changeset patch 107s - # User test 107s - # Date 1167609622 0 107s - # Mon Jan 01 00:00:22 2007 +0000 107s - # Node ID ec77ccdbefe023eb9898b0399f84f670c8c0f5fc 107s - # Parent 555831c93e2a250e5ba42efad45bf7ba71da13e4 107s - file2 107s - 107s - diff --git a/file2 b/file2 107s - new file mode 100644 107s - --- /dev/null 107s - +++ b/file2 107s - @@ -0,0 +1,6 @@ 107s - +1 107s - +2 107s - +3 107s - +4 107s - +5 107s - +6 107s - 107s -findcopiesharder finds copies from unmodified files if similarity is met 107s - 107s - $ hg --config git.findcopiesharder=true clone gitcopyharder hgcopyharder0 107s - importing 3 git commits 107s - new changesets b45d023c6842:9b3099834272 (3 drafts) 107s - updating to bookmark master 107s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 107s - $ hg -R hgcopyharder0 export 1::2 107s - # HG changeset patch 107s - # User test 107s - # Date 1167609621 0 107s - # Mon Jan 01 00:00:21 2007 +0000 107s - # Node ID cd05a87103eed9d270fc05b62b00f48e174ab960 107s - # Parent b45d023c6842337ffe694663a44aa672d311081c 107s - file1 107s - 107s - diff --git a/file0 b/file1 107s - copy from file0 107s - copy to file1 107s - # HG changeset patch 107s - # User test 107s - # Date 1167609622 0 107s - # Mon Jan 01 00:00:22 2007 +0000 107s - # Node ID 9b30998342729c7357d418bebed7399986cfe643 107s - # Parent cd05a87103eed9d270fc05b62b00f48e174ab960 107s - file2 107s - 107s - diff --git a/file0 b/file2 107s - copy from file0 107s - copy to file2 107s - --- a/file0 107s - +++ b/file2 107s - @@ -3,3 +3,4 @@ 107s - 3 107s - 4 107s - 5 107s - +6 107s - 107s - $ hg --config git.findcopiesharder=true --config git.similarity=95 clone gitcopyharder hgcopyharder1 107s - importing 3 git commits 107s - new changesets b45d023c6842:d9d2e8cbf050 (3 drafts) 107s - updating to bookmark master 107s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 107s - $ hg -R hgcopyharder1 export 1::2 107s - # HG changeset patch 107s - # User test 107s - # Date 1167609621 0 107s - # Mon Jan 01 00:00:21 2007 +0000 107s - # Node ID cd05a87103eed9d270fc05b62b00f48e174ab960 107s - # Parent b45d023c6842337ffe694663a44aa672d311081c 107s - file1 107s - 107s - diff --git a/file0 b/file1 107s - copy from file0 107s - copy to file1 107s - # HG changeset patch 107s - # User test 107s - # Date 1167609622 0 107s - # Mon Jan 01 00:00:22 2007 +0000 107s - # Node ID d9d2e8cbf050772be31dccf78851f71dc547d139 107s - # Parent cd05a87103eed9d270fc05b62b00f48e174ab960 107s - file2 107s - 107s - diff --git a/file2 b/file2 107s - new file mode 100644 107s - --- /dev/null 107s - +++ b/file2 107s - @@ -0,0 +1,6 @@ 107s - +1 107s - +2 107s - +3 107s - +4 107s - +5 107s - +6 107s - 107s -Config values out of range 107s - $ hg --config git.similarity=999 clone gitcopyharder hgcopyharder2 107s - importing 3 git commits 107s - abort: git.similarity must be between 0 and 100 107s - [255] 107s -Left-over on Windows with some pack files 107s - $ rm -rf hgcopyharder2 107s - $ hg --config git.renamelimit=-5 clone gitcopyharder hgcopyharder2 107s - importing 3 git commits 107s - abort: git.renamelimit must be non-negative 107s - [255] 107s 107s ERROR: test-renames.t output changed 108s ! 108s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-git-tags.t 108s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-git-tags.t#draft.err 108s @@ -42,336 +42,103 @@ 108s 108s $ hg clone repo.git hgrepo 108s importing 2 git commits 108s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 108s - updating to bookmark master 108s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 108s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 108s + ** which supports versions 6.9 of Mercurial. 108s + ** Please disable "hggit" and try your action again. 108s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 108s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 108s + ** Mercurial Distributed SCM (version 7.0.1) 108s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 108s + Traceback (most recent call last): 108s + File "/usr/bin/hg", line 51, in 108s + dispatch.run() 108s + ~~~~~~~~~~~~^^ 108s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 108s + status = dispatch(req) 108s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 108s + status = _rundispatch(req) 108s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 108s + ret = _runcatch(req) or 0 108s + ~~~~~~~~~^^^^^ 108s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 108s + return _callcatch(ui, _runcatchfunc) 108s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 108s + return scmutil.callcatch(ui, func) 108s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 108s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 108s + return func() 108s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 108s + return _dispatch(req) 108s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 108s + return runcommand( 108s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 108s + ) 108s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 108s + ret = _runcommand(ui, options, cmd, d) 108s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 108s + return cmdfunc() 108s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 108s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 108s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 108s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 108s + return func(*args, **kwargs) 108s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 108s + r = hg.clone( 108s + ui, 108s + ...<11 lines>... 108s + depth=opts.get('depth') or None, 108s + ) 108s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 108s + srcpeer, destpeer = orig(*args, **opts) 108s + ~~~~^^^^^^^^^^^^^^^ 108s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 108s + exchange.pull( 108s + ~~~~~~~~~~~~~^ 108s + local, 108s + ^^^^^^ 108s + ...<5 lines>... 108s + depth=depth, 108s + ^^^^^^^^^^^^ 108s + ) 108s + ^ 108s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 108s + return f(*args, **kwargs) 108s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 108s + pullop.cgresult = repo.githandler.fetch(remote, heads) 108s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 108s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 108s + imported = self.import_git_objects( 108s + b'pull', 108s + ...<2 lines>... 108s + heads=heads, 108s + ) 108s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 108s + self.import_git_commit( 108s + ~~~~~~~~~~~~~~~~~~~~~~^ 108s + command, 108s + ^^^^^^^^ 108s + self.git[commit.sha], 108s + ^^^^^^^^^^^^^^^^^^^^^ 108s + commit.phase, 108s + ^^^^^^^^^^^^^ 108s + ) 108s + ^ 108s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 108s + files, gitlinks, git_renames = self.get_files_changed( 108s + ~~~~~~~~~~~~~~~~~~~~~~^ 108s + commit, detect_renames 108s + ^^^^^^^^^^^^^^^^^^^^^^ 108s + ) 108s + ^ 108s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 108s + oldfile, oldmode, oldsha = change.old 108s + ^^^^^^^^^^^^^^^^^^^^^^^^ 108s + TypeError: cannot unpack non-iterable NoneType object 108s + [1] 108s 108s $ cd hgrepo 108s + $TESTTMP.sh: 39: cd: can't cd to hgrepo 108s 108s Verify that annotated tags are unaffected by reexports: 108s 108s $ GIT_DIR=.hg/git git tag -ln 108s - beta added tag beta 108s - $ hg gexport 108s - $ GIT_DIR=.hg/git git tag -ln 108s - beta added tag beta 108s - 108s -Error checking on tag creation 108s - 108s - $ hg tag --git beta --remove 108s - abort: cannot remove git tags 108s - (the git documentation heavily discourages editing tags) 108s - [255] 108s - $ hg tag --git beta -r null 108s - abort: cannot remove git tags 108s - (the git documentation heavily discourages editing tags) 108s - [255] 108s - $ hg tag --git beta --remove -r 0 108s - abort: cannot specify both --rev and --remove 108s - [10] 108s - $ hg tag --git alpha 108s - abort: git tags require an explicit revision 108s - (please specify -r/--rev) 108s - [255] 108s - $ hg tag --git alpha alpha -r 0 108s - abort: tag names must be unique 108s - [255] 108s - $ hg tag --git alpha -r 0 -e 108s - abort: cannot specify both --git and --edit 108s - [10] 108s - $ hg tag --git alpha -r 0 -m 42 108s - abort: cannot specify both --git and --message 108s - [10] 108s - $ hg tag --git alpha -r 0 -d 42 108s - abort: cannot specify both --git and --date 108s - [10] 108s - $ hg tag --git alpha -r 0 -u user@example.com 108s - abort: cannot specify both --git and --user 108s - [10] 108s - $ hg tag --git 'with space' -r 0 108s - abort: the name 'with space' is not a valid git tag 108s - [255] 108s - $ hg tag --git ' beta' -r 0 108s - abort: the name 'beta' already exists 108s - [255] 108s - $ hg tag --git master -r 0 108s - abort: the name 'master' already exists 108s - [255] 108s - $ hg tag --git tip -r 0 108s - abort: the name 'tip' is reserved 108s - [10] 108s - 108s -Create a git tag from hg 108s - 108s - $ hg tag --git alpha --debug -r 0 108s - finding unexported changesets 108s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 108s - adding git tag alpha 108s - $ hg log --graph 108s - @ changeset: 1:7fe02317c63d 108s - | bookmark: master 108s - | tag: beta 108s - | tag: default/master 108s - | tag: tip 108s - | user: test 108s - | date: Mon Jan 01 00:00:11 2007 +0000 108s - | summary: add beta 108s - | 108s - o changeset: 0:ff7a2f2d8d70 108s - tag: alpha 108s - user: test 108s - date: Mon Jan 01 00:00:10 2007 +0000 108s - summary: add alpha 108s - 108s - $ echo beta-fix >> beta 108s - $ fn_hg_commit -m 'fix for beta' 108s -#if secret 108s - $ hg phase -d 108s -#endif 108s - $ hg push 108s - pushing to $TESTTMP/repo.git 108s - searching for changes 108s - adding objects 108s - remote: found 0 deltas to reuse 108s - added 1 commits with 1 trees and 1 blobs 108s - updating reference refs/heads/master 108s - adding reference refs/tags/alpha 108s - 108s -Verify that amending commits known to remotes doesn't break anything 108s - 108s - $ cat >> $HGRCPATH << EOF 108s - > [experimental] 108s - > evolution = createmarkers 108s - > evolution.createmarkers = yes 108s - > EOF 108s - $ hg tags 108s - tip 2:61175962e488 108s - default/master 2:61175962e488 108s - beta 1:7fe02317c63d 108s - alpha 0:ff7a2f2d8d70 108s - $ echo beta-fix-again >> beta 108s - $ fn_hg_commit --amend 108s - $ hg log -T shorttags 108s - 3:3094b9e8da41 draft tip 108s - 2:61175962e488 draft default/master X 108s - 1:7fe02317c63d draft beta 108s - 0:ff7a2f2d8d70 draft alpha 108s - $ hg tags 108s - tip 3:3094b9e8da41 108s - default/master 2:61175962e488 108s - beta 1:7fe02317c63d 108s - alpha 0:ff7a2f2d8d70 108s - $ hg push 108s - pushing to $TESTTMP/repo.git 108s - searching for changes 108s - abort: pushing refs/heads/master overwrites 3094b9e8da41 108s - [255] 108s - $ hg push -f 108s - pushing to $TESTTMP/repo.git 108s - searching for changes 108s - adding objects 108s - remote: found 0 deltas to reuse 108s - added 1 commits with 1 trees and 1 blobs 108s - updating reference refs/heads/master 108s - 108s -Now create a tag for the old, obsolete master 108s - 108s - $ cd ../repo.git 108s - $ git tag detached $(hg log -R ../hgrepo --hidden -r 2 -T '{gitnode}\n') 108s - $ git tag 108s - alpha 108s - beta 108s - detached 108s - $ cd ../hgrepo 108s - $ hg pull 108s - pulling from $TESTTMP/repo.git 108s - no changes found 108s - $ hg log -T shorttags 108s - 3:3094b9e8da41 draft default/master tip 108s - 2:61175962e488 draft detached X 108s - 1:7fe02317c63d draft beta 108s - 0:ff7a2f2d8d70 draft alpha 108s - $ hg tags 108s - tip 3:3094b9e8da41 108s - default/master 3:3094b9e8da41 108s - detached 2:61175962e488 108s - beta 1:7fe02317c63d 108s - alpha 0:ff7a2f2d8d70 108s - $ hg push 108s - pushing to $TESTTMP/repo.git 108s - searching for changes 108s - no changes found 108s - [1] 108s - 108s - $ cd .. 108s - 108s -Verify that revsets can point out git tags; for that we need an 108s -untagged commit. 108s - 108s - $ cd hgrepo 108s - $ touch gamma 108s - $ fn_hg_commit -A -m 'add gamma' 108s -#if secret 108s - $ hg phase -d 108s -#endif 108s - $ hg log -T shorttags -r 'gittag()' 108s - 0:ff7a2f2d8d70 draft alpha 108s - 1:7fe02317c63d draft beta 108s - 2:61175962e488 draft detached X 108s - $ hg log -T shorttags -r 'gittag(detached)' 108s - 2:61175962e488 draft detached X 108s - $ hg log -T shorttags -r 'gittag("re:a$")' 108s - 0:ff7a2f2d8d70 draft alpha 108s - 1:7fe02317c63d draft beta 108s - 108s -Create a git tag from hg, but pointing to a new commit: 108s - 108s - $ hg tag --git gamma --debug -r tip 108s - invalid branch cache (visible): tip differs (?) 108s - finding unexported changesets 108s - exporting 1 changesets 108s - converting revision 0eb1ab0073a885a498d4ae3dc5cf0c26e750fa3d 108s - packing 3 loose objects... 108s - packed 3 loose objects! 108s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 108s - adding git tag gamma 108s - $ hg push 108s - pushing to $TESTTMP/repo.git 108s - searching for changes 108s - adding objects 108s - remote: found 0 deltas to reuse 108s - added 1 commits with 1 trees and 1 blobs 108s - updating reference refs/heads/master 108s - adding reference refs/tags/gamma 108s - $ cd ../gitrepo 108s - $ git fetch --quiet --tags 108s - $ git tag 108s - alpha 108s - beta 108s - detached 108s - gamma 108s - $ cd .. 108s - 108s -Try to overwrite an annotated tag: 108s - 108s - $ cd hgrepo 108s - $ hg tags -v 108s - tip 4:0eb1ab0073a8 108s - gamma 4:0eb1ab0073a8 git 108s - default/master 4:0eb1ab0073a8 git-remote 108s - detached 2:61175962e488 git 108s - beta 1:7fe02317c63d git 108s - alpha 0:ff7a2f2d8d70 git 108s - $ hg book not-master 108s - $ hg tag beta 108s - abort: tag 'beta' already exists (use -f to force) 108s - [10] 108s - $ hg tag -f beta 108s -#if secret 108s - $ hg phase -d 108s -#endif 108s - $ hg push 108s - pushing to $TESTTMP/repo.git 108s - warning: not overwriting annotated tag 'beta' 108s - searching for changes 108s - adding objects 108s - remote: found 0 deltas to reuse 108s - added 1 commits with 1 trees and 1 blobs 108s - adding reference refs/heads/not-master 108s - $ hg tags 108s - tip 5:c49682c7cba4 108s - default/not-master 5:c49682c7cba4 108s - gamma 4:0eb1ab0073a8 108s - default/master 4:0eb1ab0073a8 108s - beta 4:0eb1ab0073a8 108s - detached 2:61175962e488 108s - alpha 0:ff7a2f2d8d70 108s - $ cd .. 108s - 108s -Check whether `gimport` handles tags 108s - 108s - $ cd hgrepo 108s - $ rm .hg/git-tags .hg/git-mapfile 108s - $ hg gimport 108s - importing 6 git commits 108s - $ hg tags -q 108s - tip 108s - default/not-master 108s - gamma 108s - default/master 108s - beta 108s - detached 108s - alpha 108s - $ cd .. 108s - 108s -Test how pulling an explicit branch with an annotated tag: 108s - 108s - $ hg clone -r master repo.git hgrepo-2 108s - importing 4 git commits 108s - new changesets ff7a2f2d8d70:0eb1ab0073a8 (4 drafts) 108s - updating to branch default 108s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 108s - $ hg log -r 'ancestors(master) and tagged()' -T shorttags -R hgrepo-2 108s - 0:ff7a2f2d8d70 draft alpha 108s - 1:7fe02317c63d draft beta 108s - 3:0eb1ab0073a8 draft default/master gamma tip 108s - $ hg tags -v -R hgrepo-2 108s - tip 3:0eb1ab0073a8 108s - gamma 3:0eb1ab0073a8 git 108s - default/master 3:0eb1ab0073a8 git-remote 108s - beta 1:7fe02317c63d git 108s - alpha 0:ff7a2f2d8d70 git 108s - $ GIT_DIR=hgrepo-2/.hg/git git fetch --quiet repo.git 108s - $ rm -rf hgrepo-2 108s - 108s - $ hg clone -r master repo.git hgrepo-2 108s - importing 4 git commits 108s - new changesets ff7a2f2d8d70:0eb1ab0073a8 (4 drafts) 108s - updating to branch default 108s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 108s - $ hg log -r 'tagged()' -T shorttags -R hgrepo-2 108s - 0:ff7a2f2d8d70 draft alpha 108s - 1:7fe02317c63d draft beta 108s - 3:0eb1ab0073a8 draft default/master gamma tip 108s -This used to die: 108s - $ hg -R hgrepo-2 gexport 108s -This used to fail, since we didn't actually pull the annotated tag: 108s - $ hg -R hgrepo-2 push 108s - pushing to $TESTTMP/repo.git 108s - searching for changes 108s - no changes found 108s - [1] 108s - $ rm -rf hgrepo-2 108s - 108s -Check that pulling will update phases only: 108s - 108s - $ cd hgrepo 108s - $ hg phase -fs gamma detached 108s - $ hg pull 108s - pulling from $TESTTMP/repo.git 108s - no changes found 108s - $ hg log -T shorttags -r gamma -r detached 108s - 4:0eb1ab0073a8 draft beta default/master gamma 108s - 2:61175962e488 draft detached X 108s - $ cd .. 108s - 108s -Check that we pull new tags to existing commits: 108s - $ cd gitrepo 108s - $ git tag 108s - alpha 108s - beta 108s - detached 108s - gamma 108s - $ fn_git_tag extra-simple-tag 108s - $ fn_git_tag -m annotated extra-annotated-tag 108s - $ git push --tags 108s - To $TESTTMP/repo.git 108s - * [new tag] extra-annotated-tag -> extra-annotated-tag 108s - * [new tag] extra-simple-tag -> extra-simple-tag 108s - $ cd ../hgrepo 108s - $ hg pull -r master 108s - pulling from $TESTTMP/repo.git 108s - no changes found 108s - $ hg tags -v | grep extra 108s - extra-simple-tag 1:7fe02317c63d git 108s - extra-annotated-tag 1:7fe02317c63d git 108s 108s ERROR: test-git-tags.t#draft output changed 109s !. 109s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-git-tags.t 109s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-git-tags.t#secret.err 109s @@ -42,336 +42,103 @@ 109s 109s $ hg clone repo.git hgrepo 109s importing 2 git commits 109s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 109s - updating to bookmark master 109s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 109s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 109s + ** which supports versions 6.9 of Mercurial. 109s + ** Please disable "hggit" and try your action again. 109s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 109s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 109s + ** Mercurial Distributed SCM (version 7.0.1) 109s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 109s + Traceback (most recent call last): 109s + File "/usr/bin/hg", line 51, in 109s + dispatch.run() 109s + ~~~~~~~~~~~~^^ 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 109s + status = dispatch(req) 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 109s + status = _rundispatch(req) 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 109s + ret = _runcatch(req) or 0 109s + ~~~~~~~~~^^^^^ 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 109s + return _callcatch(ui, _runcatchfunc) 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 109s + return scmutil.callcatch(ui, func) 109s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 109s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 109s + return func() 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 109s + return _dispatch(req) 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 109s + return runcommand( 109s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 109s + ) 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 109s + ret = _runcommand(ui, options, cmd, d) 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 109s + return cmdfunc() 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 109s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 109s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 109s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 109s + return func(*args, **kwargs) 109s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 109s + r = hg.clone( 109s + ui, 109s + ...<11 lines>... 109s + depth=opts.get('depth') or None, 109s + ) 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 109s + srcpeer, destpeer = orig(*args, **opts) 109s + ~~~~^^^^^^^^^^^^^^^ 109s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 109s + exchange.pull( 109s + ~~~~~~~~~~~~~^ 109s + local, 109s + ^^^^^^ 109s + ...<5 lines>... 109s + depth=depth, 109s + ^^^^^^^^^^^^ 109s + ) 109s + ^ 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 109s + return f(*args, **kwargs) 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 109s + pullop.cgresult = repo.githandler.fetch(remote, heads) 109s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 109s + imported = self.import_git_objects( 109s + b'pull', 109s + ...<2 lines>... 109s + heads=heads, 109s + ) 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 109s + self.import_git_commit( 109s + ~~~~~~~~~~~~~~~~~~~~~~^ 109s + command, 109s + ^^^^^^^^ 109s + self.git[commit.sha], 109s + ^^^^^^^^^^^^^^^^^^^^^ 109s + commit.phase, 109s + ^^^^^^^^^^^^^ 109s + ) 109s + ^ 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 109s + files, gitlinks, git_renames = self.get_files_changed( 109s + ~~~~~~~~~~~~~~~~~~~~~~^ 109s + commit, detect_renames 109s + ^^^^^^^^^^^^^^^^^^^^^^ 109s + ) 109s + ^ 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 109s + oldfile, oldmode, oldsha = change.old 109s + ^^^^^^^^^^^^^^^^^^^^^^^^ 109s + TypeError: cannot unpack non-iterable NoneType object 109s + [1] 109s 109s $ cd hgrepo 109s + $TESTTMP.sh: 44: cd: can't cd to hgrepo 109s 109s Verify that annotated tags are unaffected by reexports: 109s 109s $ GIT_DIR=.hg/git git tag -ln 109s - beta added tag beta 109s - $ hg gexport 109s - $ GIT_DIR=.hg/git git tag -ln 109s - beta added tag beta 109s - 109s -Error checking on tag creation 109s - 109s - $ hg tag --git beta --remove 109s - abort: cannot remove git tags 109s - (the git documentation heavily discourages editing tags) 109s - [255] 109s - $ hg tag --git beta -r null 109s - abort: cannot remove git tags 109s - (the git documentation heavily discourages editing tags) 109s - [255] 109s - $ hg tag --git beta --remove -r 0 109s - abort: cannot specify both --rev and --remove 109s - [10] 109s - $ hg tag --git alpha 109s - abort: git tags require an explicit revision 109s - (please specify -r/--rev) 109s - [255] 109s - $ hg tag --git alpha alpha -r 0 109s - abort: tag names must be unique 109s - [255] 109s - $ hg tag --git alpha -r 0 -e 109s - abort: cannot specify both --git and --edit 109s - [10] 109s - $ hg tag --git alpha -r 0 -m 42 109s - abort: cannot specify both --git and --message 109s - [10] 109s - $ hg tag --git alpha -r 0 -d 42 109s - abort: cannot specify both --git and --date 109s - [10] 109s - $ hg tag --git alpha -r 0 -u user@example.com 109s - abort: cannot specify both --git and --user 109s - [10] 109s - $ hg tag --git 'with space' -r 0 109s - abort: the name 'with space' is not a valid git tag 109s - [255] 109s - $ hg tag --git ' beta' -r 0 109s - abort: the name 'beta' already exists 109s - [255] 109s - $ hg tag --git master -r 0 109s - abort: the name 'master' already exists 109s - [255] 109s - $ hg tag --git tip -r 0 109s - abort: the name 'tip' is reserved 109s - [10] 109s - 109s -Create a git tag from hg 109s - 109s - $ hg tag --git alpha --debug -r 0 109s - finding unexported changesets 109s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 109s - adding git tag alpha 109s - $ hg log --graph 109s - @ changeset: 1:7fe02317c63d 109s - | bookmark: master 109s - | tag: beta 109s - | tag: default/master 109s - | tag: tip 109s - | user: test 109s - | date: Mon Jan 01 00:00:11 2007 +0000 109s - | summary: add beta 109s - | 109s - o changeset: 0:ff7a2f2d8d70 109s - tag: alpha 109s - user: test 109s - date: Mon Jan 01 00:00:10 2007 +0000 109s - summary: add alpha 109s - 109s - $ echo beta-fix >> beta 109s - $ fn_hg_commit -m 'fix for beta' 109s -#if secret 109s - $ hg phase -d 109s -#endif 109s - $ hg push 109s - pushing to $TESTTMP/repo.git 109s - searching for changes 109s - adding objects 109s - remote: found 0 deltas to reuse 109s - added 1 commits with 1 trees and 1 blobs 109s - updating reference refs/heads/master 109s - adding reference refs/tags/alpha 109s - 109s -Verify that amending commits known to remotes doesn't break anything 109s - 109s - $ cat >> $HGRCPATH << EOF 109s - > [experimental] 109s - > evolution = createmarkers 109s - > evolution.createmarkers = yes 109s - > EOF 109s - $ hg tags 109s - tip 2:61175962e488 109s - default/master 2:61175962e488 109s - beta 1:7fe02317c63d 109s - alpha 0:ff7a2f2d8d70 109s - $ echo beta-fix-again >> beta 109s - $ fn_hg_commit --amend 109s - $ hg log -T shorttags 109s - 3:3094b9e8da41 draft tip 109s - 2:61175962e488 draft default/master X 109s - 1:7fe02317c63d draft beta 109s - 0:ff7a2f2d8d70 draft alpha 109s - $ hg tags 109s - tip 3:3094b9e8da41 109s - default/master 2:61175962e488 109s - beta 1:7fe02317c63d 109s - alpha 0:ff7a2f2d8d70 109s - $ hg push 109s - pushing to $TESTTMP/repo.git 109s - searching for changes 109s - abort: pushing refs/heads/master overwrites 3094b9e8da41 109s - [255] 109s - $ hg push -f 109s - pushing to $TESTTMP/repo.git 109s - searching for changes 109s - adding objects 109s - remote: found 0 deltas to reuse 109s - added 1 commits with 1 trees and 1 blobs 109s - updating reference refs/heads/master 109s - 109s -Now create a tag for the old, obsolete master 109s - 109s - $ cd ../repo.git 109s - $ git tag detached $(hg log -R ../hgrepo --hidden -r 2 -T '{gitnode}\n') 109s - $ git tag 109s - alpha 109s - beta 109s - detached 109s - $ cd ../hgrepo 109s - $ hg pull 109s - pulling from $TESTTMP/repo.git 109s - no changes found 109s - $ hg log -T shorttags 109s - 3:3094b9e8da41 draft default/master tip 109s - 2:61175962e488 draft detached X 109s - 1:7fe02317c63d draft beta 109s - 0:ff7a2f2d8d70 draft alpha 109s - $ hg tags 109s - tip 3:3094b9e8da41 109s - default/master 3:3094b9e8da41 109s - detached 2:61175962e488 109s - beta 1:7fe02317c63d 109s - alpha 0:ff7a2f2d8d70 109s - $ hg push 109s - pushing to $TESTTMP/repo.git 109s - searching for changes 109s - no changes found 109s - [1] 109s - 109s - $ cd .. 109s - 109s -Verify that revsets can point out git tags; for that we need an 109s -untagged commit. 109s - 109s - $ cd hgrepo 109s - $ touch gamma 109s - $ fn_hg_commit -A -m 'add gamma' 109s -#if secret 109s - $ hg phase -d 109s -#endif 109s - $ hg log -T shorttags -r 'gittag()' 109s - 0:ff7a2f2d8d70 draft alpha 109s - 1:7fe02317c63d draft beta 109s - 2:61175962e488 draft detached X 109s - $ hg log -T shorttags -r 'gittag(detached)' 109s - 2:61175962e488 draft detached X 109s - $ hg log -T shorttags -r 'gittag("re:a$")' 109s - 0:ff7a2f2d8d70 draft alpha 109s - 1:7fe02317c63d draft beta 109s - 109s -Create a git tag from hg, but pointing to a new commit: 109s - 109s - $ hg tag --git gamma --debug -r tip 109s - invalid branch cache (visible): tip differs (?) 109s - finding unexported changesets 109s - exporting 1 changesets 109s - converting revision 0eb1ab0073a885a498d4ae3dc5cf0c26e750fa3d 109s - packing 3 loose objects... 109s - packed 3 loose objects! 109s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 109s - adding git tag gamma 109s - $ hg push 109s - pushing to $TESTTMP/repo.git 109s - searching for changes 109s - adding objects 109s - remote: found 0 deltas to reuse 109s - added 1 commits with 1 trees and 1 blobs 109s - updating reference refs/heads/master 109s - adding reference refs/tags/gamma 109s - $ cd ../gitrepo 109s - $ git fetch --quiet --tags 109s - $ git tag 109s - alpha 109s - beta 109s - detached 109s - gamma 109s - $ cd .. 109s - 109s -Try to overwrite an annotated tag: 109s - 109s - $ cd hgrepo 109s - $ hg tags -v 109s - tip 4:0eb1ab0073a8 109s - gamma 4:0eb1ab0073a8 git 109s - default/master 4:0eb1ab0073a8 git-remote 109s - detached 2:61175962e488 git 109s - beta 1:7fe02317c63d git 109s - alpha 0:ff7a2f2d8d70 git 109s - $ hg book not-master 109s - $ hg tag beta 109s - abort: tag 'beta' already exists (use -f to force) 109s - [10] 109s - $ hg tag -f beta 109s -#if secret 109s - $ hg phase -d 109s -#endif 109s - $ hg push 109s - pushing to $TESTTMP/repo.git 109s - warning: not overwriting annotated tag 'beta' 109s - searching for changes 109s - adding objects 109s - remote: found 0 deltas to reuse 109s - added 1 commits with 1 trees and 1 blobs 109s - adding reference refs/heads/not-master 109s - $ hg tags 109s - tip 5:c49682c7cba4 109s - default/not-master 5:c49682c7cba4 109s - gamma 4:0eb1ab0073a8 109s - default/master 4:0eb1ab0073a8 109s - beta 4:0eb1ab0073a8 109s - detached 2:61175962e488 109s - alpha 0:ff7a2f2d8d70 109s - $ cd .. 109s - 109s -Check whether `gimport` handles tags 109s - 109s - $ cd hgrepo 109s - $ rm .hg/git-tags .hg/git-mapfile 109s - $ hg gimport 109s - importing 6 git commits 109s - $ hg tags -q 109s - tip 109s - default/not-master 109s - gamma 109s - default/master 109s - beta 109s - detached 109s - alpha 109s - $ cd .. 109s - 109s -Test how pulling an explicit branch with an annotated tag: 109s - 109s - $ hg clone -r master repo.git hgrepo-2 109s - importing 4 git commits 109s - new changesets ff7a2f2d8d70:0eb1ab0073a8 (4 drafts) 109s - updating to branch default 109s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 109s - $ hg log -r 'ancestors(master) and tagged()' -T shorttags -R hgrepo-2 109s - 0:ff7a2f2d8d70 draft alpha 109s - 1:7fe02317c63d draft beta 109s - 3:0eb1ab0073a8 draft default/master gamma tip 109s - $ hg tags -v -R hgrepo-2 109s - tip 3:0eb1ab0073a8 109s - gamma 3:0eb1ab0073a8 git 109s - default/master 3:0eb1ab0073a8 git-remote 109s - beta 1:7fe02317c63d git 109s - alpha 0:ff7a2f2d8d70 git 109s - $ GIT_DIR=hgrepo-2/.hg/git git fetch --quiet repo.git 109s - $ rm -rf hgrepo-2 109s - 109s - $ hg clone -r master repo.git hgrepo-2 109s - importing 4 git commits 109s - new changesets ff7a2f2d8d70:0eb1ab0073a8 (4 drafts) 109s - updating to branch default 109s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 109s - $ hg log -r 'tagged()' -T shorttags -R hgrepo-2 109s - 0:ff7a2f2d8d70 draft alpha 109s - 1:7fe02317c63d draft beta 109s - 3:0eb1ab0073a8 draft default/master gamma tip 109s -This used to die: 109s - $ hg -R hgrepo-2 gexport 109s -This used to fail, since we didn't actually pull the annotated tag: 109s - $ hg -R hgrepo-2 push 109s - pushing to $TESTTMP/repo.git 109s - searching for changes 109s - no changes found 109s - [1] 109s - $ rm -rf hgrepo-2 109s - 109s -Check that pulling will update phases only: 109s - 109s - $ cd hgrepo 109s - $ hg phase -fs gamma detached 109s - $ hg pull 109s - pulling from $TESTTMP/repo.git 109s - no changes found 109s - $ hg log -T shorttags -r gamma -r detached 109s - 4:0eb1ab0073a8 draft beta default/master gamma 109s - 2:61175962e488 draft detached X 109s - $ cd .. 109s - 109s -Check that we pull new tags to existing commits: 109s - $ cd gitrepo 109s - $ git tag 109s - alpha 109s - beta 109s - detached 109s - gamma 109s - $ fn_git_tag extra-simple-tag 109s - $ fn_git_tag -m annotated extra-annotated-tag 109s - $ git push --tags 109s - To $TESTTMP/repo.git 109s - * [new tag] extra-annotated-tag -> extra-annotated-tag 109s - * [new tag] extra-simple-tag -> extra-simple-tag 109s - $ cd ../hgrepo 109s - $ hg pull -r master 109s - pulling from $TESTTMP/repo.git 109s - no changes found 109s - $ hg tags -v | grep extra 109s - extra-simple-tag 1:7fe02317c63d git 109s - extra-annotated-tag 1:7fe02317c63d git 109s 109s ERROR: test-git-tags.t#secret output changed 109s ! 109s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-pull-after-rebase.t 109s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-pull-after-rebase.t.err 109s @@ -39,274 +39,99 @@ 109s 109s $ hg clone -U repo.git hgrepo 109s importing 3 git commits 109s - new changesets ff7a2f2d8d70:205a004356ef (3 drafts) 109s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 109s + ** which supports versions 6.9 of Mercurial. 109s + ** Please disable "hggit" and try your action again. 109s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 109s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 109s + ** Mercurial Distributed SCM (version 7.0.1) 109s + ** Extensions loaded: hggit unknown (dulwich 0.24.10), rebase 109s + Traceback (most recent call last): 109s + File "/usr/bin/hg", line 51, in 109s + dispatch.run() 109s + ~~~~~~~~~~~~^^ 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 109s + status = dispatch(req) 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 109s + status = _rundispatch(req) 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 109s + ret = _runcatch(req) or 0 109s + ~~~~~~~~~^^^^^ 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 109s + return _callcatch(ui, _runcatchfunc) 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 109s + return scmutil.callcatch(ui, func) 109s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 109s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 109s + return func() 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 109s + return _dispatch(req) 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 109s + return runcommand( 109s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 109s + ) 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 109s + ret = _runcommand(ui, options, cmd, d) 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 109s + return cmdfunc() 109s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 109s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 109s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 109s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 109s + return func(*args, **kwargs) 109s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 109s + r = hg.clone( 109s + ui, 109s + ...<11 lines>... 109s + depth=opts.get('depth') or None, 109s + ) 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 109s + srcpeer, destpeer = orig(*args, **opts) 109s + ~~~~^^^^^^^^^^^^^^^ 109s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 109s + exchange.pull( 109s + ~~~~~~~~~~~~~^ 109s + local, 109s + ^^^^^^ 109s + ...<5 lines>... 109s + depth=depth, 109s + ^^^^^^^^^^^^ 109s + ) 109s + ^ 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 109s + return f(*args, **kwargs) 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 109s + pullop.cgresult = repo.githandler.fetch(remote, heads) 109s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 109s + imported = self.import_git_objects( 109s + b'pull', 109s + ...<2 lines>... 109s + heads=heads, 109s + ) 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 109s + self.import_git_commit( 109s + ~~~~~~~~~~~~~~~~~~~~~~^ 109s + command, 109s + ^^^^^^^^ 109s + self.git[commit.sha], 109s + ^^^^^^^^^^^^^^^^^^^^^ 109s + commit.phase, 109s + ^^^^^^^^^^^^^ 109s + ) 109s + ^ 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 109s + files, gitlinks, git_renames = self.get_files_changed( 109s + ~~~~~~~~~~~~~~~~~~~~~~^ 109s + commit, detect_renames 109s + ^^^^^^^^^^^^^^^^^^^^^^ 109s + ) 109s + ^ 109s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 109s + oldfile, oldmode, oldsha = change.old 109s + ^^^^^^^^^^^^^^^^^^^^^^^^ 109s + TypeError: cannot unpack non-iterable NoneType object 109s + [1] 109s $ cd hgrepo 109s + $TESTTMP.sh: 48: cd: can't cd to hgrepo 109s $ hg state 109s - o branch default/branch tip 2:205a004356ef32b8da782afb89d9179d12ca31e9 109s - | add gamma 109s - | o master default/master 1:7fe02317c63d9ee324d4b5df7c9296085162da1b 109s - |/ add beta 109s - o 0:ff7a2f2d8d7099694ae1e8b03838d40575bebb63 109s - add alpha 109s - $ hg up branch 109s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 109s - (activating bookmark branch) 109s - $ hg rebase --quiet -d master 109s - $ hg state 109s - @ branch tip 3:52def9937d74e43b83dfded6ce0e5adf731b9d22 109s - | add gamma 109s - | x default/branch 2:205a004356ef32b8da782afb89d9179d12ca31e9 109s - | | add gamma 109s - o | master default/master 1:7fe02317c63d9ee324d4b5df7c9296085162da1b 109s - |/ add beta 109s - o 0:ff7a2f2d8d7099694ae1e8b03838d40575bebb63 109s - add alpha 109s - 109s - $ hg push -fr tip 109s - pushing to $TESTTMP/repo.git 109s - searching for changes 109s - adding objects 109s - remote: found 0 deltas to reuse 109s - added 1 commits with 1 trees and 1 blobs 109s - updating reference refs/heads/branch 109s - $ cd .. 109s - 109s -Now switch back to git and create a new commit based on what we just rebased 109s - 109s - $ cd gitrepo 109s - $ git checkout --quiet -b otherbranch branch 109s - $ git log --oneline --graph --all --decorate 109s - * e5023f9 (HEAD -> otherbranch, origin/branch, branch) add gamma 109s - | * 9497a4e (origin/master, master) add beta 109s - |/ 109s - * 7eeab2e add alpha 109s - $ echo delta > delta 109s - $ git add delta 109s - $ fn_git_commit -m 'add delta' 109s - $ git push --quiet --set-upstream origin otherbranch 109s - Branch 'otherbranch' set up to track remote branch 'otherbranch' from 'origin'. (?) 109s - $ git log --oneline --graph --all --decorate 109s - * bba0011 (HEAD -> otherbranch, origin/otherbranch) add delta 109s - * e5023f9 (origin/branch, branch) add gamma 109s - | * 9497a4e (origin/master, master) add beta 109s - |/ 109s - * 7eeab2e add alpha 109s - $ cd .. 109s - 109s -Pull that 109s - 109s - $ cd hgrepo 109s - $ hg pull 109s - pulling from $TESTTMP/repo.git 109s - importing 1 git commits 109s - adding bookmark otherbranch 109s - 1 new orphan changesets 109s - new changesets 075302705298 (1 drafts) 109s - (run 'hg heads' to see heads, 'hg merge' to merge) 109s - $ hg state 109s - * otherbranch default/otherbranch tip 4:0753027052980aef9c9c37adb7d76d5719e8d818 109s - | add delta 109s - | @ branch default/branch 3:52def9937d74e43b83dfded6ce0e5adf731b9d22 109s - | | add gamma 109s - x | 2:205a004356ef32b8da782afb89d9179d12ca31e9 109s - | | add gamma 109s - | o master default/master 1:7fe02317c63d9ee324d4b5df7c9296085162da1b 109s - |/ add beta 109s - o 0:ff7a2f2d8d7099694ae1e8b03838d40575bebb63 109s - add alpha 109s - 109s - $ cd .. 109s - 109s -To reproduce bug #386, do like github and save the old commit in a 109s -ref, and create a clone containing just the converted git commits: 109s - 109s - $ cd repo.git 109s - $ git update-ref refs/pr/1 otherbranch 109s - $ cd .. 109s - $ hg clone -U repo.git hgrepo-issue386 109s - importing 5 git commits 109s - new changesets ff7a2f2d8d70:075302705298 (5 drafts) 109s - 109s -Now try rebasing that branch, from the Git side of things 109s - 109s - $ cd gitrepo 109s - $ git checkout -q otherbranch 109s - $ git log --oneline --graph --all --decorate 109s - * bba0011 (HEAD -> otherbranch, origin/otherbranch) add delta 109s - * e5023f9 (origin/branch, branch) add gamma 109s - | * 9497a4e (origin/master, master) add beta 109s - |/ 109s - * 7eeab2e add alpha 109s - $ fn_git_rebase --onto master branch otherbranch 109s - $ git log --oneline --graph --all --decorate 109s - * 9c58139 (HEAD -> otherbranch) add delta 109s - * 9497a4e (origin/master, master) add beta 109s - | * bba0011 (origin/otherbranch) add delta 109s - | * e5023f9 (origin/branch, branch) add gamma 109s - |/ 109s - * 7eeab2e add alpha 109s - $ git push -f 109s - To $TESTTMP/repo.git 109s - + bba0011...9c58139 otherbranch -> otherbranch (forced update) 109s - $ git log --oneline --graph --all --decorate 109s - * 9c58139 (HEAD -> otherbranch, origin/otherbranch) add delta 109s - * 9497a4e (origin/master, master) add beta 109s - | * e5023f9 (origin/branch, branch) add gamma 109s - |/ 109s - * 7eeab2e add alpha 109s - $ cd .. 109s - 109s -Now strip the old commit 109s - 109s - $ cd hgrepo-issue386 109s - $ hg up null 109s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 109s - $ hg id -qr otherbranch 109s - 075302705298 109s - $ hg pull 109s - pulling from $TESTTMP/repo.git 109s - importing 1 git commits 109s - not updating diverged bookmark otherbranch 109s - new changesets d64bf0521af6 (1 drafts) 109s - (run 'hg heads .' to see heads, 'hg merge' to merge) 109s - $ hg debugstrip --hidden --no-backup otherbranch 109s - $ hg book -d otherbranch 109s - $ hg git-cleanup 109s - git commit map cleaned 109s - $ hg pull 109s - pulling from $TESTTMP/repo.git 109s - no changes found 109s - adding bookmark otherbranch 109s - $ cd .. 109s - 109s -And check that pulling something else doesn't delete that branch. 109s - 109s - $ cd hgrepo 109s - $ hg pull -r master 109s - pulling from $TESTTMP/repo.git 109s - no changes found 109s - $ cd .. 109s - 109s -A special case, is that we can pull into a repository, where a commit 109s -corresponding to the new branch exists, but that commit is obsolete. 109s -In order to avoid “pinning” the obsolete commit, and thereby making it 109s -visible, we first pull from Git as an unnamed remote. 109s - 109s - $ hg clone --config phases.publish=no hgrepo hgrepo-clone 109s - updating to branch default 109s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 109s - $ cd hgrepo-clone 109s - $ hg pull ../repo.git 109s - pulling from ../repo.git 109s - importing 4 git commits 109s - not updating diverged bookmark otherbranch 109s - new changesets d64bf0521af6 (1 drafts) 109s - (run 'hg heads .' to see heads, 'hg merge' to merge) 109s - $ hg debugobsolete d64bf0521af68fe2160791a1b4ab9baf282a3879 109s - 1 new obsolescence markers 109s - obsoleted 1 changesets 109s - $ cp ../hgrepo/.hg/hgrc .hg 109s - $ hg pull 109s - pulling from $TESTTMP/repo.git 109s - no changes found 109s - not updating diverged bookmark otherbranch 109s - $ cd .. 109s - $ rm -rf hgrepo-clone 109s - 109s -Another special case, is that we should update commits over obsolete boundaries: 109s - 109s - $ hg clone --config phases.publish=no hgrepo hgrepo-clone 109s - updating to branch default 109s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 109s - $ cd hgrepo-clone 109s - $ hg pull ../repo.git 109s - pulling from ../repo.git 109s - importing 4 git commits 109s - not updating diverged bookmark otherbranch 109s - new changesets d64bf0521af6 (1 drafts) 109s - (run 'hg heads .' to see heads, 'hg merge' to merge) 109s - $ hg debugobsolete 0753027052980aef9c9c37adb7d76d5719e8d818 d64bf0521af68fe2160791a1b4ab9baf282a3879 109s - 1 new obsolescence markers 109s - obsoleted 1 changesets 109s - $ hg book -r 075302705298 otherbranch 109s - $ cp ../hgrepo/.hg/hgrc .hg 109s - $ hg pull 109s - pulling from $TESTTMP/repo.git 109s - no changes found 109s - updating bookmark otherbranch 109s - $ cd .. 109s - $ rm -rf hgrepo-clone 109s - 109s -Now just pull it: 109s - 109s - $ cd hgrepo 109s - $ hg pull 109s - pulling from $TESTTMP/repo.git 109s - importing 1 git commits 109s - not updating diverged bookmark otherbranch 109s - new changesets d64bf0521af6 (1 drafts) 109s - (run 'hg heads .' to see heads, 'hg merge' to merge) 109s - $ hg state 109s - o default/otherbranch tip 5:d64bf0521af68fe2160791a1b4ab9baf282a3879 109s - | add delta 109s - | * otherbranch 4:0753027052980aef9c9c37adb7d76d5719e8d818 109s - | | add delta 109s - +---@ branch default/branch 3:52def9937d74e43b83dfded6ce0e5adf731b9d22 109s - | | add gamma 109s - | x 2:205a004356ef32b8da782afb89d9179d12ca31e9 109s - | | add gamma 109s - o | master default/master 1:7fe02317c63d9ee324d4b5df7c9296085162da1b 109s - |/ add beta 109s - o 0:ff7a2f2d8d7099694ae1e8b03838d40575bebb63 109s - add alpha 109s - $ cd .. 109s - 109s -And finally, delete it: 109s - 109s - $ cd gitrepo 109s - $ git push origin :otherbranch 109s - To $TESTTMP/repo.git 109s - - [deleted] otherbranch 109s - $ cd .. 109s - 109s -And pull that: 109s - 109s - $ cd hgrepo 109s - $ hg pull 109s - pulling from $TESTTMP/repo.git 109s - no changes found 109s - not deleting diverged bookmark otherbranch 109s - $ hg state 109s - o tip 5:d64bf0521af68fe2160791a1b4ab9baf282a3879 109s - | add delta 109s - | * otherbranch 4:0753027052980aef9c9c37adb7d76d5719e8d818 109s - | | add delta 109s - +---@ branch default/branch 3:52def9937d74e43b83dfded6ce0e5adf731b9d22 109s - | | add gamma 109s - | x 2:205a004356ef32b8da782afb89d9179d12ca31e9 109s - | | add gamma 109s - o | master default/master 1:7fe02317c63d9ee324d4b5df7c9296085162da1b 109s - |/ add beta 109s - o 0:ff7a2f2d8d7099694ae1e8b03838d40575bebb63 109s - add alpha 109s - $ cd .. 109s - 109s -We only get that message once: 109s - 109s - $ hg -R hgrepo pull 109s - pulling from $TESTTMP/repo.git 109s - no changes found 109s - 109s -Now try deleting one already gone locally, which shouldn't output 109s -anything: 109s - 109s - $ cd gitrepo 109s - $ git push origin :branch 109s - To $TESTTMP/repo.git 109s - - [deleted] branch 109s - $ cd ../hgrepo 109s - $ hg book -d branch 109s - $ hg pull 109s - pulling from $TESTTMP/repo.git 109s - no changes found 109s - $ cd .. 109s 109s ERROR: test-pull-after-rebase.t output changed 110s ! 110s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push.t 110s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push.t.err 110s @@ -13,286 +13,100 @@ 110s $ cd .. 110s $ hg clone -u tip gitrepo hgrepo 110s importing 1 git commits 110s - new changesets ff7a2f2d8d70 (1 drafts) 110s - updating to branch default 110s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 110s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 110s + ** which supports versions 6.9 of Mercurial. 110s + ** Please disable "hggit" and try your action again. 110s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 110s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 110s + ** Mercurial Distributed SCM (version 7.0.1) 110s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 110s + Traceback (most recent call last): 110s + File "/usr/bin/hg", line 51, in 110s + dispatch.run() 110s + ~~~~~~~~~~~~^^ 110s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 110s + status = dispatch(req) 110s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 110s + status = _rundispatch(req) 110s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 110s + ret = _runcatch(req) or 0 110s + ~~~~~~~~~^^^^^ 110s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 110s + return _callcatch(ui, _runcatchfunc) 110s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 110s + return scmutil.callcatch(ui, func) 110s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 110s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 110s + return func() 110s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 110s + return _dispatch(req) 110s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 110s + return runcommand( 110s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 110s + ) 110s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 110s + ret = _runcommand(ui, options, cmd, d) 110s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 110s + return cmdfunc() 110s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 110s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 110s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 110s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 110s + return func(*args, **kwargs) 110s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 110s + r = hg.clone( 110s + ui, 110s + ...<11 lines>... 110s + depth=opts.get('depth') or None, 110s + ) 110s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 110s + srcpeer, destpeer = orig(*args, **opts) 110s + ~~~~^^^^^^^^^^^^^^^ 110s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 110s + exchange.pull( 110s + ~~~~~~~~~~~~~^ 110s + local, 110s + ^^^^^^ 110s + ...<5 lines>... 110s + depth=depth, 110s + ^^^^^^^^^^^^ 110s + ) 110s + ^ 110s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 110s + return f(*args, **kwargs) 110s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 110s + pullop.cgresult = repo.githandler.fetch(remote, heads) 110s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 110s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 110s + imported = self.import_git_objects( 110s + b'pull', 110s + ...<2 lines>... 110s + heads=heads, 110s + ) 110s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 110s + self.import_git_commit( 110s + ~~~~~~~~~~~~~~~~~~~~~~^ 110s + command, 110s + ^^^^^^^^ 110s + self.git[commit.sha], 110s + ^^^^^^^^^^^^^^^^^^^^^ 110s + commit.phase, 110s + ^^^^^^^^^^^^^ 110s + ) 110s + ^ 110s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 110s + files, gitlinks, git_renames = self.get_files_changed( 110s + ~~~~~~~~~~~~~~~~~~~~~~^ 110s + commit, detect_renames 110s + ^^^^^^^^^^^^^^^^^^^^^^ 110s + ) 110s + ^ 110s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 110s + oldfile, oldmode, oldsha = change.old 110s + ^^^^^^^^^^^^^^^^^^^^^^^^ 110s + TypeError: cannot unpack non-iterable NoneType object 110s + [1] 110s 110s $ cd hgrepo 110s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 110s $ hg bookmark -q master 110s - $ echo beta > beta 110s - $ hg add beta 110s - $ fn_hg_commit -m 'add beta' 110s - 110s - 110s - $ echo gamma > gamma 110s - $ hg add gamma 110s - $ fn_hg_commit -m 'add gamma' 110s - 110s - $ hg book -r 1 beta 110s - $ hg push -r beta 110s - pushing to $TESTTMP/gitrepo 110s - searching for changes 110s - adding objects 110s - remote: found 0 deltas to reuse 110s - added 1 commits with 1 trees and 1 blobs 110s - adding reference refs/heads/beta 110s - 110s - $ cd .. 110s - 110s -should have two different branches 110s - $ cd gitrepo 110s - $ git branch -v 110s - beta 0f378ab add beta 110s - master 7eeab2e add alpha 110s - * not-master 7eeab2e add alpha 110s - 110s -some more work on master from git 110s - $ git checkout master 2>&1 | sed s/\'/\"/g 110s - Switched to branch "master" 110s - $ echo delta > delta 110s - $ git add delta 110s - $ fn_git_commit -m "add delta" 110s - $ git checkout not-master 2>&1 | sed s/\'/\"/g 110s - Switched to branch "not-master" 110s - 110s - $ cd .. 110s - 110s - $ cd hgrepo 110s -this should fail 110s - $ hg push -r master 110s - pushing to $TESTTMP/gitrepo 110s - searching for changes 110s - abort: branch 'refs/heads/master' changed on the server, please pull and merge before pushing 110s - [255] 110s - 110s -... even with -f 110s - $ hg push -fr master 110s - pushing to $TESTTMP/gitrepo 110s - searching for changes 110s - abort: branch 'refs/heads/master' changed on the server, please pull and merge before pushing 110s - [255] 110s - 110s - $ hg pull 2>&1 | grep -v 'divergent bookmark' 110s - pulling from $TESTTMP/gitrepo 110s - importing 1 git commits 110s - not updating diverged bookmark master 110s - new changesets 25eed24f5e8f (1 drafts) 110s - (run 'hg heads' to see heads, 'hg merge' to merge) 110s -TODO shouldn't need to do this since we're (in theory) pushing master explicitly, 110s -which should not implicitly also push the not-master ref. 110s - $ hg book not-master -r default/not-master --force 110s -master and default/master should be diferent 110s - $ hg log -r master 110s - changeset: 2:953796e1cfd8 110s - bookmark: master 110s - user: test 110s - date: Mon Jan 01 00:00:12 2007 +0000 110s - summary: add gamma 110s - 110s - $ hg log -r default/master 110s - changeset: 3:25eed24f5e8f 110s - tag: default/master 110s - tag: tip 110s - parent: 0:ff7a2f2d8d70 110s - user: test 110s - date: Mon Jan 01 00:00:13 2007 +0000 110s - summary: add delta 110s - 110s - 110s -this should also fail 110s - $ hg push -r master 110s - pushing to $TESTTMP/gitrepo 110s - searching for changes 110s - abort: pushing refs/heads/master overwrites 953796e1cfd8 110s - [255] 110s - 110s -... but succeed with -f 110s - $ hg push -fr master 110s - pushing to $TESTTMP/gitrepo 110s - searching for changes 110s - adding objects 110s - remote: found 0 deltas to reuse 110s - added 1 commits with 1 trees and 1 blobs 110s - updating reference refs/heads/master 110s - 110s -this should fail, no changes to push 110s - $ hg push -r master 110s - pushing to $TESTTMP/gitrepo 110s - searching for changes 110s - no changes found 110s - [1] 110s - 110s -hg-git issue103 -- directories can lose information at hg-git export time 110s - 110s - $ hg up master 110s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 110s - $ mkdir dir1 110s - $ echo alpha > dir1/alpha 110s - $ hg add dir1/alpha 110s - $ fn_hg_commit -m 'add dir1/alpha' 110s - $ hg push -r master 110s - pushing to $TESTTMP/gitrepo 110s - searching for changes 110s - adding objects 110s - remote: found 0 deltas to reuse 110s - added 1 commits with 2 trees and 0 blobs 110s - updating reference refs/heads/master 110s - 110s - $ echo beta > dir1/beta 110s - $ hg add dir1/beta 110s - $ fn_hg_commit -m 'add dir1/beta' 110s - $ hg push -r master 110s - pushing to $TESTTMP/gitrepo 110s - searching for changes 110s - adding objects 110s - remote: found 0 deltas to reuse 110s - added 1 commits with 2 trees and 0 blobs 110s - updating reference refs/heads/master 110s - $ hg log -r master 110s - changeset: 5:ba0476ff1899 110s - bookmark: master 110s - tag: default/master 110s - tag: tip 110s - user: test 110s - date: Mon Jan 01 00:00:15 2007 +0000 110s - summary: add dir1/beta 110s - 110s - 110s - $ cat >> .hg/hgrc << EOF 110s - > [paths] 110s - > default:pushurl = file:///$TESTTMP/gitrepo 110s - > EOF 110s -NB: the triple slashes are intentional, due to windows 110s - $ hg push -r master 110s - pushing to file:///$TESTTMP/gitrepo 110s - searching for changes 110s - no changes found 110s - [1] 110s - 110s - $ cd .. 110s - 110s - $ hg clone -u tip gitrepo hgrepo-test 110s - importing 5 git commits 110s - new changesets ff7a2f2d8d70:ba0476ff1899 (5 drafts) 110s - updating to branch default 110s - 5 files updated, 0 files merged, 0 files removed, 0 files unresolved 110s - $ hg -R hgrepo-test log -r master 110s - changeset: 4:ba0476ff1899 110s - bookmark: master 110s - tag: default/master 110s - tag: tip 110s - user: test 110s - date: Mon Jan 01 00:00:15 2007 +0000 110s - summary: add dir1/beta 110s - 110s - $ hg tags -R hgrepo-test | grep ^default/ 110s - default/master 4:ba0476ff1899 110s - default/beta 1:47580592d3d6 110s - default/not-master 0:ff7a2f2d8d70 110s - 110s -Push a fast-forward to a currently checked out branch, which sometimes 110s -fails: 110s - 110s - $ cd hgrepo 110s - $ hg book -r master not-master 110s - moving bookmark 'not-master' forward from ff7a2f2d8d70 110s - $ hg push 110s - pushing to file:///$TESTTMP/gitrepo 110s - searching for changes 110s - warning: failed to update HEAD; unable to set b'HEAD' to b'7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03' (?) 110s - updating reference refs/heads/not-master 110s -That should have updated the tag: 110s - $ hg tags | grep ^default/ 110s - default/not-master 5:ba0476ff1899 110s - default/master 5:ba0476ff1899 110s - default/beta 1:47580592d3d6 110s - $ cd .. 110s - 110s -We can push only one of two bookmarks on the same revision: 110s - 110s - $ cd hgrepo 110s - $ hg book -r 0 also-not-master really-not-master 110s - $ hg push -B also-not-master 110s - pushing to file:///$TESTTMP/gitrepo 110s - searching for changes 110s - adding reference refs/heads/also-not-master 110s - 110s -We can also push another bookmark to a path with another revision 110s -specified: 110s - 110s - $ hg book -r 3 also-not-master 110s - moving bookmark 'also-not-master' forward from ff7a2f2d8d70 110s - $ hg push -B also-not-master "file:///$TESTTMP/gitrepo#master" 110s - pushing to file:///$TESTTMP/gitrepo 110s - searching for changes 110s - adding objects 110s - remote: found 0 deltas to reuse 110s - added 1 commits with 1 trees and 1 blobs 110s - updating reference refs/heads/also-not-master 110s - 110s -And we can delete them again afterwards: 110s - 110s - $ hg book -d also-not-master really-not-master 110s - $ hg push -B also-not-master -B really-not-master 110s - pushing to file:///$TESTTMP/gitrepo 110s - searching for changes 110s - warning: unable to delete 'refs/heads/really-not-master' as it does not exist on the remote repository 110s - deleting reference refs/heads/also-not-master 110s - 110s -Push empty Hg repo to empty Git repo (issue #58) 110s - $ hg init hgrepo2 110s - $ git init -q --bare repo.git 110s - $ hg -R hgrepo2 push repo.git 110s - pushing to repo.git 110s - searching for changes 110s - abort: no bookmarks or tags to push to git 110s - (see "hg help bookmarks" for details on creating them) 110s - [255] 110s - 110s -The remote repo is empty and the local one doesn't have any bookmarks/tags 110s - $ cd hgrepo2 110s - $ echo init >> test.txt 110s - $ hg addremove 110s - adding test.txt 110s - $ fn_hg_commit -m init 110s - $ hg update null 110s - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 110s - $ hg push ../repo.git 110s - pushing to ../repo.git 110s - searching for changes 110s - abort: no bookmarks or tags to push to git 110s - (see "hg help bookmarks" for details on creating them) 110s - [255] 110s - $ hg summary 110s - parent: -1:000000000000 (no revision checked out) 110s - branch: default 110s - commit: (clean) 110s - update: 1 new changesets (update) 110s - phases: 1 draft 110s -That should not create any bookmarks 110s - $ hg bookmarks 110s - no bookmarks set 110s -And no tags for the remotes either: 110s - $ hg tags 110s - tip 0:8aded40be5af 110s - 110s -test for ssh vulnerability 110s - 110s - $ cat >> $HGRCPATH << EOF 110s - > [ui] 110s - > ssh = ssh -o ConnectTimeout=1 110s - > EOF 110s - $ hg push -q 'git+ssh://-oProxyCommand=rm${IFS}nonexistent/path' 110s - abort: potentially unsafe hostname: '-oProxyCommand=rm${IFS}nonexistent' 110s - [255] 110s - $ hg push -q 'git+ssh://-oProxyCommand=rm%20nonexistent/path' 110s - abort: potentially unsafe hostname: '-oProxyCommand=rm nonexistent' 110s - [255] 110s - $ hg push -q 'git+ssh://fakehost|rm%20nonexistent/path' 110s - ssh: * fakehost%7?rm%20nonexistent* (glob) 110s - abort: git remote error: The remote server unexpectedly closed the connection. 110s - [255] 110s - $ hg push -q 'git+ssh://fakehost%7Crm%20nonexistent/path' 110s - ssh: * fakehost%7?rm%20nonexistent* (glob) 110s - abort: git remote error: The remote server unexpectedly closed the connection. 110s - [255] 110s 110s ERROR: test-push.t output changed 119s ! 119s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-clone.t 119s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-clone.t#draft.err 119s @@ -39,59 +39,218 @@ 119s 119s $ hg clone -r alpha gitrepo hgrepo-a 119s importing 1 git commits 119s - new changesets ff7a2f2d8d70 (1 drafts) 119s - updating to branch default 119s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 119s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 119s + ** which supports versions 6.9 of Mercurial. 119s + ** Please disable "hggit" and try your action again. 119s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 119s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 119s + ** Mercurial Distributed SCM (version 7.0.1) 119s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 119s + Traceback (most recent call last): 119s + File "/usr/bin/hg", line 51, in 119s + dispatch.run() 119s + ~~~~~~~~~~~~^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 119s + status = dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 119s + status = _rundispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 119s + ret = _runcatch(req) or 0 119s + ~~~~~~~~~^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 119s + return _callcatch(ui, _runcatchfunc) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 119s + return scmutil.callcatch(ui, func) 119s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 119s + return func() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 119s + return _dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 119s + return runcommand( 119s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 119s + ) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 119s + ret = _runcommand(ui, options, cmd, d) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 119s + return cmdfunc() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 119s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 119s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 119s + return func(*args, **kwargs) 119s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 119s + r = hg.clone( 119s + ui, 119s + ...<11 lines>... 119s + depth=opts.get('depth') or None, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 119s + srcpeer, destpeer = orig(*args, **opts) 119s + ~~~~^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 119s + exchange.pull( 119s + ~~~~~~~~~~~~~^ 119s + local, 119s + ^^^^^^ 119s + ...<5 lines>... 119s + depth=depth, 119s + ^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 119s + return f(*args, **kwargs) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 119s + pullop.cgresult = repo.githandler.fetch(remote, heads) 119s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 119s + imported = self.import_git_objects( 119s + b'pull', 119s + ...<2 lines>... 119s + heads=heads, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 119s + self.import_git_commit( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + command, 119s + ^^^^^^^^ 119s + self.git[commit.sha], 119s + ^^^^^^^^^^^^^^^^^^^^^ 119s + commit.phase, 119s + ^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 119s + files, gitlinks, git_renames = self.get_files_changed( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + commit, detect_renames 119s + ^^^^^^^^^^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 119s + oldfile, oldmode, oldsha = change.old 119s + ^^^^^^^^^^^^^^^^^^^^^^^^ 119s + TypeError: cannot unpack non-iterable NoneType object 119s + [1] 119s $ hg -R hgrepo-a bookmarks 119s - master 0:ff7a2f2d8d70 119s + abort: repository hgrepo-a not found 119s + [255] 119s $ hg -R hgrepo-a log --graph --template=phases 119s - @ changeset: 0:ff7a2f2d8d70 119s - bookmark: master 119s - tag: alpha 119s - tag: default/master 119s - tag: tip 119s - phase: draft 119s - user: test 119s - date: Mon Jan 01 00:00:10 2007 +0000 119s - summary: add alpha 119s - 119s + abort: repository hgrepo-a not found 119s + [255] 119s $ git --git-dir hgrepo-a/.hg/git for-each-ref 119s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 119s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 119s + fatal: not a git repository: 'hgrepo-a/.hg/git' 119s + [128] 119s Make sure this is still draft since we didn't pull remote's HEAD 119s $ hg -R hgrepo-a phase -r alpha 119s - 0: draft 119s + abort: repository hgrepo-a not found 119s + [255] 119s 119s clone a branch 119s $ hg clone -r beta gitrepo hgrepo-b 119s importing 2 git commits 119s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 119s - updating to branch default 119s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 119s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 119s + ** which supports versions 6.9 of Mercurial. 119s + ** Please disable "hggit" and try your action again. 119s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 119s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 119s + ** Mercurial Distributed SCM (version 7.0.1) 119s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 119s + Traceback (most recent call last): 119s + File "/usr/bin/hg", line 51, in 119s + dispatch.run() 119s + ~~~~~~~~~~~~^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 119s + status = dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 119s + status = _rundispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 119s + ret = _runcatch(req) or 0 119s + ~~~~~~~~~^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 119s + return _callcatch(ui, _runcatchfunc) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 119s + return scmutil.callcatch(ui, func) 119s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 119s + return func() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 119s + return _dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 119s + return runcommand( 119s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 119s + ) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 119s + ret = _runcommand(ui, options, cmd, d) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 119s + return cmdfunc() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 119s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 119s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 119s + return func(*args, **kwargs) 119s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 119s + r = hg.clone( 119s + ui, 119s + ...<11 lines>... 119s + depth=opts.get('depth') or None, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 119s + srcpeer, destpeer = orig(*args, **opts) 119s + ~~~~^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 119s + exchange.pull( 119s + ~~~~~~~~~~~~~^ 119s + local, 119s + ^^^^^^ 119s + ...<5 lines>... 119s + depth=depth, 119s + ^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 119s + return f(*args, **kwargs) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 119s + pullop.cgresult = repo.githandler.fetch(remote, heads) 119s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 119s + imported = self.import_git_objects( 119s + b'pull', 119s + ...<2 lines>... 119s + heads=heads, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 119s + self.import_git_commit( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + command, 119s + ^^^^^^^^ 119s + self.git[commit.sha], 119s + ^^^^^^^^^^^^^^^^^^^^^ 119s + commit.phase, 119s + ^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 119s + files, gitlinks, git_renames = self.get_files_changed( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + commit, detect_renames 119s + ^^^^^^^^^^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 119s + oldfile, oldmode, oldsha = change.old 119s + ^^^^^^^^^^^^^^^^^^^^^^^^ 119s + TypeError: cannot unpack non-iterable NoneType object 119s + [1] 119s $ hg -R hgrepo-b bookmarks 119s - * beta 1:7fe02317c63d 119s - master 0:ff7a2f2d8d70 119s + abort: repository hgrepo-b not found 119s + [255] 119s $ hg -R hgrepo-b log --graph 119s - @ changeset: 1:7fe02317c63d 119s - | bookmark: beta 119s - | tag: default/beta 119s - | tag: tip 119s - | user: test 119s - | date: Mon Jan 01 00:00:11 2007 +0000 119s - | summary: add beta 119s - | 119s - o changeset: 0:ff7a2f2d8d70 119s - bookmark: master 119s - tag: alpha 119s - tag: default/master 119s - user: test 119s - date: Mon Jan 01 00:00:10 2007 +0000 119s - summary: add alpha 119s - 119s + abort: repository hgrepo-b not found 119s + [255] 119s $ git --git-dir hgrepo-b/.hg/git for-each-ref 119s - 9497a4ee62e16ee641860d7677cdb2589ea15554 commit refs/remotes/default/beta 119s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 119s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 119s + fatal: not a git repository: 'hgrepo-b/.hg/git' 119s + [128] 119s 119s Make sure that a deleted .hgsubstate does not confuse hg-git 119s 119s @@ -105,47 +264,224 @@ 119s 119s $ hg clone -r beta gitrepo hgrepo-c 119s importing 4 git commits 119s - new changesets ff7a2f2d8d70:47d12948785d (4 drafts) 119s - updating to branch default 119s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 119s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 119s + ** which supports versions 6.9 of Mercurial. 119s + ** Please disable "hggit" and try your action again. 119s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 119s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 119s + ** Mercurial Distributed SCM (version 7.0.1) 119s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 119s + Traceback (most recent call last): 119s + File "/usr/bin/hg", line 51, in 119s + dispatch.run() 119s + ~~~~~~~~~~~~^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 119s + status = dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 119s + status = _rundispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 119s + ret = _runcatch(req) or 0 119s + ~~~~~~~~~^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 119s + return _callcatch(ui, _runcatchfunc) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 119s + return scmutil.callcatch(ui, func) 119s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 119s + return func() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 119s + return _dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 119s + return runcommand( 119s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 119s + ) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 119s + ret = _runcommand(ui, options, cmd, d) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 119s + return cmdfunc() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 119s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 119s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 119s + return func(*args, **kwargs) 119s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 119s + r = hg.clone( 119s + ui, 119s + ...<11 lines>... 119s + depth=opts.get('depth') or None, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 119s + srcpeer, destpeer = orig(*args, **opts) 119s + ~~~~^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 119s + exchange.pull( 119s + ~~~~~~~~~~~~~^ 119s + local, 119s + ^^^^^^ 119s + ...<5 lines>... 119s + depth=depth, 119s + ^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 119s + return f(*args, **kwargs) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 119s + pullop.cgresult = repo.githandler.fetch(remote, heads) 119s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 119s + imported = self.import_git_objects( 119s + b'pull', 119s + ...<2 lines>... 119s + heads=heads, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 119s + self.import_git_commit( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + command, 119s + ^^^^^^^^ 119s + self.git[commit.sha], 119s + ^^^^^^^^^^^^^^^^^^^^^ 119s + commit.phase, 119s + ^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 119s + files, gitlinks, git_renames = self.get_files_changed( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + commit, detect_renames 119s + ^^^^^^^^^^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 119s + oldfile, oldmode, oldsha = change.old 119s + ^^^^^^^^^^^^^^^^^^^^^^^^ 119s + TypeError: cannot unpack non-iterable NoneType object 119s + [1] 119s $ hg -R hgrepo-c bookmarks 119s - * beta 3:47d12948785d 119s - master 0:ff7a2f2d8d70 119s + abort: repository hgrepo-c not found 119s + [255] 119s $ hg --cwd hgrepo-c status 119s + abort: No such file or directory: 'hgrepo-c' 119s + [255] 119s $ git --git-dir hgrepo-c/.hg/git for-each-ref 119s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 119s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 119s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 119s + fatal: not a git repository: 'hgrepo-c/.hg/git' 119s + [128] 119s 119s test shared repositories 119s 119s $ hg clone gitrepo hgrepo-base 119s importing 5 git commits 119s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 119s - updating to bookmark beta 119s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 119s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 119s + ** which supports versions 6.9 of Mercurial. 119s + ** Please disable "hggit" and try your action again. 119s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 119s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 119s + ** Mercurial Distributed SCM (version 7.0.1) 119s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 119s + Traceback (most recent call last): 119s + File "/usr/bin/hg", line 51, in 119s + dispatch.run() 119s + ~~~~~~~~~~~~^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 119s + status = dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 119s + status = _rundispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 119s + ret = _runcatch(req) or 0 119s + ~~~~~~~~~^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 119s + return _callcatch(ui, _runcatchfunc) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 119s + return scmutil.callcatch(ui, func) 119s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 119s + return func() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 119s + return _dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 119s + return runcommand( 119s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 119s + ) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 119s + ret = _runcommand(ui, options, cmd, d) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 119s + return cmdfunc() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 119s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 119s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 119s + return func(*args, **kwargs) 119s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 119s + r = hg.clone( 119s + ui, 119s + ...<11 lines>... 119s + depth=opts.get('depth') or None, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 119s + srcpeer, destpeer = orig(*args, **opts) 119s + ~~~~^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 119s + exchange.pull( 119s + ~~~~~~~~~~~~~^ 119s + local, 119s + ^^^^^^ 119s + ...<5 lines>... 119s + depth=depth, 119s + ^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 119s + return f(*args, **kwargs) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 119s + pullop.cgresult = repo.githandler.fetch(remote, heads) 119s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 119s + imported = self.import_git_objects( 119s + b'pull', 119s + ...<2 lines>... 119s + heads=heads, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 119s + self.import_git_commit( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + command, 119s + ^^^^^^^^ 119s + self.git[commit.sha], 119s + ^^^^^^^^^^^^^^^^^^^^^ 119s + commit.phase, 119s + ^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 119s + files, gitlinks, git_renames = self.get_files_changed( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + commit, detect_renames 119s + ^^^^^^^^^^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 119s + oldfile, oldmode, oldsha = change.old 119s + ^^^^^^^^^^^^^^^^^^^^^^^^ 119s + TypeError: cannot unpack non-iterable NoneType object 119s + [1] 119s $ hg -R hgrepo-base bookmarks 119s - * beta 4:47d12948785d 119s - gamma 2:ca33a262eb46 119s - master 0:ff7a2f2d8d70 119s + abort: repository hgrepo-base not found 119s + [255] 119s $ hg --config extensions.share= share hgrepo-base hgrepo-shared 119s - updating working directory 119s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 119s + abort: repository hgrepo-base not found 119s + [255] 119s $ hg -R hgrepo-shared pull gitrepo 119s - pulling from gitrepo 119s - no changes found 119s - adding bookmark beta 119s - adding bookmark gamma 119s - adding bookmark master 119s + abort: repository hgrepo-shared not found 119s + [255] 119s $ hg -R hgrepo-shared push gitrepo 119s - pushing to gitrepo 119s - searching for changes 119s - no changes found 119s - [1] 119s + abort: repository hgrepo-shared not found 119s + [255] 119s $ ls hgrepo-shared/.hg | grep git 119s + ls: cannot access 'hgrepo-shared/.hg': No such file or directory 119s [1] 119s $ hg -R hgrepo-shared git-cleanup 119s - git commit map cleaned 119s + abort: repository hgrepo-shared not found 119s + [255] 119s $ rm -rf hgrepo-base hgrepo-shared 119s 119s test cloning HEAD 119s @@ -155,14 +491,102 @@ 119s $ cd .. 119s $ hg clone gitrepo hgrepo-2 119s importing 5 git commits 119s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 119s - updating to bookmark master 119s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 119s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 119s + ** which supports versions 6.9 of Mercurial. 119s + ** Please disable "hggit" and try your action again. 119s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 119s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 119s + ** Mercurial Distributed SCM (version 7.0.1) 119s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 119s + Traceback (most recent call last): 119s + File "/usr/bin/hg", line 51, in 119s + dispatch.run() 119s + ~~~~~~~~~~~~^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 119s + status = dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 119s + status = _rundispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 119s + ret = _runcatch(req) or 0 119s + ~~~~~~~~~^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 119s + return _callcatch(ui, _runcatchfunc) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 119s + return scmutil.callcatch(ui, func) 119s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 119s + return func() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 119s + return _dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 119s + return runcommand( 119s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 119s + ) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 119s + ret = _runcommand(ui, options, cmd, d) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 119s + return cmdfunc() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 119s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 119s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 119s + return func(*args, **kwargs) 119s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 119s + r = hg.clone( 119s + ui, 119s + ...<11 lines>... 119s + depth=opts.get('depth') or None, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 119s + srcpeer, destpeer = orig(*args, **opts) 119s + ~~~~^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 119s + exchange.pull( 119s + ~~~~~~~~~~~~~^ 119s + local, 119s + ^^^^^^ 119s + ...<5 lines>... 119s + depth=depth, 119s + ^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 119s + return f(*args, **kwargs) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 119s + pullop.cgresult = repo.githandler.fetch(remote, heads) 119s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 119s + imported = self.import_git_objects( 119s + b'pull', 119s + ...<2 lines>... 119s + heads=heads, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 119s + self.import_git_commit( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + command, 119s + ^^^^^^^^ 119s + self.git[commit.sha], 119s + ^^^^^^^^^^^^^^^^^^^^^ 119s + commit.phase, 119s + ^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 119s + files, gitlinks, git_renames = self.get_files_changed( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + commit, detect_renames 119s + ^^^^^^^^^^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 119s + oldfile, oldmode, oldsha = change.old 119s + ^^^^^^^^^^^^^^^^^^^^^^^^ 119s + TypeError: cannot unpack non-iterable NoneType object 119s + [1] 119s $ git --git-dir hgrepo-2/.hg/git for-each-ref 119s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 119s - d338971a96e20113bb980a5dc4355ba77eed3714 commit refs/remotes/default/gamma 119s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 119s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 119s + fatal: not a git repository: 'hgrepo-2/.hg/git' 119s + [128] 119s $ rm -rf hgrepo-2 119s 119s clone empty repo 119s @@ -181,24 +605,108 @@ 119s $ cd .. 119s $ hg clone gitrepo hgrepo-2 119s importing 5 git commits 119s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 119s - updating to bookmark master 119s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 119s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 119s + ** which supports versions 6.9 of Mercurial. 119s + ** Please disable "hggit" and try your action again. 119s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 119s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 119s + ** Mercurial Distributed SCM (version 7.0.1) 119s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 119s + Traceback (most recent call last): 119s + File "/usr/bin/hg", line 51, in 119s + dispatch.run() 119s + ~~~~~~~~~~~~^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 119s + status = dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 119s + status = _rundispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 119s + ret = _runcatch(req) or 0 119s + ~~~~~~~~~^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 119s + return _callcatch(ui, _runcatchfunc) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 119s + return scmutil.callcatch(ui, func) 119s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 119s + return func() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 119s + return _dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 119s + return runcommand( 119s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 119s + ) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 119s + ret = _runcommand(ui, options, cmd, d) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 119s + return cmdfunc() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 119s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 119s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 119s + return func(*args, **kwargs) 119s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 119s + r = hg.clone( 119s + ui, 119s + ...<11 lines>... 119s + depth=opts.get('depth') or None, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 119s + srcpeer, destpeer = orig(*args, **opts) 119s + ~~~~^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 119s + exchange.pull( 119s + ~~~~~~~~~~~~~^ 119s + local, 119s + ^^^^^^ 119s + ...<5 lines>... 119s + depth=depth, 119s + ^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 119s + return f(*args, **kwargs) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 119s + pullop.cgresult = repo.githandler.fetch(remote, heads) 119s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 119s + imported = self.import_git_objects( 119s + b'pull', 119s + ...<2 lines>... 119s + heads=heads, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 119s + self.import_git_commit( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + command, 119s + ^^^^^^^^ 119s + self.git[commit.sha], 119s + ^^^^^^^^^^^^^^^^^^^^^ 119s + commit.phase, 119s + ^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 119s + files, gitlinks, git_renames = self.get_files_changed( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + commit, detect_renames 119s + ^^^^^^^^^^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 119s + oldfile, oldmode, oldsha = change.old 119s + ^^^^^^^^^^^^^^^^^^^^^^^^ 119s + TypeError: cannot unpack non-iterable NoneType object 119s + [1] 119s $ hg -R hgrepo-2 book 119s - beta 4:47d12948785d 119s - gamma 2:ca33a262eb46 119s - * master 0:ff7a2f2d8d70 119s + abort: repository hgrepo-2 not found 119s + [255] 119s $ hg -R hgrepo-2 tags -v 119s - tip 4:47d12948785d 119s - default/beta 4:47d12948785d git-remote 119s - default/gamma 2:ca33a262eb46 git-remote 119s - default/master 0:ff7a2f2d8d70 git-remote 119s - alpha 0:ff7a2f2d8d70 git 119s + abort: repository hgrepo-2 not found 119s + [255] 119s $ git --git-dir hgrepo-2/.hg/git for-each-ref 119s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 119s - d338971a96e20113bb980a5dc4355ba77eed3714 commit refs/remotes/default/gamma 119s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 119s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 119s + fatal: not a git repository: 'hgrepo-2/.hg/git' 119s + [128] 119s $ rm -rf hgrepo-2 119s 119s test cloning fully detached HEAD; we don't convert the 119s @@ -213,22 +721,108 @@ 119s $ cd .. 119s $ hg clone gitrepo hgrepo-2 119s importing 5 git commits 119s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 119s - warning: the git source repository has a detached head 119s - (you may want to update to a bookmark) 119s - updating to branch default 119s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 119s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 119s + ** which supports versions 6.9 of Mercurial. 119s + ** Please disable "hggit" and try your action again. 119s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 119s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 119s + ** Mercurial Distributed SCM (version 7.0.1) 119s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 119s + Traceback (most recent call last): 119s + File "/usr/bin/hg", line 51, in 119s + dispatch.run() 119s + ~~~~~~~~~~~~^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 119s + status = dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 119s + status = _rundispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 119s + ret = _runcatch(req) or 0 119s + ~~~~~~~~~^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 119s + return _callcatch(ui, _runcatchfunc) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 119s + return scmutil.callcatch(ui, func) 119s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 119s + return func() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 119s + return _dispatch(req) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 119s + return runcommand( 119s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 119s + ) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 119s + ret = _runcommand(ui, options, cmd, d) 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 119s + return cmdfunc() 119s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 119s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 119s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 119s + return func(*args, **kwargs) 119s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 119s + r = hg.clone( 119s + ui, 119s + ...<11 lines>... 119s + depth=opts.get('depth') or None, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 119s + srcpeer, destpeer = orig(*args, **opts) 119s + ~~~~^^^^^^^^^^^^^^^ 119s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 119s + exchange.pull( 119s + ~~~~~~~~~~~~~^ 119s + local, 119s + ^^^^^^ 119s + ...<5 lines>... 119s + depth=depth, 119s + ^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 119s + return f(*args, **kwargs) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 119s + pullop.cgresult = repo.githandler.fetch(remote, heads) 119s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 119s + imported = self.import_git_objects( 119s + b'pull', 119s + ...<2 lines>... 119s + heads=heads, 119s + ) 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 119s + self.import_git_commit( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + command, 119s + ^^^^^^^^ 119s + self.git[commit.sha], 119s + ^^^^^^^^^^^^^^^^^^^^^ 119s + commit.phase, 119s + ^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 119s + files, gitlinks, git_renames = self.get_files_changed( 119s + ~~~~~~~~~~~~~~~~~~~~~~^ 119s + commit, detect_renames 119s + ^^^^^^^^^^^^^^^^^^^^^^ 119s + ) 119s + ^ 119s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 119s + oldfile, oldmode, oldsha = change.old 119s + ^^^^^^^^^^^^^^^^^^^^^^^^ 119s + TypeError: cannot unpack non-iterable NoneType object 119s + [1] 119s $ hg -R hgrepo-2 book 119s - beta 4:47d12948785d 119s - gamma 2:ca33a262eb46 119s - master 0:ff7a2f2d8d70 119s + abort: repository hgrepo-2 not found 119s + [255] 119s $ hg -R hgrepo-2 id --tags 119s - default/beta tip 119s + abort: repository hgrepo-2 not found 119s + [255] 119s $ git --git-dir hgrepo-2/.hg/git for-each-ref 119s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 119s - d338971a96e20113bb980a5dc4355ba77eed3714 commit refs/remotes/default/gamma 119s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 119s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 119s + fatal: not a git repository: 'hgrepo-2/.hg/git' 119s + [128] 119s $ rm -rf hgrepo-2 119s 119s test that cloning a regular mercurial repository does not introduce 119s 119s ERROR: test-clone.t#draft output changed 120s ! 120s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-clone.t 120s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-clone.t#secret.err 120s @@ -39,59 +39,218 @@ 120s 120s $ hg clone -r alpha gitrepo hgrepo-a 120s importing 1 git commits 120s - new changesets ff7a2f2d8d70 (1 drafts) 120s - updating to branch default 120s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 120s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 120s + ** which supports versions 6.9 of Mercurial. 120s + ** Please disable "hggit" and try your action again. 120s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 120s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 120s + ** Mercurial Distributed SCM (version 7.0.1) 120s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 120s + Traceback (most recent call last): 120s + File "/usr/bin/hg", line 51, in 120s + dispatch.run() 120s + ~~~~~~~~~~~~^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 120s + status = dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 120s + status = _rundispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 120s + ret = _runcatch(req) or 0 120s + ~~~~~~~~~^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 120s + return _callcatch(ui, _runcatchfunc) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 120s + return scmutil.callcatch(ui, func) 120s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 120s + return func() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 120s + return _dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 120s + return runcommand( 120s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 120s + ) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 120s + ret = _runcommand(ui, options, cmd, d) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 120s + return cmdfunc() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 120s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 120s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 120s + return func(*args, **kwargs) 120s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 120s + r = hg.clone( 120s + ui, 120s + ...<11 lines>... 120s + depth=opts.get('depth') or None, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 120s + srcpeer, destpeer = orig(*args, **opts) 120s + ~~~~^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 120s + exchange.pull( 120s + ~~~~~~~~~~~~~^ 120s + local, 120s + ^^^^^^ 120s + ...<5 lines>... 120s + depth=depth, 120s + ^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 120s + return f(*args, **kwargs) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 120s + pullop.cgresult = repo.githandler.fetch(remote, heads) 120s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 120s + imported = self.import_git_objects( 120s + b'pull', 120s + ...<2 lines>... 120s + heads=heads, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 120s + self.import_git_commit( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + command, 120s + ^^^^^^^^ 120s + self.git[commit.sha], 120s + ^^^^^^^^^^^^^^^^^^^^^ 120s + commit.phase, 120s + ^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 120s + files, gitlinks, git_renames = self.get_files_changed( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + commit, detect_renames 120s + ^^^^^^^^^^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 120s + oldfile, oldmode, oldsha = change.old 120s + ^^^^^^^^^^^^^^^^^^^^^^^^ 120s + TypeError: cannot unpack non-iterable NoneType object 120s + [1] 120s $ hg -R hgrepo-a bookmarks 120s - master 0:ff7a2f2d8d70 120s + abort: repository hgrepo-a not found 120s + [255] 120s $ hg -R hgrepo-a log --graph --template=phases 120s - @ changeset: 0:ff7a2f2d8d70 120s - bookmark: master 120s - tag: alpha 120s - tag: default/master 120s - tag: tip 120s - phase: draft 120s - user: test 120s - date: Mon Jan 01 00:00:10 2007 +0000 120s - summary: add alpha 120s - 120s + abort: repository hgrepo-a not found 120s + [255] 120s $ git --git-dir hgrepo-a/.hg/git for-each-ref 120s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 120s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 120s + fatal: not a git repository: 'hgrepo-a/.hg/git' 120s + [128] 120s Make sure this is still draft since we didn't pull remote's HEAD 120s $ hg -R hgrepo-a phase -r alpha 120s - 0: draft 120s + abort: repository hgrepo-a not found 120s + [255] 120s 120s clone a branch 120s $ hg clone -r beta gitrepo hgrepo-b 120s importing 2 git commits 120s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 120s - updating to branch default 120s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 120s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 120s + ** which supports versions 6.9 of Mercurial. 120s + ** Please disable "hggit" and try your action again. 120s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 120s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 120s + ** Mercurial Distributed SCM (version 7.0.1) 120s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 120s + Traceback (most recent call last): 120s + File "/usr/bin/hg", line 51, in 120s + dispatch.run() 120s + ~~~~~~~~~~~~^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 120s + status = dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 120s + status = _rundispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 120s + ret = _runcatch(req) or 0 120s + ~~~~~~~~~^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 120s + return _callcatch(ui, _runcatchfunc) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 120s + return scmutil.callcatch(ui, func) 120s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 120s + return func() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 120s + return _dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 120s + return runcommand( 120s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 120s + ) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 120s + ret = _runcommand(ui, options, cmd, d) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 120s + return cmdfunc() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 120s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 120s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 120s + return func(*args, **kwargs) 120s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 120s + r = hg.clone( 120s + ui, 120s + ...<11 lines>... 120s + depth=opts.get('depth') or None, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 120s + srcpeer, destpeer = orig(*args, **opts) 120s + ~~~~^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 120s + exchange.pull( 120s + ~~~~~~~~~~~~~^ 120s + local, 120s + ^^^^^^ 120s + ...<5 lines>... 120s + depth=depth, 120s + ^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 120s + return f(*args, **kwargs) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 120s + pullop.cgresult = repo.githandler.fetch(remote, heads) 120s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 120s + imported = self.import_git_objects( 120s + b'pull', 120s + ...<2 lines>... 120s + heads=heads, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 120s + self.import_git_commit( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + command, 120s + ^^^^^^^^ 120s + self.git[commit.sha], 120s + ^^^^^^^^^^^^^^^^^^^^^ 120s + commit.phase, 120s + ^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 120s + files, gitlinks, git_renames = self.get_files_changed( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + commit, detect_renames 120s + ^^^^^^^^^^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 120s + oldfile, oldmode, oldsha = change.old 120s + ^^^^^^^^^^^^^^^^^^^^^^^^ 120s + TypeError: cannot unpack non-iterable NoneType object 120s + [1] 120s $ hg -R hgrepo-b bookmarks 120s - * beta 1:7fe02317c63d 120s - master 0:ff7a2f2d8d70 120s + abort: repository hgrepo-b not found 120s + [255] 120s $ hg -R hgrepo-b log --graph 120s - @ changeset: 1:7fe02317c63d 120s - | bookmark: beta 120s - | tag: default/beta 120s - | tag: tip 120s - | user: test 120s - | date: Mon Jan 01 00:00:11 2007 +0000 120s - | summary: add beta 120s - | 120s - o changeset: 0:ff7a2f2d8d70 120s - bookmark: master 120s - tag: alpha 120s - tag: default/master 120s - user: test 120s - date: Mon Jan 01 00:00:10 2007 +0000 120s - summary: add alpha 120s - 120s + abort: repository hgrepo-b not found 120s + [255] 120s $ git --git-dir hgrepo-b/.hg/git for-each-ref 120s - 9497a4ee62e16ee641860d7677cdb2589ea15554 commit refs/remotes/default/beta 120s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 120s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 120s + fatal: not a git repository: 'hgrepo-b/.hg/git' 120s + [128] 120s 120s Make sure that a deleted .hgsubstate does not confuse hg-git 120s 120s @@ -105,47 +264,224 @@ 120s 120s $ hg clone -r beta gitrepo hgrepo-c 120s importing 4 git commits 120s - new changesets ff7a2f2d8d70:47d12948785d (4 drafts) 120s - updating to branch default 120s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 120s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 120s + ** which supports versions 6.9 of Mercurial. 120s + ** Please disable "hggit" and try your action again. 120s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 120s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 120s + ** Mercurial Distributed SCM (version 7.0.1) 120s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 120s + Traceback (most recent call last): 120s + File "/usr/bin/hg", line 51, in 120s + dispatch.run() 120s + ~~~~~~~~~~~~^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 120s + status = dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 120s + status = _rundispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 120s + ret = _runcatch(req) or 0 120s + ~~~~~~~~~^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 120s + return _callcatch(ui, _runcatchfunc) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 120s + return scmutil.callcatch(ui, func) 120s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 120s + return func() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 120s + return _dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 120s + return runcommand( 120s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 120s + ) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 120s + ret = _runcommand(ui, options, cmd, d) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 120s + return cmdfunc() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 120s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 120s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 120s + return func(*args, **kwargs) 120s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 120s + r = hg.clone( 120s + ui, 120s + ...<11 lines>... 120s + depth=opts.get('depth') or None, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 120s + srcpeer, destpeer = orig(*args, **opts) 120s + ~~~~^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 120s + exchange.pull( 120s + ~~~~~~~~~~~~~^ 120s + local, 120s + ^^^^^^ 120s + ...<5 lines>... 120s + depth=depth, 120s + ^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 120s + return f(*args, **kwargs) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 120s + pullop.cgresult = repo.githandler.fetch(remote, heads) 120s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 120s + imported = self.import_git_objects( 120s + b'pull', 120s + ...<2 lines>... 120s + heads=heads, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 120s + self.import_git_commit( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + command, 120s + ^^^^^^^^ 120s + self.git[commit.sha], 120s + ^^^^^^^^^^^^^^^^^^^^^ 120s + commit.phase, 120s + ^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 120s + files, gitlinks, git_renames = self.get_files_changed( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + commit, detect_renames 120s + ^^^^^^^^^^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 120s + oldfile, oldmode, oldsha = change.old 120s + ^^^^^^^^^^^^^^^^^^^^^^^^ 120s + TypeError: cannot unpack non-iterable NoneType object 120s + [1] 120s $ hg -R hgrepo-c bookmarks 120s - * beta 3:47d12948785d 120s - master 0:ff7a2f2d8d70 120s + abort: repository hgrepo-c not found 120s + [255] 120s $ hg --cwd hgrepo-c status 120s + abort: No such file or directory: 'hgrepo-c' 120s + [255] 120s $ git --git-dir hgrepo-c/.hg/git for-each-ref 120s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 120s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 120s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 120s + fatal: not a git repository: 'hgrepo-c/.hg/git' 120s + [128] 120s 120s test shared repositories 120s 120s $ hg clone gitrepo hgrepo-base 120s importing 5 git commits 120s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 120s - updating to bookmark beta 120s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 120s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 120s + ** which supports versions 6.9 of Mercurial. 120s + ** Please disable "hggit" and try your action again. 120s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 120s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 120s + ** Mercurial Distributed SCM (version 7.0.1) 120s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 120s + Traceback (most recent call last): 120s + File "/usr/bin/hg", line 51, in 120s + dispatch.run() 120s + ~~~~~~~~~~~~^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 120s + status = dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 120s + status = _rundispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 120s + ret = _runcatch(req) or 0 120s + ~~~~~~~~~^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 120s + return _callcatch(ui, _runcatchfunc) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 120s + return scmutil.callcatch(ui, func) 120s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 120s + return func() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 120s + return _dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 120s + return runcommand( 120s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 120s + ) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 120s + ret = _runcommand(ui, options, cmd, d) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 120s + return cmdfunc() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 120s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 120s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 120s + return func(*args, **kwargs) 120s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 120s + r = hg.clone( 120s + ui, 120s + ...<11 lines>... 120s + depth=opts.get('depth') or None, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 120s + srcpeer, destpeer = orig(*args, **opts) 120s + ~~~~^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 120s + exchange.pull( 120s + ~~~~~~~~~~~~~^ 120s + local, 120s + ^^^^^^ 120s + ...<5 lines>... 120s + depth=depth, 120s + ^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 120s + return f(*args, **kwargs) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 120s + pullop.cgresult = repo.githandler.fetch(remote, heads) 120s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 120s + imported = self.import_git_objects( 120s + b'pull', 120s + ...<2 lines>... 120s + heads=heads, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 120s + self.import_git_commit( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + command, 120s + ^^^^^^^^ 120s + self.git[commit.sha], 120s + ^^^^^^^^^^^^^^^^^^^^^ 120s + commit.phase, 120s + ^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 120s + files, gitlinks, git_renames = self.get_files_changed( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + commit, detect_renames 120s + ^^^^^^^^^^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 120s + oldfile, oldmode, oldsha = change.old 120s + ^^^^^^^^^^^^^^^^^^^^^^^^ 120s + TypeError: cannot unpack non-iterable NoneType object 120s + [1] 120s $ hg -R hgrepo-base bookmarks 120s - * beta 4:47d12948785d 120s - gamma 2:ca33a262eb46 120s - master 0:ff7a2f2d8d70 120s + abort: repository hgrepo-base not found 120s + [255] 120s $ hg --config extensions.share= share hgrepo-base hgrepo-shared 120s - updating working directory 120s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 120s + abort: repository hgrepo-base not found 120s + [255] 120s $ hg -R hgrepo-shared pull gitrepo 120s - pulling from gitrepo 120s - no changes found 120s - adding bookmark beta 120s - adding bookmark gamma 120s - adding bookmark master 120s + abort: repository hgrepo-shared not found 120s + [255] 120s $ hg -R hgrepo-shared push gitrepo 120s - pushing to gitrepo 120s - searching for changes 120s - no changes found 120s - [1] 120s + abort: repository hgrepo-shared not found 120s + [255] 120s $ ls hgrepo-shared/.hg | grep git 120s + ls: cannot access 'hgrepo-shared/.hg': No such file or directory 120s [1] 120s $ hg -R hgrepo-shared git-cleanup 120s - git commit map cleaned 120s + abort: repository hgrepo-shared not found 120s + [255] 120s $ rm -rf hgrepo-base hgrepo-shared 120s 120s test cloning HEAD 120s @@ -155,14 +491,102 @@ 120s $ cd .. 120s $ hg clone gitrepo hgrepo-2 120s importing 5 git commits 120s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 120s - updating to bookmark master 120s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 120s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 120s + ** which supports versions 6.9 of Mercurial. 120s + ** Please disable "hggit" and try your action again. 120s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 120s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 120s + ** Mercurial Distributed SCM (version 7.0.1) 120s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 120s + Traceback (most recent call last): 120s + File "/usr/bin/hg", line 51, in 120s + dispatch.run() 120s + ~~~~~~~~~~~~^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 120s + status = dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 120s + status = _rundispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 120s + ret = _runcatch(req) or 0 120s + ~~~~~~~~~^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 120s + return _callcatch(ui, _runcatchfunc) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 120s + return scmutil.callcatch(ui, func) 120s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 120s + return func() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 120s + return _dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 120s + return runcommand( 120s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 120s + ) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 120s + ret = _runcommand(ui, options, cmd, d) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 120s + return cmdfunc() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 120s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 120s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 120s + return func(*args, **kwargs) 120s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 120s + r = hg.clone( 120s + ui, 120s + ...<11 lines>... 120s + depth=opts.get('depth') or None, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 120s + srcpeer, destpeer = orig(*args, **opts) 120s + ~~~~^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 120s + exchange.pull( 120s + ~~~~~~~~~~~~~^ 120s + local, 120s + ^^^^^^ 120s + ...<5 lines>... 120s + depth=depth, 120s + ^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 120s + return f(*args, **kwargs) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 120s + pullop.cgresult = repo.githandler.fetch(remote, heads) 120s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 120s + imported = self.import_git_objects( 120s + b'pull', 120s + ...<2 lines>... 120s + heads=heads, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 120s + self.import_git_commit( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + command, 120s + ^^^^^^^^ 120s + self.git[commit.sha], 120s + ^^^^^^^^^^^^^^^^^^^^^ 120s + commit.phase, 120s + ^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 120s + files, gitlinks, git_renames = self.get_files_changed( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + commit, detect_renames 120s + ^^^^^^^^^^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 120s + oldfile, oldmode, oldsha = change.old 120s + ^^^^^^^^^^^^^^^^^^^^^^^^ 120s + TypeError: cannot unpack non-iterable NoneType object 120s + [1] 120s $ git --git-dir hgrepo-2/.hg/git for-each-ref 120s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 120s - d338971a96e20113bb980a5dc4355ba77eed3714 commit refs/remotes/default/gamma 120s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 120s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 120s + fatal: not a git repository: 'hgrepo-2/.hg/git' 120s + [128] 120s $ rm -rf hgrepo-2 120s 120s clone empty repo 120s @@ -181,24 +605,108 @@ 120s $ cd .. 120s $ hg clone gitrepo hgrepo-2 120s importing 5 git commits 120s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 120s - updating to bookmark master 120s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 120s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 120s + ** which supports versions 6.9 of Mercurial. 120s + ** Please disable "hggit" and try your action again. 120s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 120s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 120s + ** Mercurial Distributed SCM (version 7.0.1) 120s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 120s + Traceback (most recent call last): 120s + File "/usr/bin/hg", line 51, in 120s + dispatch.run() 120s + ~~~~~~~~~~~~^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 120s + status = dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 120s + status = _rundispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 120s + ret = _runcatch(req) or 0 120s + ~~~~~~~~~^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 120s + return _callcatch(ui, _runcatchfunc) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 120s + return scmutil.callcatch(ui, func) 120s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 120s + return func() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 120s + return _dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 120s + return runcommand( 120s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 120s + ) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 120s + ret = _runcommand(ui, options, cmd, d) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 120s + return cmdfunc() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 120s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 120s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 120s + return func(*args, **kwargs) 120s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 120s + r = hg.clone( 120s + ui, 120s + ...<11 lines>... 120s + depth=opts.get('depth') or None, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 120s + srcpeer, destpeer = orig(*args, **opts) 120s + ~~~~^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 120s + exchange.pull( 120s + ~~~~~~~~~~~~~^ 120s + local, 120s + ^^^^^^ 120s + ...<5 lines>... 120s + depth=depth, 120s + ^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 120s + return f(*args, **kwargs) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 120s + pullop.cgresult = repo.githandler.fetch(remote, heads) 120s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 120s + imported = self.import_git_objects( 120s + b'pull', 120s + ...<2 lines>... 120s + heads=heads, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 120s + self.import_git_commit( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + command, 120s + ^^^^^^^^ 120s + self.git[commit.sha], 120s + ^^^^^^^^^^^^^^^^^^^^^ 120s + commit.phase, 120s + ^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 120s + files, gitlinks, git_renames = self.get_files_changed( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + commit, detect_renames 120s + ^^^^^^^^^^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 120s + oldfile, oldmode, oldsha = change.old 120s + ^^^^^^^^^^^^^^^^^^^^^^^^ 120s + TypeError: cannot unpack non-iterable NoneType object 120s + [1] 120s $ hg -R hgrepo-2 book 120s - beta 4:47d12948785d 120s - gamma 2:ca33a262eb46 120s - * master 0:ff7a2f2d8d70 120s + abort: repository hgrepo-2 not found 120s + [255] 120s $ hg -R hgrepo-2 tags -v 120s - tip 4:47d12948785d 120s - default/beta 4:47d12948785d git-remote 120s - default/gamma 2:ca33a262eb46 git-remote 120s - default/master 0:ff7a2f2d8d70 git-remote 120s - alpha 0:ff7a2f2d8d70 git 120s + abort: repository hgrepo-2 not found 120s + [255] 120s $ git --git-dir hgrepo-2/.hg/git for-each-ref 120s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 120s - d338971a96e20113bb980a5dc4355ba77eed3714 commit refs/remotes/default/gamma 120s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 120s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 120s + fatal: not a git repository: 'hgrepo-2/.hg/git' 120s + [128] 120s $ rm -rf hgrepo-2 120s 120s test cloning fully detached HEAD; we don't convert the 120s @@ -213,22 +721,108 @@ 120s $ cd .. 120s $ hg clone gitrepo hgrepo-2 120s importing 5 git commits 120s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 120s - warning: the git source repository has a detached head 120s - (you may want to update to a bookmark) 120s - updating to branch default 120s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 120s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 120s + ** which supports versions 6.9 of Mercurial. 120s + ** Please disable "hggit" and try your action again. 120s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 120s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 120s + ** Mercurial Distributed SCM (version 7.0.1) 120s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 120s + Traceback (most recent call last): 120s + File "/usr/bin/hg", line 51, in 120s + dispatch.run() 120s + ~~~~~~~~~~~~^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 120s + status = dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 120s + status = _rundispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 120s + ret = _runcatch(req) or 0 120s + ~~~~~~~~~^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 120s + return _callcatch(ui, _runcatchfunc) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 120s + return scmutil.callcatch(ui, func) 120s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 120s + return func() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 120s + return _dispatch(req) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 120s + return runcommand( 120s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 120s + ) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 120s + ret = _runcommand(ui, options, cmd, d) 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 120s + return cmdfunc() 120s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 120s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 120s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 120s + return func(*args, **kwargs) 120s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 120s + r = hg.clone( 120s + ui, 120s + ...<11 lines>... 120s + depth=opts.get('depth') or None, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 120s + srcpeer, destpeer = orig(*args, **opts) 120s + ~~~~^^^^^^^^^^^^^^^ 120s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 120s + exchange.pull( 120s + ~~~~~~~~~~~~~^ 120s + local, 120s + ^^^^^^ 120s + ...<5 lines>... 120s + depth=depth, 120s + ^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 120s + return f(*args, **kwargs) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 120s + pullop.cgresult = repo.githandler.fetch(remote, heads) 120s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 120s + imported = self.import_git_objects( 120s + b'pull', 120s + ...<2 lines>... 120s + heads=heads, 120s + ) 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 120s + self.import_git_commit( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + command, 120s + ^^^^^^^^ 120s + self.git[commit.sha], 120s + ^^^^^^^^^^^^^^^^^^^^^ 120s + commit.phase, 120s + ^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 120s + files, gitlinks, git_renames = self.get_files_changed( 120s + ~~~~~~~~~~~~~~~~~~~~~~^ 120s + commit, detect_renames 120s + ^^^^^^^^^^^^^^^^^^^^^^ 120s + ) 120s + ^ 120s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 120s + oldfile, oldmode, oldsha = change.old 120s + ^^^^^^^^^^^^^^^^^^^^^^^^ 120s + TypeError: cannot unpack non-iterable NoneType object 120s + [1] 120s $ hg -R hgrepo-2 book 120s - beta 4:47d12948785d 120s - gamma 2:ca33a262eb46 120s - master 0:ff7a2f2d8d70 120s + abort: repository hgrepo-2 not found 120s + [255] 120s $ hg -R hgrepo-2 id --tags 120s - default/beta tip 120s + abort: repository hgrepo-2 not found 120s + [255] 120s $ git --git-dir hgrepo-2/.hg/git for-each-ref 120s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 120s - d338971a96e20113bb980a5dc4355ba77eed3714 commit refs/remotes/default/gamma 120s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 120s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 120s + fatal: not a git repository: 'hgrepo-2/.hg/git' 120s + [128] 120s $ rm -rf hgrepo-2 120s 120s test that cloning a regular mercurial repository does not introduce 120s 120s ERROR: test-clone.t#secret output changed 125s ! 125s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-branch-bookmark-suffix.t 125s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-branch-bookmark-suffix.t#with-path.err 125s @@ -49,31 +49,102 @@ 125s 125s $ hg push ../repo.git 125s pushing to ../repo.git 125s - searching for changes 125s - adding objects 125s - remote: found 0 deltas to reuse 125s - added 2 commits with 2 trees and 2 blobs 125s - adding reference refs/heads/branch1 125s - adding reference refs/heads/branch2 125s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 126s + ** which supports versions 6.9 of Mercurial. 126s + ** Please disable "hggit" and try your action again. 126s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 126s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 126s + ** Mercurial Distributed SCM (version 7.0.1) 126s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 126s + Traceback (most recent call last): 126s + File "/usr/bin/hg", line 51, in 126s + dispatch.run() 126s + ~~~~~~~~~~~~^^ 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 126s + status = dispatch(req) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 126s + status = _rundispatch(req) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 126s + ret = _runcatch(req) or 0 126s + ~~~~~~~~~^^^^^ 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 126s + return _callcatch(ui, _runcatchfunc) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 126s + return scmutil.callcatch(ui, func) 126s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 126s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 126s + return func() 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 126s + return _dispatch(req) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 126s + return runcommand( 126s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 126s + ) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 126s + ret = _runcommand(ui, options, cmd, d) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 126s + return cmdfunc() 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 126s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 126s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 126s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 126s + return func(*args, **kwargs) 126s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 126s + pushop = exchange.push( 126s + repo, 126s + ...<6 lines>... 126s + opargs=opargs, 126s + ) 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 126s + return f(*args, **kwargs) 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 126s + pushop.cgresult = repo.githandler.push( 126s + ~~~~~~~~~~~~~~~~~~~~^ 126s + remote.path, revs, bookmarks, force 126s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 126s + ) 126s + ^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 126s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 126s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 126s + all_exportable = self.export_commits() 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 126s + self.export_git_objects() 126s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 126s + packer.pack(synchronous=True) 126s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 126s + _process_batch(self.ui, self.object_store, todo) 126s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 126s + object_store._remove_loose_object(obj.id) 126s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 126s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 126s + [1] 126s 126s $ cd .. 126s 126s $ cd repo.git 126s $ git symbolic-ref HEAD refs/heads/branch1 126s $ git branch 126s - * branch1 126s - branch2 126s $ cd .. 126s 126s $ git clone repo.git gitrepo 126s Cloning into 'gitrepo'... 126s + warning: You appear to have cloned an empty repository. 126s done. 126s $ cd gitrepo 126s $ git checkout -q branch1 126s + error: pathspec 'branch1' did not match any file(s) known to git 126s + [1] 126s $ echo g1 >> f1 126s $ git add f1 126s $ fn_git_commit -m "append f1" 126s $ git checkout -q branch2 126s + error: pathspec 'branch2' did not match any file(s) known to git 126s + [1] 126s $ echo g2 >> f2 126s $ git add f2 126s $ fn_git_commit -m "append f2" 126s @@ -83,18 +154,13 @@ 126s $ git add f3 126s $ fn_git_commit -m "append f3" 126s $ git push origin branch1 branch2 branch3 126s - To $TESTTMP/repo.git 126s - bbfe79a..d8aef79 branch1 -> branch1 126s - 288e92b..f8f8de5 branch2 -> branch2 126s - * [new branch] branch3 -> branch3 126s + error: src refspec branch2 does not match any 126s + error: failed to push some refs to '$TESTTMP/repo.git' 126s + [1] 126s make sure the commit doesn't have an HG:rename-source annotation 126s $ git cat-file commit d8aef79 126s - tree b5644d8071b8a5963b8d1fd089fb3fdfb14b1203 126s - parent bbfe79acf62dcd6a97763e2a67424a6de8a96941 126s - author test 1167609612 +0000 126s - committer test 1167609612 +0000 126s - 126s - append f1 126s + fatal: Not a valid object name d8aef79 126s + [128] 126s $ cd .. 126s 126s $ cd hgrepo 126s @@ -102,45 +168,18 @@ 126s default = $TESTTMP/repo.git (with-path !) 126s $ hg pull ../repo.git 126s pulling from ../repo.git 126s - importing 3 git commits 126s - updating bookmark branch1_bookmark 126s - updating bookmark branch2_bookmark 126s - adding bookmark branch3_bookmark 126s - new changesets 8211cade99e4:faf44fc3a4e8 (3 drafts) 126s - (run 'hg heads' to see heads) 126s $ hg log --graph 126s - o changeset: 4:faf44fc3a4e8 126s - | bookmark: branch3_bookmark 126s - | tag: default/branch3 (with-path !) 126s + @ changeset: 1:600de9b6d498 126s + | branch: branch2 126s + | bookmark: branch2_bookmark 126s | tag: tip 126s - | user: test 126s - | date: Mon Jan 01 00:00:14 2007 +0000 126s - | summary: append f3 126s - | 126s - o changeset: 3:ae8eb55f7090 126s - | bookmark: branch2_bookmark 126s - | tag: default/branch2 (with-path !) 126s - | parent: 1:600de9b6d498 126s - | user: test 126s - | date: Mon Jan 01 00:00:13 2007 +0000 126s - | summary: append f2 126s - | 126s - | o changeset: 2:8211cade99e4 126s - | | bookmark: branch1_bookmark 126s - | | tag: default/branch1 (with-path !) 126s - | | parent: 0:40a840c1f8ae 126s - | | user: test 126s - | | date: Mon Jan 01 00:00:12 2007 +0000 126s - | | summary: append f1 126s - | | 126s - @ | changeset: 1:600de9b6d498 126s - |/ branch: branch2 126s - | user: test 126s - | date: Mon Jan 01 00:00:11 2007 +0000 126s - | summary: add f2 126s + | user: test 126s + | date: Mon Jan 01 00:00:11 2007 +0000 126s + | summary: add f2 126s | 126s o changeset: 0:40a840c1f8ae 126s branch: branch1 126s + bookmark: branch1_bookmark 126s user: test 126s date: Mon Jan 01 00:00:10 2007 +0000 126s summary: add f1 126s @@ -151,145 +190,8 @@ 126s 126s $ rm -r hgrepo 126s $ hg clone -r branch3 repo.git hgrepo 126s - importing 4 git commits 126s - new changesets 40a840c1f8ae:faf44fc3a4e8 (4 drafts) 126s - updating to bookmark branch3_bookmark 126s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 126s + abort: unknown revision 'branch3' 126s + [10] 126s $ cd hgrepo 126s + $TESTTMP.sh: 100: cd: can't cd to hgrepo 126s $ hg bookmarks 126s - branch2_bookmark 2:ae8eb55f7090 126s - * branch3_bookmark 3:faf44fc3a4e8 126s - $ hg log --graph 126s - @ changeset: 3:faf44fc3a4e8 126s - | bookmark: branch3_bookmark 126s - | tag: default/branch3 126s - | tag: tip 126s - | user: test 126s - | date: Mon Jan 01 00:00:14 2007 +0000 126s - | summary: append f3 126s - | 126s - o changeset: 2:ae8eb55f7090 126s - | bookmark: branch2_bookmark 126s - | tag: default/branch2 126s - | user: test 126s - | date: Mon Jan 01 00:00:13 2007 +0000 126s - | summary: append f2 126s - | 126s - o changeset: 1:600de9b6d498 126s - | branch: branch2 126s - | user: test 126s - | date: Mon Jan 01 00:00:11 2007 +0000 126s - | summary: add f2 126s - | 126s - o changeset: 0:40a840c1f8ae 126s - branch: branch1 126s - user: test 126s - date: Mon Jan 01 00:00:10 2007 +0000 126s - summary: add f1 126s - 126s - $ cd .. 126s - 126s -Try cloning something that's both a bookmark and a branch, and see the 126s -results. They're a bit suprising as the bookmark does get activated, 126s -but the branch get checked out. Although this does seem a bit odd, so 126s -does the scenario. 126s - 126s - $ rm -r hgrepo 126s - $ hg clone -r branch1 repo.git hgrepo 126s - importing 2 git commits 126s - new changesets 40a840c1f8ae:8211cade99e4 (2 drafts) 126s - updating to branch branch1 126s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 126s - $ cd hgrepo 126s - $ hg bookmarks 126s - * branch1_bookmark 1:8211cade99e4 126s - $ hg log --graph 126s - o changeset: 1:8211cade99e4 126s - | bookmark: branch1_bookmark 126s - | tag: default/branch1 126s - | tag: tip 126s - | user: test 126s - | date: Mon Jan 01 00:00:12 2007 +0000 126s - | summary: append f1 126s - | 126s - @ changeset: 0:40a840c1f8ae 126s - branch: branch1 126s - user: test 126s - date: Mon Jan 01 00:00:10 2007 +0000 126s - summary: add f1 126s - 126s - 126s - $ cd .. 126s - 126s -Now try pulling a diverged bookmark: 126s - 126s - $ rm -r hgrepo 126s -#if with-path 126s - $ hg clone -U repo.git hgrepo 126s - importing 5 git commits 126s - new changesets 40a840c1f8ae:faf44fc3a4e8 (5 drafts) 126s -#else 126s - $ hg init hgrepo 126s - $ hg -R hgrepo pull repo.git 126s - pulling from repo.git 126s - importing 5 git commits 126s - adding bookmark branch1_bookmark 126s - adding bookmark branch2_bookmark 126s - adding bookmark branch3_bookmark 126s - new changesets 40a840c1f8ae:faf44fc3a4e8 (5 drafts) 126s - (run 'hg heads' to see heads, 'hg merge' to merge) 126s -#endif 126s - $ cd gitrepo 126s - $ git checkout -q branch1 126s - $ fn_git_rebase branch3 126s - $ git push -f 126s - To $TESTTMP/repo.git 126s - + d8aef79...ce1d1c5 branch1 -> branch1 (forced update) 126s - $ cd ../hgrepo 126s - $ hg pull ../repo.git 126s - pulling from ../repo.git 126s - importing 1 git commits 126s - not updating diverged bookmark branch1_bookmark 126s - new changesets 895d0307f8b7 (1 drafts) 126s - (run 'hg update' to get a working copy) 126s - $ hg log --graph 126s - o changeset: 5:895d0307f8b7 126s - | tag: default/branch1 (with-path !) 126s - | tag: tip 126s - | user: test 126s - | date: Mon Jan 01 00:00:12 2007 +0000 126s - | summary: append f1 126s - | 126s - o changeset: 4:faf44fc3a4e8 126s - | bookmark: branch3_bookmark 126s - | tag: default/branch3 (with-path !) 126s - | user: test 126s - | date: Mon Jan 01 00:00:14 2007 +0000 126s - | summary: append f3 126s - | 126s - o changeset: 3:ae8eb55f7090 126s - | bookmark: branch2_bookmark 126s - | tag: default/branch2 (with-path !) 126s - | user: test 126s - | date: Mon Jan 01 00:00:13 2007 +0000 126s - | summary: append f2 126s - | 126s - o changeset: 2:600de9b6d498 126s - | branch: branch2 126s - | parent: 0:40a840c1f8ae 126s - | user: test 126s - | date: Mon Jan 01 00:00:11 2007 +0000 126s - | summary: add f2 126s - | 126s - | o changeset: 1:8211cade99e4 126s - |/ bookmark: branch1_bookmark 126s - | user: test 126s - | date: Mon Jan 01 00:00:12 2007 +0000 126s - | summary: append f1 126s - | 126s - o changeset: 0:40a840c1f8ae 126s - branch: branch1 126s - user: test 126s - date: Mon Jan 01 00:00:10 2007 +0000 126s - summary: add f1 126s - 126s 126s ERROR: test-branch-bookmark-suffix.t#with-path output changed 126s ! 126s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-branch-bookmark-suffix.t 126s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-branch-bookmark-suffix.t#without-path.err 126s @@ -49,31 +49,102 @@ 126s 126s $ hg push ../repo.git 126s pushing to ../repo.git 126s - searching for changes 126s - adding objects 126s - remote: found 0 deltas to reuse 126s - added 2 commits with 2 trees and 2 blobs 126s - adding reference refs/heads/branch1 126s - adding reference refs/heads/branch2 126s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 126s + ** which supports versions 6.9 of Mercurial. 126s + ** Please disable "hggit" and try your action again. 126s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 126s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 126s + ** Mercurial Distributed SCM (version 7.0.1) 126s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 126s + Traceback (most recent call last): 126s + File "/usr/bin/hg", line 51, in 126s + dispatch.run() 126s + ~~~~~~~~~~~~^^ 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 126s + status = dispatch(req) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 126s + status = _rundispatch(req) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 126s + ret = _runcatch(req) or 0 126s + ~~~~~~~~~^^^^^ 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 126s + return _callcatch(ui, _runcatchfunc) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 126s + return scmutil.callcatch(ui, func) 126s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 126s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 126s + return func() 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 126s + return _dispatch(req) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 126s + return runcommand( 126s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 126s + ) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 126s + ret = _runcommand(ui, options, cmd, d) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 126s + return cmdfunc() 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 126s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 126s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 126s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 126s + return func(*args, **kwargs) 126s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 126s + pushop = exchange.push( 126s + repo, 126s + ...<6 lines>... 126s + opargs=opargs, 126s + ) 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 126s + return f(*args, **kwargs) 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 126s + pushop.cgresult = repo.githandler.push( 126s + ~~~~~~~~~~~~~~~~~~~~^ 126s + remote.path, revs, bookmarks, force 126s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 126s + ) 126s + ^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 126s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 126s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 126s + all_exportable = self.export_commits() 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 126s + self.export_git_objects() 126s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 126s + packer.pack(synchronous=True) 126s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 126s + _process_batch(self.ui, self.object_store, todo) 126s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 126s + object_store._remove_loose_object(obj.id) 126s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 126s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 126s + [1] 126s 126s $ cd .. 126s 126s $ cd repo.git 126s $ git symbolic-ref HEAD refs/heads/branch1 126s $ git branch 126s - * branch1 126s - branch2 126s $ cd .. 126s 126s $ git clone repo.git gitrepo 126s Cloning into 'gitrepo'... 126s + warning: You appear to have cloned an empty repository. 126s done. 126s $ cd gitrepo 126s $ git checkout -q branch1 126s + error: pathspec 'branch1' did not match any file(s) known to git 126s + [1] 126s $ echo g1 >> f1 126s $ git add f1 126s $ fn_git_commit -m "append f1" 126s $ git checkout -q branch2 126s + error: pathspec 'branch2' did not match any file(s) known to git 126s + [1] 126s $ echo g2 >> f2 126s $ git add f2 126s $ fn_git_commit -m "append f2" 126s @@ -83,18 +154,13 @@ 126s $ git add f3 126s $ fn_git_commit -m "append f3" 126s $ git push origin branch1 branch2 branch3 126s - To $TESTTMP/repo.git 126s - bbfe79a..d8aef79 branch1 -> branch1 126s - 288e92b..f8f8de5 branch2 -> branch2 126s - * [new branch] branch3 -> branch3 126s + error: src refspec branch2 does not match any 126s + error: failed to push some refs to '$TESTTMP/repo.git' 126s + [1] 126s make sure the commit doesn't have an HG:rename-source annotation 126s $ git cat-file commit d8aef79 126s - tree b5644d8071b8a5963b8d1fd089fb3fdfb14b1203 126s - parent bbfe79acf62dcd6a97763e2a67424a6de8a96941 126s - author test 1167609612 +0000 126s - committer test 1167609612 +0000 126s - 126s - append f1 126s + fatal: Not a valid object name d8aef79 126s + [128] 126s $ cd .. 126s 126s $ cd hgrepo 126s @@ -102,194 +168,33 @@ 126s default = $TESTTMP/repo.git (with-path !) 126s $ hg pull ../repo.git 126s pulling from ../repo.git 126s - importing 3 git commits 126s - updating bookmark branch1_bookmark 126s - updating bookmark branch2_bookmark 126s - adding bookmark branch3_bookmark 126s - new changesets 8211cade99e4:faf44fc3a4e8 (3 drafts) 126s - (run 'hg heads' to see heads) 126s $ hg log --graph 126s - o changeset: 4:faf44fc3a4e8 126s - | bookmark: branch3_bookmark 126s + @ changeset: 1:600de9b6d498 126s + | branch: branch2 126s | tag: default/branch3 (with-path !) 126s + | bookmark: branch2_bookmark 126s | tag: tip 126s - | user: test 126s - | date: Mon Jan 01 00:00:14 2007 +0000 126s - | summary: append f3 126s - | 126s - o changeset: 3:ae8eb55f7090 126s - | bookmark: branch2_bookmark 126s - | tag: default/branch2 (with-path !) 126s - | parent: 1:600de9b6d498 126s - | user: test 126s - | date: Mon Jan 01 00:00:13 2007 +0000 126s - | summary: append f2 126s - | 126s - | o changeset: 2:8211cade99e4 126s - | | bookmark: branch1_bookmark 126s - | | tag: default/branch1 (with-path !) 126s - | | parent: 0:40a840c1f8ae 126s - | | user: test 126s - | | date: Mon Jan 01 00:00:12 2007 +0000 126s - | | summary: append f1 126s - | | 126s - @ | changeset: 1:600de9b6d498 126s - |/ branch: branch2 126s - | user: test 126s - | date: Mon Jan 01 00:00:11 2007 +0000 126s - | summary: add f2 126s - | 126s - o changeset: 0:40a840c1f8ae 126s - branch: branch1 126s - user: test 126s - date: Mon Jan 01 00:00:10 2007 +0000 126s - summary: add f1 126s - 126s - $ cd .. 126s - 126s -Try cloning a bookmark, and make sure it gets checked out: 126s - 126s - $ rm -r hgrepo 126s - $ hg clone -r branch3 repo.git hgrepo 126s - importing 4 git commits 126s - new changesets 40a840c1f8ae:faf44fc3a4e8 (4 drafts) 126s - updating to bookmark branch3_bookmark 126s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 126s - $ cd hgrepo 126s - $ hg bookmarks 126s - branch2_bookmark 2:ae8eb55f7090 126s - * branch3_bookmark 3:faf44fc3a4e8 126s - $ hg log --graph 126s - @ changeset: 3:faf44fc3a4e8 126s - | bookmark: branch3_bookmark 126s - | tag: default/branch3 126s - | tag: tip 126s - | user: test 126s - | date: Mon Jan 01 00:00:14 2007 +0000 126s - | summary: append f3 126s - | 126s - o changeset: 2:ae8eb55f7090 126s - | bookmark: branch2_bookmark 126s - | tag: default/branch2 126s - | user: test 126s - | date: Mon Jan 01 00:00:13 2007 +0000 126s - | summary: append f2 126s - | 126s - o changeset: 1:600de9b6d498 126s - | branch: branch2 126s | user: test 126s | date: Mon Jan 01 00:00:11 2007 +0000 126s | summary: add f2 126s | 126s o changeset: 0:40a840c1f8ae 126s + | tag: default/branch2 (with-path !) 126s branch: branch1 126s + bookmark: branch1_bookmark 126s user: test 126s date: Mon Jan 01 00:00:10 2007 +0000 126s summary: add f1 126s 126s - $ cd .. 126s - 126s -Try cloning something that's both a bookmark and a branch, and see the 126s -results. They're a bit suprising as the bookmark does get activated, 126s -but the branch get checked out. Although this does seem a bit odd, so 126s -does the scenario. 126s + | | tag: default/branch1 (with-path !) 126s + $ cd .. 126s + 126s +Try cloning a bookmark, and make sure it gets checked out: 126s 126s $ rm -r hgrepo 126s - $ hg clone -r branch1 repo.git hgrepo 126s - importing 2 git commits 126s - new changesets 40a840c1f8ae:8211cade99e4 (2 drafts) 126s - updating to branch branch1 126s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 126s + $ hg clone -r branch3 repo.git hgrepo 126s + abort: unknown revision 'branch3' 126s + [10] 126s $ cd hgrepo 126s + $TESTTMP.sh: 102: cd: can't cd to hgrepo 126s $ hg bookmarks 126s - * branch1_bookmark 1:8211cade99e4 126s - $ hg log --graph 126s - o changeset: 1:8211cade99e4 126s - | bookmark: branch1_bookmark 126s - | tag: default/branch1 126s - | tag: tip 126s - | user: test 126s - | date: Mon Jan 01 00:00:12 2007 +0000 126s - | summary: append f1 126s - | 126s - @ changeset: 0:40a840c1f8ae 126s - branch: branch1 126s - user: test 126s - date: Mon Jan 01 00:00:10 2007 +0000 126s - summary: add f1 126s - 126s - 126s - $ cd .. 126s - 126s -Now try pulling a diverged bookmark: 126s - 126s - $ rm -r hgrepo 126s -#if with-path 126s - $ hg clone -U repo.git hgrepo 126s - importing 5 git commits 126s - new changesets 40a840c1f8ae:faf44fc3a4e8 (5 drafts) 126s -#else 126s - $ hg init hgrepo 126s - $ hg -R hgrepo pull repo.git 126s - pulling from repo.git 126s - importing 5 git commits 126s - adding bookmark branch1_bookmark 126s - adding bookmark branch2_bookmark 126s - adding bookmark branch3_bookmark 126s - new changesets 40a840c1f8ae:faf44fc3a4e8 (5 drafts) 126s - (run 'hg heads' to see heads, 'hg merge' to merge) 126s -#endif 126s - $ cd gitrepo 126s - $ git checkout -q branch1 126s - $ fn_git_rebase branch3 126s - $ git push -f 126s - To $TESTTMP/repo.git 126s - + d8aef79...ce1d1c5 branch1 -> branch1 (forced update) 126s - $ cd ../hgrepo 126s - $ hg pull ../repo.git 126s - pulling from ../repo.git 126s - importing 1 git commits 126s - not updating diverged bookmark branch1_bookmark 126s - new changesets 895d0307f8b7 (1 drafts) 126s - (run 'hg update' to get a working copy) 126s - $ hg log --graph 126s - o changeset: 5:895d0307f8b7 126s - | tag: default/branch1 (with-path !) 126s - | tag: tip 126s - | user: test 126s - | date: Mon Jan 01 00:00:12 2007 +0000 126s - | summary: append f1 126s - | 126s - o changeset: 4:faf44fc3a4e8 126s - | bookmark: branch3_bookmark 126s - | tag: default/branch3 (with-path !) 126s - | user: test 126s - | date: Mon Jan 01 00:00:14 2007 +0000 126s - | summary: append f3 126s - | 126s - o changeset: 3:ae8eb55f7090 126s - | bookmark: branch2_bookmark 126s - | tag: default/branch2 (with-path !) 126s - | user: test 126s - | date: Mon Jan 01 00:00:13 2007 +0000 126s - | summary: append f2 126s - | 126s - o changeset: 2:600de9b6d498 126s - | branch: branch2 126s - | parent: 0:40a840c1f8ae 126s - | user: test 126s - | date: Mon Jan 01 00:00:11 2007 +0000 126s - | summary: add f2 126s - | 126s - | o changeset: 1:8211cade99e4 126s - |/ bookmark: branch1_bookmark 126s - | user: test 126s - | date: Mon Jan 01 00:00:12 2007 +0000 126s - | summary: append f1 126s - | 126s - o changeset: 0:40a840c1f8ae 126s - branch: branch1 126s - user: test 126s - date: Mon Jan 01 00:00:10 2007 +0000 126s - summary: add f1 126s - 126s 126s ERROR: test-branch-bookmark-suffix.t#without-path output changed 126s ! 126s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-bundle.t 126s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-bundle.t.err 126s @@ -37,246 +37,102 @@ 126s 126s $ hg clone gitrepo hgrepo 126s importing 3 git commits 126s - new changesets ff7a2f2d8d70:ca33a262eb46 (3 drafts) 126s - updating to bookmark master 126s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 126s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 126s + ** which supports versions 6.9 of Mercurial. 126s + ** Please disable "hggit" and try your action again. 126s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 126s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 126s + ** Mercurial Distributed SCM (version 7.0.1) 126s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 126s + Traceback (most recent call last): 126s + File "/usr/bin/hg", line 51, in 126s + dispatch.run() 126s + ~~~~~~~~~~~~^^ 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 126s + status = dispatch(req) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 126s + status = _rundispatch(req) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 126s + ret = _runcatch(req) or 0 126s + ~~~~~~~~~^^^^^ 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 126s + return _callcatch(ui, _runcatchfunc) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 126s + return scmutil.callcatch(ui, func) 126s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 126s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 126s + return func() 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 126s + return _dispatch(req) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 126s + return runcommand( 126s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 126s + ) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 126s + ret = _runcommand(ui, options, cmd, d) 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 126s + return cmdfunc() 126s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 126s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 126s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 126s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 126s + return func(*args, **kwargs) 126s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 126s + r = hg.clone( 126s + ui, 126s + ...<11 lines>... 126s + depth=opts.get('depth') or None, 126s + ) 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 126s + srcpeer, destpeer = orig(*args, **opts) 126s + ~~~~^^^^^^^^^^^^^^^ 126s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 126s + exchange.pull( 126s + ~~~~~~~~~~~~~^ 126s + local, 126s + ^^^^^^ 126s + ...<5 lines>... 126s + depth=depth, 126s + ^^^^^^^^^^^^ 126s + ) 126s + ^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 126s + return f(*args, **kwargs) 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 126s + pullop.cgresult = repo.githandler.fetch(remote, heads) 126s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 126s + imported = self.import_git_objects( 126s + b'pull', 126s + ...<2 lines>... 126s + heads=heads, 126s + ) 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 126s + self.import_git_commit( 126s + ~~~~~~~~~~~~~~~~~~~~~~^ 126s + command, 126s + ^^^^^^^^ 126s + self.git[commit.sha], 126s + ^^^^^^^^^^^^^^^^^^^^^ 126s + commit.phase, 126s + ^^^^^^^^^^^^^ 126s + ) 126s + ^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 126s + files, gitlinks, git_renames = self.get_files_changed( 126s + ~~~~~~~~~~~~~~~~~~~~~~^ 126s + commit, detect_renames 126s + ^^^^^^^^^^^^^^^^^^^^^^ 126s + ) 126s + ^ 126s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 126s + oldfile, oldmode, oldsha = change.old 126s + ^^^^^^^^^^^^^^^^^^^^^^^^ 126s + TypeError: cannot unpack non-iterable NoneType object 126s + [1] 126s $ cd hgrepo 126s + $TESTTMP.sh: 45: cd: can't cd to hgrepo 126s 126s Create a bundle with our metadata, and inspect it: 126s 126s $ hg bundle --all ../bundle-w-git.hg 126s - 3 changesets found 126s - $ hg debugbundle --all ../bundle-w-git.hg | grep hg-git 126s - exp-hg-git-map -- {} (mandatory: False) 126s - exp-hg-git-tags -- {} (mandatory: False) 126s - $ hg debugbundle --all ../bundle-w-git.hg > bundle-w-git.out 126s - 126s -Create a bundle without our metadata, and inspect it: 126s - 126s - $ hg bundle --all ../bundle-wo-git.hg --config experimental.hg-git-bundle=no 126s - 3 changesets found 126s - $ hg debugbundle --all ../bundle-wo-git.hg | grep hg-git 126s - [1] 126s - 126s -Verify that those are different: 126s - 126s - $ hg debugbundle --all ../bundle-wo-git.hg > bundle-wo-git.out 126s - $ cmp -s bundle-w-git.out bundle-wo-git.out 126s - [1] 126s - 126s -Now create a bundle without hg-git enabled at all, which should be 126s -exactly similar to what you get when you disable metadata embedding; 126s -this verifies we don't accidentally pollute bundles. 126s - 126s - $ hg bundle --all --config extensions.hggit=! ../bundle-wo-hggit.hg 126s - 3 changesets found 126s - $ hg debugbundle --all ../bundle-wo-hggit.hg > bundle-wo-hggit.out 126s - $ cmp -s bundle-wo-git.hg bundle-wo-hggit.hg 126s - [2] 126s - $ cmp -s bundle-wo-git.out bundle-wo-hggit.out 126s - $ cd .. 126s - $ rm -r hgrepo 126s - 126s -Does unbundling transfer state? 126s - 126s - $ hg init hgrepo 126s - $ hg -R hgrepo unbundle bundle-w-git.hg 126s - adding changesets 126s - adding manifests 126s - adding file changes 126s - added 3 changesets with 3 changes to 3 files 126s - new changesets * (glob) 126s - (run 'hg update' to get a working copy) 126s - $ hg -R hgrepo log -T git 126s - 2:ca33a262eb46 | d338971a96e2 | tip | 126s - 1:7fe02317c63d | 9497a4ee62e1 | theothertag | 126s - 0:ff7a2f2d8d70 | 7eeab2ea75ec | thetag | 126s - $ hg -R hgrepo pull gitrepo 126s - pulling from gitrepo 126s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 126s - no changes found 126s - adding bookmark master 126s - $ rm -r hgrepo 126s - 126s -Can we unbundle something without git state? 126s - 126s - $ hg init hgrepo 126s - $ hg -R hgrepo unbundle bundle-wo-git.hg 126s - adding changesets 126s - adding manifests 126s - adding file changes 126s - added 3 changesets with 3 changes to 3 files 126s - new changesets * (glob) 126s - (run 'hg update' to get a working copy) 126s - $ hg -R hgrepo log -T git 126s - 2:ca33a262eb46 | | tip | 126s - 1:7fe02317c63d | | | 126s - 0:ff7a2f2d8d70 | | | 126s - $ hg -R hgrepo pull gitrepo 126s - pulling from gitrepo 126s - importing 3 git commits 126s - adding bookmark master 126s - (run 'hg update' to get a working copy) 126s - $ rm -r hgrepo 126s - 126s -Regular mercurial shouldn't choke on our bundle 126s - 126s - $ hg init hgrepo 126s - $ cat >> hgrepo/.hg/hgrc < [extensions] 126s - > hggit = ! 126s - > EOF 126s - $ hg -R hgrepo unbundle bundle-wo-git.hg 126s - adding changesets 126s - adding manifests 126s - adding file changes 126s - added 3 changesets with 3 changes to 3 files 126s - new changesets * (glob) 126s - (run 'hg update' to get a working copy) 126s - $ hg -R hgrepo log -T git 126s - 2:ca33a262eb46 | | tip | 126s - 1:7fe02317c63d | | | 126s - 0:ff7a2f2d8d70 | | | 126s - $ hg -R hgrepo pull gitrepo 126s - pulling from gitrepo 126s - abort: repository gitrepo not found!? (re) 126s - [255] 126s - $ rm -r hgrepo 126s - 126s - 126s -What happens if we unbundle twice? 126s - 126s - $ hg init hgrepo 126s - $ hg -R hgrepo unbundle bundle-w-git.hg 126s - adding changesets 126s - adding manifests 126s - adding file changes 126s - added 3 changesets with 3 changes to 3 files 126s - new changesets * (glob) 126s - (run 'hg update' to get a working copy) 126s - $ hg -R hgrepo unbundle bundle-w-git.hg 126s - adding changesets 126s - adding manifests 126s - adding file changes 126s - added 0 changesets with 0 changes to 3 files 126s - (run 'hg update' to get a working copy) 126s - $ hg -R hgrepo log -T git 126s - 2:ca33a262eb46 | d338971a96e2 | tip | 126s - 1:7fe02317c63d | 9497a4ee62e1 | theothertag | 126s - 0:ff7a2f2d8d70 | 7eeab2ea75ec | thetag | 126s - $ hg -R hgrepo pull gitrepo 126s - pulling from gitrepo 126s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 126s - no changes found 126s - adding bookmark master 126s - $ rm -r hgrepo 126s - 126s -Alas, cloning a bundle doesn't work yet: 126s - 126s -(Mercurial is apparently quite dumb here, so we won't try to fix this 126s -for now, but this test mostly exists so that we notice if ever starts 126s -working, or breaks entirely.) 126s - 126s - $ hg clone bundle-w-git.hg hgrepo 126s - requesting all changes 126s - adding changesets 126s - adding manifests 126s - adding file changes 126s - added 3 changesets with 3 changes to 3 files 126s - new changesets * (glob) 126s - updating to branch default 126s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 126s - $ hg -R hgrepo log -T git 126s - 2:ca33a262eb46 | | tip | 126s - 1:7fe02317c63d | | | 126s - 0:ff7a2f2d8d70 | | | 126s - $ rm -r hgrepo 126s - 126s -Now, lets try to be a bit evil. How does pulling partial state work? 126s - 126s -First, more git happenings: 126s - 126s - $ cd gitrepo 126s - $ git checkout -b otherbranch thetag 126s - Switched to a new branch 'otherbranch' 126s - $ echo 42 > baz 126s - $ git add baz 126s - $ fn_git_commit -m 3 126s - $ cd .. 126s - 126s -Pull, 'em, and create a partial bundle: 126s - 126s - $ hg clone gitrepo hgrepo 126s - importing 4 git commits 126s - new changesets ff7a2f2d8d70:d87bf3ef6a53 (4 drafts) 126s - updating to bookmark otherbranch 126s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 126s - $ hg -R hgrepo bundle --base 'p1(tip)' -r tip bundle-w-git-2.hg 126s - 1 changesets found 126s - $ rm -r hgrepo 126s - 126s -Now, load only that bundle into a repository without any git state 126s - 126s - $ hg clone -r 1 bundle-w-git.hg hgrepo --config extensions.hggit=! 126s - adding changesets 126s - adding manifests 126s - adding file changes 126s - added 2 changesets with 2 changes to 2 files 126s - new changesets * (glob) 126s - updating to branch default 126s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 126s - $ cd hgrepo 126s - $ hg unbundle ../bundle-w-git-2.hg 126s - adding changesets 126s - adding manifests 126s - adding file changes 126s - added 1 changesets with 1 changes to 1 files (+1 heads) 126s - new changesets * (glob) 126s - (run 'hg heads' to see heads, 'hg merge' to merge) 126s - $ hg pull ../gitrepo 126s - pulling from ../gitrepo 126s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 126s - importing 3 git commits 126s - adding bookmark master 126s - adding bookmark otherbranch 126s - new changesets ca33a262eb46 (1 drafts) 126s - (run 'hg update' to get a working copy) 126s - $ cd .. 126s - $ rm -r hgrepo 126s - 126s -Now, try pushing with only the metadata: 126s - 126s - $ hg init hgrepo 126s - $ cd hgrepo 126s - $ hg unbundle -u ../bundle-w-git.hg 126s - adding changesets 126s - adding manifests 126s - adding file changes 126s - added 3 changesets with 3 changes to 3 files 126s - new changesets * (glob) 126s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 126s - $ echo kaflaflibob > bajizmo 126s - $ fn_hg_commit -A -m 4 126s - $ hg book -r tip master 126s - $ hg push ../gitrepo 126s - pushing to ../gitrepo 126s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 126s - abort: cannot push git commit d338971a96e2 as it is not present locally 126s - (please try pulling first, or as a fallback run git-cleanup to re-export the missing commits) 126s - [255] 126s - 126s -Try to repopulate the git state from a bundle 126s - 126s - $ hg debug-remove-hggit-state 126s - clearing out the git cache data 126s - $ hg log -qr 'fromgit()' 126s - $ hg unbundle -u ../bundle-w-git.hg 126s - adding changesets 126s - adding manifests 126s - adding file changes 126s - added 0 changesets with 0 changes to 3 files 126s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 126s - $ hg log -qr 'fromgit()' 126s - 0:ff7a2f2d8d70 126s - 1:7fe02317c63d 126s - 2:ca33a262eb46 126s 126s ERROR: test-bundle.t output changed 127s ! 127s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-file-removal.t 127s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-file-removal.t.err 127s @@ -99,191 +99,99 @@ 127s 127s $ hg clone gitrepo hgrepo 127s importing 9 git commits 127s - new changesets ff7a2f2d8d70:0995b8a0a943 (9 drafts) 127s - updating to bookmark master 127s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 127s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 127s + ** which supports versions 6.9 of Mercurial. 127s + ** Please disable "hggit" and try your action again. 127s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 127s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 127s + ** Mercurial Distributed SCM (version 7.0.1) 127s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 127s + Traceback (most recent call last): 127s + File "/usr/bin/hg", line 51, in 127s + dispatch.run() 127s + ~~~~~~~~~~~~^^ 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 127s + status = dispatch(req) 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 127s + status = _rundispatch(req) 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 127s + ret = _runcatch(req) or 0 127s + ~~~~~~~~~^^^^^ 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 127s + return _callcatch(ui, _runcatchfunc) 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 127s + return scmutil.callcatch(ui, func) 127s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 127s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 127s + return func() 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 127s + return _dispatch(req) 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 127s + return runcommand( 127s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 127s + ) 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 127s + ret = _runcommand(ui, options, cmd, d) 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 127s + return cmdfunc() 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 127s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 127s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 127s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 127s + return func(*args, **kwargs) 127s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 127s + r = hg.clone( 127s + ui, 127s + ...<11 lines>... 127s + depth=opts.get('depth') or None, 127s + ) 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 127s + srcpeer, destpeer = orig(*args, **opts) 127s + ~~~~^^^^^^^^^^^^^^^ 127s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 127s + exchange.pull( 127s + ~~~~~~~~~~~~~^ 127s + local, 127s + ^^^^^^ 127s + ...<5 lines>... 127s + depth=depth, 127s + ^^^^^^^^^^^^ 127s + ) 127s + ^ 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 127s + return f(*args, **kwargs) 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 127s + pullop.cgresult = repo.githandler.fetch(remote, heads) 127s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 127s + imported = self.import_git_objects( 127s + b'pull', 127s + ...<2 lines>... 127s + heads=heads, 127s + ) 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 127s + self.import_git_commit( 127s + ~~~~~~~~~~~~~~~~~~~~~~^ 127s + command, 127s + ^^^^^^^^ 127s + self.git[commit.sha], 127s + ^^^^^^^^^^^^^^^^^^^^^ 127s + commit.phase, 127s + ^^^^^^^^^^^^^ 127s + ) 127s + ^ 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 127s + files, gitlinks, git_renames = self.get_files_changed( 127s + ~~~~~~~~~~~~~~~~~~~~~~^ 127s + commit, detect_renames 127s + ^^^^^^^^^^^^^^^^^^^^^^ 127s + ) 127s + ^ 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 127s + oldfile, oldmode, oldsha = change.old 127s + ^^^^^^^^^^^^^^^^^^^^^^^^ 127s + TypeError: cannot unpack non-iterable NoneType object 127s + [1] 127s $ cd hgrepo 127s + $TESTTMP.sh: 72: cd: can't cd to hgrepo 127s $ hg log --graph 127s - @ changeset: 8:0995b8a0a943 127s - | bookmark: master 127s - | tag: default/master 127s - | tag: tip 127s - | user: test 127s - | date: Mon Jan 01 00:00:18 2007 +0000 127s - | summary: remove betalink 127s - | 127s - o changeset: 7:a316d3a96c89 127s - | user: test 127s - | date: Mon Jan 01 00:00:17 2007 +0000 127s - | summary: replace file with symlink 127s - | 127s - o changeset: 6:1804acb71f3e 127s - | user: test 127s - | date: Mon Jan 01 00:00:16 2007 +0000 127s - | summary: replace symlink with file 127s - | 127s - o changeset: 5:e19c85becc87 127s - | user: test 127s - | date: Mon Jan 01 00:00:15 2007 +0000 127s - | summary: add symlink to beta 127s - | 127s - o changeset: 4:0d3086c3f8c3 127s - | user: test 127s - | date: Mon Jan 01 00:00:14 2007 +0000 127s - | summary: remove foo/bar 127s - | 127s - o changeset: 3:b2406125ef5c 127s - | user: test 127s - | date: Mon Jan 01 00:00:13 2007 +0000 127s - | summary: remove alpha 127s - | 127s - o changeset: 2:8b3b2f4b4158 127s - | user: test 127s - | date: Mon Jan 01 00:00:12 2007 +0000 127s - | summary: add foo 127s - | 127s - o changeset: 1:7fe02317c63d 127s - | user: test 127s - | date: Mon Jan 01 00:00:11 2007 +0000 127s - | summary: add beta 127s - | 127s - o changeset: 0:ff7a2f2d8d70 127s - user: test 127s - date: Mon Jan 01 00:00:10 2007 +0000 127s - summary: add alpha 127s - 127s - 127s -make sure alpha is not in this manifest 127s - $ hg manifest -r 3 127s - beta 127s - foo/bar 127s - 127s -make sure that only beta is in the manifest 127s - $ hg manifest 127s - beta 127s - 127s - $ hg debug-remove-hggit-state 127s - clearing out the git cache data 127s - $ ls .hg | grep git 127s - [1] 127s - $ hg push ../repo.git 127s - pushing to ../repo.git 127s - searching for changes 127s - adding objects 127s - remote: found 0 deltas to reuse 127s - added 9 commits with 8 trees and 5 blobs 127s - adding reference refs/heads/master 127s - 127s - $ cd .. 127s - $ git --git-dir=repo.git log --pretty=medium 127s - commit 5ee11eeae239d6a99df5a99901ec00ffafbcc46b 127s - Author: test 127s - Date: Mon Jan 1 00:00:18 2007 +0000 127s - 127s - remove betalink 127s - 127s - commit 2c7b324faeccb1acf89c35b7ad38e7956f5705fa 127s - Author: test 127s - Date: Mon Jan 1 00:00:17 2007 +0000 127s - 127s - replace file with symlink 127s - 127s - commit ff0478d2ecc2571d01eb6d406ac29e4e63e5d3d5 127s - Author: test 127s - Date: Mon Jan 1 00:00:16 2007 +0000 127s - 127s - replace symlink with file 127s - 127s - commit 5492e6e410e42df527956be945286cd1ae45acb8 127s - Author: test 127s - Date: Mon Jan 1 00:00:15 2007 +0000 127s - 127s - add symlink to beta 127s - 127s - commit b991de8952c482a7cd51162674ffff8474862218 127s - Author: test 127s - Date: Mon Jan 1 00:00:14 2007 +0000 127s - 127s - remove foo/bar 127s - 127s - commit b0edaf0adac19392cf2867498b983bc5192b41dd 127s - Author: test 127s - Date: Mon Jan 1 00:00:13 2007 +0000 127s - 127s - remove alpha 127s - 127s - commit f2d0d5bfa905e12dee728b509b96cf265bb6ee43 127s - Author: test 127s - Date: Mon Jan 1 00:00:12 2007 +0000 127s - 127s - add foo 127s - 127s - commit 9497a4ee62e16ee641860d7677cdb2589ea15554 127s - Author: test 127s - Date: Mon Jan 1 00:00:11 2007 +0000 127s - 127s - add beta 127s - 127s - commit 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 127s - Author: test 127s - Date: Mon Jan 1 00:00:10 2007 +0000 127s - 127s - add alpha 127s - 127s -test with rename detection enabled 127s - $ hg --config git.similarity=100 clone gitrepo hgreporenames 127s - importing 9 git commits 127s - new changesets ff7a2f2d8d70:0995b8a0a943 (9 drafts) 127s - updating to bookmark master 127s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 127s - 127s - $ cd hgreporenames 127s - $ hg log --graph 127s - @ changeset: 8:0995b8a0a943 127s - | bookmark: master 127s - | tag: default/master 127s - | tag: tip 127s - | user: test 127s - | date: Mon Jan 01 00:00:18 2007 +0000 127s - | summary: remove betalink 127s - | 127s - o changeset: 7:a316d3a96c89 127s - | user: test 127s - | date: Mon Jan 01 00:00:17 2007 +0000 127s - | summary: replace file with symlink 127s - | 127s - o changeset: 6:1804acb71f3e 127s - | user: test 127s - | date: Mon Jan 01 00:00:16 2007 +0000 127s - | summary: replace symlink with file 127s - | 127s - o changeset: 5:e19c85becc87 127s - | user: test 127s - | date: Mon Jan 01 00:00:15 2007 +0000 127s - | summary: add symlink to beta 127s - | 127s - o changeset: 4:0d3086c3f8c3 127s - | user: test 127s - | date: Mon Jan 01 00:00:14 2007 +0000 127s - | summary: remove foo/bar 127s - | 127s - o changeset: 3:b2406125ef5c 127s - | user: test 127s - | date: Mon Jan 01 00:00:13 2007 +0000 127s - | summary: remove alpha 127s - | 127s - o changeset: 2:8b3b2f4b4158 127s - | user: test 127s - | date: Mon Jan 01 00:00:12 2007 +0000 127s - | summary: add foo 127s - | 127s - o changeset: 1:7fe02317c63d 127s - | user: test 127s - | date: Mon Jan 01 00:00:11 2007 +0000 127s - | summary: add beta 127s - | 127s - o changeset: 0:ff7a2f2d8d70 127s - user: test 127s - date: Mon Jan 01 00:00:10 2007 +0000 127s - summary: add alpha 127s - 127s 127s ERROR: test-file-removal.t output changed 127s ! 127s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-hg-author.t 127s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-hg-author.t.err 127s @@ -17,255 +17,100 @@ 127s $ cd .. 127s $ hg clone repo.git hgrepo 127s importing 1 git commits 127s - new changesets ff7a2f2d8d70 (1 drafts) 127s - updating to bookmark master 127s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 127s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 127s + ** which supports versions 6.9 of Mercurial. 127s + ** Please disable "hggit" and try your action again. 127s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 127s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 127s + ** Mercurial Distributed SCM (version 7.0.1) 127s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 127s + Traceback (most recent call last): 127s + File "/usr/bin/hg", line 51, in 127s + dispatch.run() 127s + ~~~~~~~~~~~~^^ 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 127s + status = dispatch(req) 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 127s + status = _rundispatch(req) 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 127s + ret = _runcatch(req) or 0 127s + ~~~~~~~~~^^^^^ 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 127s + return _callcatch(ui, _runcatchfunc) 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 127s + return scmutil.callcatch(ui, func) 127s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 127s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 127s + return func() 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 127s + return _dispatch(req) 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 127s + return runcommand( 127s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 127s + ) 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 127s + ret = _runcommand(ui, options, cmd, d) 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 127s + return cmdfunc() 127s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 127s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 127s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 127s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 127s + return func(*args, **kwargs) 127s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 127s + r = hg.clone( 127s + ui, 127s + ...<11 lines>... 127s + depth=opts.get('depth') or None, 127s + ) 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 127s + srcpeer, destpeer = orig(*args, **opts) 127s + ~~~~^^^^^^^^^^^^^^^ 127s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 127s + exchange.pull( 127s + ~~~~~~~~~~~~~^ 127s + local, 127s + ^^^^^^ 127s + ...<5 lines>... 127s + depth=depth, 127s + ^^^^^^^^^^^^ 127s + ) 127s + ^ 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 127s + return f(*args, **kwargs) 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 127s + pullop.cgresult = repo.githandler.fetch(remote, heads) 127s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 127s + imported = self.import_git_objects( 127s + b'pull', 127s + ...<2 lines>... 127s + heads=heads, 127s + ) 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 127s + self.import_git_commit( 127s + ~~~~~~~~~~~~~~~~~~~~~~^ 127s + command, 127s + ^^^^^^^^ 127s + self.git[commit.sha], 127s + ^^^^^^^^^^^^^^^^^^^^^ 127s + commit.phase, 127s + ^^^^^^^^^^^^^ 127s + ) 127s + ^ 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 127s + files, gitlinks, git_renames = self.get_files_changed( 127s + ~~~~~~~~~~~~~~~~~~~~~~^ 127s + commit, detect_renames 127s + ^^^^^^^^^^^^^^^^^^^^^^ 127s + ) 127s + ^ 127s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 127s + oldfile, oldmode, oldsha = change.old 127s + ^^^^^^^^^^^^^^^^^^^^^^^^ 127s + TypeError: cannot unpack non-iterable NoneType object 127s + [1] 127s 127s $ cd hgrepo 127s + $TESTTMP.sh: 22: cd: can't cd to hgrepo 127s $ hg book master 127s - $ echo beta > beta 127s - $ hg add beta 127s - $ fn_hg_commit -u "test" -m 'add beta' 127s - $ hg push 127s - pushing to $TESTTMP/repo.git 127s - searching for changes 127s - adding objects 127s - remote: found 0 deltas to reuse 127s - added 1 commits with 1 trees and 1 blobs 127s - updating reference refs/heads/master 127s - 127s - $ echo gamma >> beta 127s - $ fn_hg_commit -u "test (comment)" -m 'modify beta' 127s - $ hg push 127s - pushing to $TESTTMP/repo.git 127s - searching for changes 127s - adding objects 127s - remote: found 0 deltas to reuse 127s - added 1 commits with 1 trees and 1 blobs 127s - updating reference refs/heads/master 127s - 127s - $ echo gamma > gamma 127s - $ hg add gamma 127s - $ fn_hg_commit -u "" -m 'add gamma' 127s - $ hg push 127s - pushing to $TESTTMP/repo.git 127s - searching for changes 127s - adding objects 127s - remote: found 0 deltas to reuse 127s - added 1 commits with 1 trees and 1 blobs 127s - updating reference refs/heads/master 127s - 127s - $ echo delta > delta 127s - $ hg add delta 127s - $ fn_hg_commit -u "name" -m 'add delta' 127s - $ hg push 127s - pushing to $TESTTMP/repo.git 127s - searching for changes 127s - adding objects 127s - remote: found 0 deltas to reuse 127s - added 1 commits with 1 trees and 1 blobs 127s - updating reference refs/heads/master 127s - 127s - $ echo epsilon > epsilon 127s - $ hg add epsilon 127s - $ fn_hg_commit -u "name zeta 127s - $ hg add zeta 127s - $ fn_hg_commit -u " test " -m 'add zeta' 127s - $ hg push 127s - pushing to $TESTTMP/repo.git 127s - searching for changes 127s - adding objects 127s - remote: found 0 deltas to reuse 127s - added 1 commits with 1 trees and 1 blobs 127s - updating reference refs/heads/master 127s - 127s - $ echo eta > eta 127s - $ hg add eta 127s - $ fn_hg_commit -u "test < test@example.com >" -m 'add eta' 127s - $ hg push 127s - pushing to $TESTTMP/repo.git 127s - searching for changes 127s - adding objects 127s - remote: found 0 deltas to reuse 127s - added 1 commits with 1 trees and 1 blobs 127s - updating reference refs/heads/master 127s - 127s - $ echo theta > theta 127s - $ hg add theta 127s - $ fn_hg_commit -u "test >test@example.com>" -m 'add theta' 127s - $ hg push 127s - pushing to $TESTTMP/repo.git 127s - searching for changes 127s - adding objects 127s - remote: found 0 deltas to reuse 127s - added 1 commits with 1 trees and 1 blobs 127s - updating reference refs/heads/master 127s - 127s - $ hg log --graph 127s - @ changeset: 8:c5d1976ab12c 127s - | bookmark: master 127s - | tag: default/master 127s - | tag: tip 127s - | user: test >test@example.com> 127s - | date: Mon Jan 01 00:00:18 2007 +0000 127s - | summary: add theta 127s - | 127s - o changeset: 7:0e2fb4d21667 127s - | user: test < test@example.com > 127s - | date: Mon Jan 01 00:00:17 2007 +0000 127s - | summary: add eta 127s - | 127s - o changeset: 6:faa3aae96199 127s - | user: test 127s - | date: Mon Jan 01 00:00:16 2007 +0000 127s - | summary: add zeta 127s - | 127s - o changeset: 5:2cf6ad5a1afc 127s - | user: name 127s - | date: Mon Jan 01 00:00:14 2007 +0000 127s - | summary: add delta 127s - | 127s - o changeset: 3:6b854d65d0d6 127s - | user: 127s - | date: Mon Jan 01 00:00:13 2007 +0000 127s - | summary: add gamma 127s - | 127s - o changeset: 2:46303c652e79 127s - | user: test (comment) 127s - | date: Mon Jan 01 00:00:12 2007 +0000 127s - | summary: modify beta 127s - | 127s - o changeset: 1:47580592d3d6 127s - | user: test 127s - | date: Mon Jan 01 00:00:11 2007 +0000 127s - | summary: add beta 127s - | 127s - o changeset: 0:ff7a2f2d8d70 127s - user: test 127s - date: Mon Jan 01 00:00:10 2007 +0000 127s - summary: add alpha 127s - 127s - 127s - $ cd .. 127s - $ hg clone repo.git hgrepo2 127s - importing 9 git commits 127s - new changesets ff7a2f2d8d70:1fbf3aa91221 (9 drafts) 127s - updating to bookmark master 127s - 8 files updated, 0 files merged, 0 files removed, 0 files unresolved 127s - $ hg -R hgrepo2 log --graph 127s - @ changeset: 8:1fbf3aa91221 127s - | bookmark: master 127s - | tag: default/master 127s - | tag: tip 127s - | user: test ?test@example.com 127s - | date: Mon Jan 01 00:00:18 2007 +0000 127s - | summary: add theta 127s - | 127s - o changeset: 7:20310508f06d 127s - | user: test 127s - | date: Mon Jan 01 00:00:17 2007 +0000 127s - | summary: add eta 127s - | 127s - o changeset: 6:e3d81af8a8c1 127s - | user: test 127s - | date: Mon Jan 01 00:00:16 2007 +0000 127s - | summary: add zeta 127s - | 127s - o changeset: 5:78f609fd208f 127s - | user: name 127s - | date: Mon Jan 01 00:00:15 2007 +0000 127s - | summary: add epsilon 127s - | 127s - o changeset: 4:42fa61d57718 127s - | user: name 127s - | date: Mon Jan 01 00:00:14 2007 +0000 127s - | summary: add delta 127s - | 127s - o changeset: 3:6b854d65d0d6 127s - | user: 127s - | date: Mon Jan 01 00:00:13 2007 +0000 127s - | summary: add gamma 127s - | 127s - o changeset: 2:46303c652e79 127s - | user: test (comment) 127s - | date: Mon Jan 01 00:00:12 2007 +0000 127s - | summary: modify beta 127s - | 127s - o changeset: 1:47580592d3d6 127s - | user: test 127s - | date: Mon Jan 01 00:00:11 2007 +0000 127s - | summary: add beta 127s - | 127s - o changeset: 0:ff7a2f2d8d70 127s - user: test 127s - date: Mon Jan 01 00:00:10 2007 +0000 127s - summary: add alpha 127s - 127s - $ git --git-dir=repo.git log --pretty=medium master 127s - commit 2fe60ba69727981e6ede78be70354c3a9e30e21d 127s - Author: test ?test@example.com 127s - Date: Mon Jan 1 00:00:18 2007 +0000 127s - 127s - add theta 127s - 127s - commit 9f2f7cafdbf2e467928db98de8275141001d3081 127s - Author: test 127s - Date: Mon Jan 1 00:00:17 2007 +0000 127s - 127s - add eta 127s - 127s - commit 172a6f8d8064d73dff7013e395a9fe3cfc3ff807 127s - Author: test 127s - Date: Mon Jan 1 00:00:16 2007 +0000 127s - 127s - add zeta 127s - 127s - commit 71badb8e343a7da391a9b5d98909fbd2ca7d78f2 127s - Author: name 127s - Date: Mon Jan 1 00:00:15 2007 +0000 127s - 127s - add epsilon 127s - 127s - commit 9a9ae7b7f310d4a1a3e732a747ca26f06934f8d8 127s - Author: name 127s - Date: Mon Jan 1 00:00:14 2007 +0000 127s - 127s - add delta 127s - 127s - commit e4149a32e81e380193f59aa8773349201b8ed7f7 127s - Author: 127s - Date: Mon Jan 1 00:00:13 2007 +0000 127s - 127s - add gamma 127s - 127s - commit fae95aef5889a80103c2fbd5d14ff6eb8c9daf93 127s - Author: test ext:(%20%28comment%29) 127s - Date: Mon Jan 1 00:00:12 2007 +0000 127s - 127s - modify beta 127s - 127s - commit 0f378ab6c2c6b5514bd873d3faf8ac4b8095b001 127s - Author: test 127s - Date: Mon Jan 1 00:00:11 2007 +0000 127s - 127s - add beta 127s - 127s - commit 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 127s - Author: test 127s - Date: Mon Jan 1 00:00:10 2007 +0000 127s - 127s - add alpha 127s 127s ERROR: test-hg-author.t output changed 128s ! 128s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-subrepos.t 128s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-subrepos.t.err 128s @@ -35,164 +35,98 @@ 128s Ensure gitlinks are transformed to .hgsubstate on hg pull from git 128s $ hg clone -u tip repo.git hgrepo 2>&1 | grep -E -v '^(Cloning into|done)' 128s importing 3 git commits 128s - new changesets e532b2bfda10:3c4fd561cbeb (3 drafts) 128s - updating to branch default 128s - cloning subrepo subrepo1 from $TESTTMP/gitsubrepo 128s - cloning subrepo xyz/subrepo2 from $TESTTMP/gitsubrepo 128s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 128s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 128s + ** which supports versions 6.9 of Mercurial. 128s + ** Please disable "hggit" and try your action again. 128s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 128s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 128s + ** Mercurial Distributed SCM (version 7.0.1) 128s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 128s + Traceback (most recent call last): 128s + File "/usr/bin/hg", line 51, in 128s + dispatch.run() 128s + ~~~~~~~~~~~~^^ 128s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 128s + status = dispatch(req) 128s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 128s + status = _rundispatch(req) 128s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 128s + ret = _runcatch(req) or 0 128s + ~~~~~~~~~^^^^^ 128s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 128s + return _callcatch(ui, _runcatchfunc) 128s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 128s + return scmutil.callcatch(ui, func) 128s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 128s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 128s + return func() 128s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 128s + return _dispatch(req) 128s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 128s + return runcommand( 128s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 128s + ) 128s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 128s + ret = _runcommand(ui, options, cmd, d) 128s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 128s + return cmdfunc() 128s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 128s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 128s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 128s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 128s + return func(*args, **kwargs) 128s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 128s + r = hg.clone( 128s + ui, 128s + ...<11 lines>... 128s + depth=opts.get('depth') or None, 128s + ) 128s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 128s + srcpeer, destpeer = orig(*args, **opts) 128s + ~~~~^^^^^^^^^^^^^^^ 128s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 128s + exchange.pull( 128s + ~~~~~~~~~~~~~^ 128s + local, 128s + ^^^^^^ 128s + ...<5 lines>... 128s + depth=depth, 128s + ^^^^^^^^^^^^ 128s + ) 128s + ^ 128s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 128s + return f(*args, **kwargs) 128s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 128s + pullop.cgresult = repo.githandler.fetch(remote, heads) 128s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 128s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 128s + imported = self.import_git_objects( 128s + b'pull', 128s + ...<2 lines>... 128s + heads=heads, 128s + ) 128s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 128s + self.import_git_commit( 128s + ~~~~~~~~~~~~~~~~~~~~~~^ 128s + command, 128s + ^^^^^^^^ 128s + self.git[commit.sha], 128s + ^^^^^^^^^^^^^^^^^^^^^ 128s + commit.phase, 128s + ^^^^^^^^^^^^^ 128s + ) 128s + ^ 128s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 128s + files, gitlinks, git_renames = self.get_files_changed( 128s + ~~~~~~~~~~~~~~~~~~~~~~^ 128s + commit, detect_renames 128s + ^^^^^^^^^^^^^^^^^^^^^^ 128s + ) 128s + ^ 128s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 128s + oldfile, oldmode, oldsha = change.old 128s + ^^^^^^^^^^^^^^^^^^^^^^^^ 128s + TypeError: cannot unpack non-iterable NoneType object 128s $ cd hgrepo 128s + $TESTTMP.sh: 42: cd: can't cd to hgrepo 128s $ hg bookmarks -f -r default master 128s -1. Ensure gitlinks are transformed to .hgsubstate on hg <- git pull 128s -.hgsub shall list two [git] subrepos 128s - $ cat .hgsub 128s - subrepo1 = [git]../gitsubrepo 128s - xyz/subrepo2 = [git]../gitsubrepo 128s -.hgsubstate shall list two idenitcal revisions 128s - $ cat .hgsubstate 128s - 56f0304c5250308f14cfbafdc27bd12d40154d17 subrepo1 128s - 56f0304c5250308f14cfbafdc27bd12d40154d17 xyz/subrepo2 128s -hg status shall NOT report .hgsub and .hgsubstate as untracked - either ignored or unmodified 128s - $ hg status --unknown .hgsub .hgsubstate 128s - $ hg status --modified .hgsub .hgsubstate 128s - $ cd .. 128s - 128s -2. Check gitmodules are preserved during hg -> git push 128s - $ cd gitsubrepo 128s - $ echo gamma > gamma 128s - $ git add gamma 128s - $ fn_git_commit -m 'add gamma' 128s - $ cd .. 128s - $ cd hgrepo 128s - $ cd xyz/subrepo2 128s - $ git pull --ff-only | sed 's/files/file/;s/insertions/insertion/;s/, 0 deletions.*//' | sed 's/| */| /' 128s - From $TESTTMP/gitsubrepo 128s - 56f0304..aabf7cd master -> origin/master 128s - Updating 56f0304..aabf7cd 128s - Fast-forward 128s - gamma | 1 + 128s - 1 file changed, 1 insertion(+) 128s - create mode 100644 gamma 128s - $ cd ../.. 128s - $ echo xxx >> alpha 128s - $ fn_hg_commit -m 'Update subrepo2 from hg' | grep -v "committing subrepository" || true 128s - $ hg push 128s - pushing to $TESTTMP/repo.git 128s - searching for changes 128s - adding objects 128s - remote: found 0 deltas to reuse 128s - added 1 commits with 2 trees and 1 blobs 128s - updating reference refs/heads/master 128s - $ cd .. 128s - $ cd gitrepo 128s - $ git pull --ff-only 128s - From $TESTTMP/repo 128s - 89c22d7..275b0a5 master -> origin/master 128s - Fetching submodule xyz/subrepo2 128s - From $TESTTMP/gitsubrepo 128s - 56f0304..aabf7cd master -> origin/master 128s - Updating 89c22d7..275b0a5 128s - Fast-forward 128s - alpha | 1 + 128s - xyz/subrepo2 | 2 +- 128s - 2 files changed, 2 insertions(+), 1 deletion(-) 128s -there shall be two gitlink entries, with values matching that in .hgsubstate 128s - $ git ls-tree -r HEAD^{tree} | grep 'commit' 128s - 160000 commit 56f0304c5250308f14cfbafdc27bd12d40154d17 subrepo1 128s - 160000 commit aabf7cd015089aff0b84596e69aa37b24a3d090a xyz/subrepo2 128s -bring working copy to HEAD state (it's not bare repo) 128s - $ git reset --hard 128s - HEAD is now at 275b0a5 Update subrepo2 from hg 128s - $ cd .. 128s - 128s -3. Check .hgsub and .hgsubstate from git repository are merged, not overwritten 128s - $ hg init hgsub 128s - $ cd hgsub 128s - $ echo delta > delta 128s - $ hg add delta 128s - $ fn_hg_commit -m "add delta" 128s - $ hg tip --template '{node} hgsub\n' > ../gitrepo/.hgsubstate 128s - $ cat > ../gitrepo/.hgsub < hgsub = ../hgsub 128s - > EOF 128s - $ cd ../gitrepo 128s - $ git add .hgsubstate .hgsub 128s - $ fn_git_commit -m "Test3. Prepare .hgsub and .hgsubstate sources" 128s - $ git push 128s - To $TESTTMP/repo.git 128s - 275b0a5..e31d576 master -> master 128s - 128s - $ cd ../hgrepo 128s - $ hg pull 128s - pulling from $TESTTMP/repo.git 128s - importing 1 git commits 128s - updating bookmark master 128s - new changesets [0-9a-f]{12,12} \(1 drafts\) (re) 128s - (run 'hg update' to get a working copy) 128s - $ hg checkout -C 128s - updating to active bookmark master 128s - cloning subrepo hgsub from $TESTTMP/hgsub 128s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 128s - $ cd .. 128s -pull shall bring .hgsub entry which was added to the git repo 128s - $ cat hgrepo/.hgsub 128s - hgsub = ../hgsub 128s - subrepo1 = [git]../gitsubrepo 128s - xyz/subrepo2 = [git]../gitsubrepo 128s -.hgsubstate shall list revision of the subrepo added through git repo 128s - $ cat hgrepo/.hgsubstate 128s - 481ec30d580f333ae3a77f94c973ce37b69d5bda hgsub 128s - 56f0304c5250308f14cfbafdc27bd12d40154d17 subrepo1 128s - aabf7cd015089aff0b84596e69aa37b24a3d090a xyz/subrepo2 128s - 128s -4. Try changing the subrepos from the Mercurial side 128s - 128s - $ cd hgrepo 128s - $ cat >> .hgsub < subrepo2 = [git]../gitsubrepo 128s - > EOF 128s - $ git clone ../gitsubrepo subrepo2 128s - Cloning into 'subrepo2'... 128s - done. 128s - $ fn_hg_commit -m 'some stuff' 128s - $ hg push 128s - pushing to $TESTTMP/repo.git 128s - no changes made to subrepo hgsub since last push to $TESTTMP/hgsub 128s - searching for changes 128s - adding objects 128s - remote: found 0 deltas to reuse 128s - added 1 commits with 1 trees and 1 blobs 128s - updating reference refs/heads/master 128s - $ cd .. 128s - 128s -5. But we actually do something quite weird in this case: If a 128s -.gitmodules file exists in the repository, it always wins! In this 128s -case, we break the bidirectional convention, and modify the repository 128s -data. That's odd, so show it: 128s - 128s - $ hg id hgrepo 128s - 42c46c7eef3a default/master/tip master 128s - $ hg clone -U repo.git hgrepo2 128s - importing 6 git commits 128s - new changesets e532b2bfda10:42c46c7eef3a (6 drafts) 128s - $ hg -R hgrepo2 up :master 128s - Cloning into '$TESTTMP/hgrepo2/subrepo1'... 128s - done. 128s - cloning subrepo hgsub from $TESTTMP/hgsub 128s - cloning subrepo subrepo1 from $TESTTMP/gitsubrepo 128s - checking out detached HEAD in subrepository "subrepo1" 128s - check out a git branch if you intend to make changes 128s - Cloning into '$TESTTMP/hgrepo2/subrepo2'... 128s - done. 128s - Cloning into '$TESTTMP/hgrepo2/xyz/subrepo2'... 128s - done. 128s - cloning subrepo subrepo2 from $TESTTMP/gitsubrepo 128s - cloning subrepo xyz/subrepo2 from $TESTTMP/gitsubrepo 128s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 128s - 128s -We retained bidirectionality! 128s - 128s - $ git diff --stat hgrepo/.hgsub hgrepo2/.hgsub 128s - $ hg id hgrepo 128s - 42c46c7eef3a default/master/tip master 128s - $ hg id hgrepo2 128s - 42c46c7eef3a default/master/tip master 128s 128s ERROR: test-subrepos.t output changed 129s ! 129s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-extra.t 129s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-extra.t.err 129s @@ -13,189 +13,99 @@ 129s $ cd .. 129s $ hg clone gitrepo hgrepo 129s importing 1 git commits 129s - new changesets aa9eb6424386 (1 drafts) 129s - updating to bookmark not-master 129s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 129s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 129s + ** which supports versions 6.9 of Mercurial. 129s + ** Please disable "hggit" and try your action again. 129s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 129s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 129s + ** Mercurial Distributed SCM (version 7.0.1) 129s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 129s + Traceback (most recent call last): 129s + File "/usr/bin/hg", line 51, in 129s + dispatch.run() 129s + ~~~~~~~~~~~~^^ 129s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 129s + status = dispatch(req) 129s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 129s + status = _rundispatch(req) 129s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 129s + ret = _runcatch(req) or 0 129s + ~~~~~~~~~^^^^^ 129s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 129s + return _callcatch(ui, _runcatchfunc) 129s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 129s + return scmutil.callcatch(ui, func) 129s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 129s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 129s + return func() 129s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 129s + return _dispatch(req) 129s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 129s + return runcommand( 129s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 129s + ) 129s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 129s + ret = _runcommand(ui, options, cmd, d) 129s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 129s + return cmdfunc() 129s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 129s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 129s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 129s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 129s + return func(*args, **kwargs) 129s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 129s + r = hg.clone( 129s + ui, 129s + ...<11 lines>... 129s + depth=opts.get('depth') or None, 129s + ) 129s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 129s + srcpeer, destpeer = orig(*args, **opts) 129s + ~~~~^^^^^^^^^^^^^^^ 129s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 129s + exchange.pull( 129s + ~~~~~~~~~~~~~^ 129s + local, 129s + ^^^^^^ 129s + ...<5 lines>... 129s + depth=depth, 129s + ^^^^^^^^^^^^ 129s + ) 129s + ^ 129s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 129s + return f(*args, **kwargs) 129s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 129s + pullop.cgresult = repo.githandler.fetch(remote, heads) 129s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 129s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 129s + imported = self.import_git_objects( 129s + b'pull', 129s + ...<2 lines>... 129s + heads=heads, 129s + ) 129s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 129s + self.import_git_commit( 129s + ~~~~~~~~~~~~~~~~~~~~~~^ 129s + command, 129s + ^^^^^^^^ 129s + self.git[commit.sha], 129s + ^^^^^^^^^^^^^^^^^^^^^ 129s + commit.phase, 129s + ^^^^^^^^^^^^^ 129s + ) 129s + ^ 129s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 129s + files, gitlinks, git_renames = self.get_files_changed( 129s + ~~~~~~~~~~~~~~~~~~~~~~^ 129s + commit, detect_renames 129s + ^^^^^^^^^^^^^^^^^^^^^^ 129s + ) 129s + ^ 129s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 129s + oldfile, oldmode, oldsha = change.old 129s + ^^^^^^^^^^^^^^^^^^^^^^^^ 129s + TypeError: cannot unpack non-iterable NoneType object 129s + [1] 129s $ cd hgrepo 129s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 129s $ hg mv a b 129s - $ fn_hg_commit -mb 129s - $ hg up 0 129s - 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 129s - (leaving bookmark not-master) 129s - $ touch c 129s - $ hg add c 129s - $ fn_hg_commit -mc 129s - 129s -Rebase will add a rebase_source 129s - 129s - $ hg --config extensions.rebase= rebase -s 1 -d 2 129s - rebasing 1:4c7da7adf18b * (glob) 129s - saved backup bundle to $TESTTMP/*.hg (glob) 129s - $ hg up 2 129s - 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 129s - 129s -Add a commit with multiple extra fields 129s - $ hg bookmark b1 129s - $ touch d 129s - $ hg add d 129s - $ fn_hg_commitextra --field zzzzzzz=datazzz --field aaaaaaa=dataaaa 129s - $ hg log --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" 129s - @ 3 f01651cfcc9337fbd9700d5018ca637a2911ed28 129s - | aaaaaaa=dataaaa branch=default zzzzzzz=datazzz 129s - | 129s - o 2 03f4cf3c429050e2204fb2bda3a0f93329bdf4fd b 129s - | branch=default rebase_source=4c7da7adf18b785726a7421ef0d585bb5762990d 129s - | 129s - o 1 a735dc0cd7cc0ccdbc16cfa4326b19c707c360f4 c 129s - | branch=default 129s - | 129s - o 0 aa9eb6424386df2b0638fe6f480c3767fdd0e6fd a 129s - branch=default hg-git-rename-source=git 129s - 129s - 129s - $ hg push -r b1 129s - pushing to $TESTTMP/gitrepo 129s - searching for changes 129s - adding objects 129s - remote: found 0 deltas to reuse 129s - added 3 commits with 3 trees and 0 blobs 129s - adding reference refs/heads/b1 129s - 129s - $ hg bookmark b2 129s - $ hg mv c c2 129s - $ hg mv d d2 129s - $ fn_hg_commitextra --field yyyyyyy=datayyy --field bbbbbbb=databbb 129s - 129s -Test some nutty filenames 129s - $ hg book b3 129s -#if windows 129s - $ hg mv c2 'c2 => c3' 129s - abort: filename contains '>', which is reserved on Windows: "c2 => c3" 129s - [255] 129s - $ hg mv c2 c3 129s - $ fn_hg_commit -m 'dummy commit' 129s - $ hg mv c3 c4 129s - $ fn_hg_commit -m 'dummy commit' 129s -#else 129s - $ hg mv c2 'c2 => c3' 129s - warning: filename contains '>', which is reserved on Windows: 'c2 => c3' 129s - $ fn_hg_commit -m 'test filename with arrow' 129s - $ hg mv 'c2 => c3' 'c3 => c4' 129s - warning: filename contains '>', which is reserved on Windows: 'c3 => c4' 129s - $ fn_hg_commit -m 'test filename with arrow 2' 129s - $ hg log --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" -l 3 --config "experimental.graphstyle.missing=|" 129s - @ 6 bca4ba69a6844c133b069e227dfa043d41e3c197 test filename with arrow 2 129s - | branch=default 129s - | 129s - o 5 864caad1f3493032f8d06f44a89dc9f1c039b09f test filename with arrow 129s - | branch=default 129s - | 129s - o 4 58f855ae26f4930ce857e648d3dd949901cce817 129s - | bbbbbbb=databbb branch=default yyyyyyy=datayyy 129s - | 129s -#endif 129s - $ hg push -r b2 -r b3 129s - pushing to $TESTTMP/gitrepo 129s - searching for changes 129s - adding objects 129s - remote: found 0 deltas to reuse 129s - added 3 commits with 3 trees and 0 blobs 129s - adding reference refs/heads/b2 129s - adding reference refs/heads/b3 129s - 129s - $ cd ../gitrepo 129s - $ git cat-file commit b1 129s - tree 1b773a2eb70f29397356f8069c285394835ff85a 129s - parent 54776dace5849bdf273fb26737a48ef64804909d 129s - author test 1167609613 +0000 129s - committer test 1167609613 +0000 129s - HG:extra aaaaaaa:dataaaa 129s - HG:extra zzzzzzz:datazzz 129s - 129s - 129s - 129s - $ git cat-file commit b2 129s - tree 34ad62c6d6ad9464bfe62db5b3d2fa16aaa9fa9e 129s - parent 15beadd92324c9b88060a4ec4ffb350f988d7075 129s - author test 1167609614 +0000 129s - committer test 1167609614 +0000 129s - HG:rename c:c2 129s - HG:rename d:d2 129s - HG:extra bbbbbbb:databbb 129s - HG:extra yyyyyyy:datayyy 129s - 129s - 129s - 129s -#if no-windows 129s - $ git cat-file commit b3 129s - tree e63df52695f9b06e54b37e7ef60d0c43994de620 129s - parent 5cafe2555a0666fcf661a3943277a9812a694a98 129s - author test 1167609616 +0000 129s - committer test 1167609616 +0000 129s - HG:rename c2%20%3D%3E%20c3:c3%20%3D%3E%20c4 129s - 129s - test filename with arrow 2 129s -#endif 129s - $ cd ../gitrepo 129s - $ git checkout b1 129s - Switched to branch 'b1' 129s - $ commit_sha=$(git rev-parse HEAD) 129s - $ tree_sha=$(git rev-parse HEAD^{tree}) 129s - 129s -There's no way to create a Git repo with extra metadata via the CLI. Dulwich 129s -lets you do that, though. 129s - 129s - >>> from dulwich.objects import Commit 129s - >>> from dulwich.porcelain import open_repo 129s - >>> repo = open_repo('.') 129s - >>> c = Commit() 129s - >>> c.author = b'test ' 129s - >>> c.author_time = 0 129s - >>> c.author_timezone = 0 129s - >>> c.committer = c.author 129s - >>> c.commit_time = 0 129s - >>> c.commit_timezone = 0 129s - >>> c.parents = [b'$commit_sha'] 129s - >>> c.tree = b'$tree_sha' 129s - >>> c.message = b'extra commit\n' 129s - >>> c.extra.extend([(b'zzz:zzz', b'data:zzz'), (b'aaa:aaa', b'data:aaa'), 129s - ... (b'HG:extra', b'hgaaa:dataaaa'), 129s - ... (b'HG:extra', b'hgzzz:datazzz')]) 129s - >>> repo.object_store.add_object(c) 129s - >>> repo.refs.set_if_equals(b'refs/heads/master', None, c.id) 129s - True 129s - 129s - $ git cat-file commit master 129s - tree 1b773a2eb70f29397356f8069c285394835ff85a 129s - parent 15beadd92324c9b88060a4ec4ffb350f988d7075 129s - author test 0 +0000 129s - committer test 0 +0000 129s - zzz:zzz data:zzz 129s - aaa:aaa data:aaa 129s - HG:extra hgaaa:dataaaa 129s - HG:extra hgzzz:datazzz 129s - 129s - extra commit 129s - 129s - $ cd .. 129s - $ hg clone -qU gitrepo hgrepo2 129s - $ cd hgrepo2 129s - $ hg log -G -r :5 -T "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" 129s - o 5 58f855ae26f4930ce857e648d3dd949901cce817 129s - | bbbbbbb=databbb branch=default yyyyyyy=datayyy 129s - | 129s - | o 4 90acc8c23fcfaeb0930c03c849923a696fd9013c extra commit 129s - |/ GIT0-zzz%3Azzz=data%3Azzz GIT1-aaa%3Aaaa=data%3Aaaa branch=default hgaaa=dataaaa hgzzz=datazzz 129s - | 129s - o 3 f01651cfcc9337fbd9700d5018ca637a2911ed28 129s - | aaaaaaa=dataaaa branch=default zzzzzzz=datazzz 129s - | 129s - o 2 03f4cf3c429050e2204fb2bda3a0f93329bdf4fd b 129s - | branch=default rebase_source=4c7da7adf18b785726a7421ef0d585bb5762990d 129s - | 129s - o 1 a735dc0cd7cc0ccdbc16cfa4326b19c707c360f4 c 129s - | branch=default 129s - | 129s - o 0 aa9eb6424386df2b0638fe6f480c3767fdd0e6fd a 129s - branch=default hg-git-rename-source=git 129s - 129s 129s ERROR: test-extra.t output changed 133s ! 133s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-bookmark-workflow.t 133s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-bookmark-workflow.t.err 133s @@ -77,149 +77,99 @@ 133s 0 3442585be8a6 "add alpha" bookmarks: [] 133s $ cd .. 133s $ hg clone -q gitremoterepo hggitlocalrepo --config hggit.usephases=True 133s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 133s + ** which supports versions 6.9 of Mercurial. 133s + ** Please disable "hggit" and try your action again. 133s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 133s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 133s + ** Mercurial Distributed SCM (version 7.0.1) 133s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 133s + Traceback (most recent call last): 133s + File "/usr/bin/hg", line 51, in 133s + dispatch.run() 133s + ~~~~~~~~~~~~^^ 133s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 133s + status = dispatch(req) 133s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 133s + status = _rundispatch(req) 133s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 133s + ret = _runcatch(req) or 0 133s + ~~~~~~~~~^^^^^ 133s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 133s + return _callcatch(ui, _runcatchfunc) 133s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 133s + return scmutil.callcatch(ui, func) 133s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 133s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 133s + return func() 133s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 133s + return _dispatch(req) 133s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 133s + return runcommand( 133s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 133s + ) 133s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 133s + ret = _runcommand(ui, options, cmd, d) 133s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 133s + return cmdfunc() 133s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 133s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 133s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 133s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 133s + return func(*args, **kwargs) 133s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 133s + r = hg.clone( 133s + ui, 133s + ...<11 lines>... 133s + depth=opts.get('depth') or None, 133s + ) 133s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 133s + srcpeer, destpeer = orig(*args, **opts) 133s + ~~~~^^^^^^^^^^^^^^^ 133s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 133s + exchange.pull( 133s + ~~~~~~~~~~~~~^ 133s + local, 133s + ^^^^^^ 133s + ...<5 lines>... 133s + depth=depth, 133s + ^^^^^^^^^^^^ 133s + ) 133s + ^ 133s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 133s + return f(*args, **kwargs) 133s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 133s + pullop.cgresult = repo.githandler.fetch(remote, heads) 133s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 133s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 133s + imported = self.import_git_objects( 133s + b'pull', 133s + ...<2 lines>... 133s + heads=heads, 133s + ) 133s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 133s + self.import_git_commit( 133s + ~~~~~~~~~~~~~~~~~~~~~~^ 133s + command, 133s + ^^^^^^^^ 133s + self.git[commit.sha], 133s + ^^^^^^^^^^^^^^^^^^^^^ 133s + commit.phase, 133s + ^^^^^^^^^^^^^ 133s + ) 133s + ^ 133s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 133s + files, gitlinks, git_renames = self.get_files_changed( 133s + ~~~~~~~~~~~~~~~~~~~~~~^ 133s + commit, detect_renames 133s + ^^^^^^^^^^^^^^^^^^^^^^ 133s + ) 133s + ^ 133s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 133s + oldfile, oldmode, oldsha = change.old 133s + ^^^^^^^^^^^^^^^^^^^^^^^^ 133s + TypeError: cannot unpack non-iterable NoneType object 133s + [1] 133s $ cd hggitlocalrepo 133s + $TESTTMP.sh: 78: cd: can't cd to hggitlocalrepo 133s $ hggitstate 133s - 3 03769a650ded 55b133e1d558 "add delta" bookmarks: [master] 133s - 2 ca33a262eb46 d338971a96e2 "add gamma" bookmarks: [] 133s - 1 7fe02317c63d 9497a4ee62e1 "add beta" bookmarks: [b1] 133s - 0 ff7a2f2d8d70 7eeab2ea75ec "add alpha" bookmarks: [] 133s - 133s -Make sure that master is public 133s - $ hg phase -r master 133s - 3: public 133s - $ cd .. 133s - 133s -No changes 133s - $ cd purehglocalrepo 133s - $ hg incoming -B 133s - comparing with $TESTTMP/hgremoterepo 133s - searching for changed bookmarks 133s - no changed bookmarks found 133s - [1] 133s - $ hg outgoing 133s - comparing with $TESTTMP/hgremoterepo 133s - searching for changes 133s - no changes found 133s - [1] 133s - $ hg outgoing -B 133s - comparing with $TESTTMP/hgremoterepo 133s - searching for changed bookmarks 133s - no changed bookmarks found 133s - [1] 133s - $ hg push 133s - pushing to $TESTTMP/hgremoterepo 133s - searching for changes 133s - no changes found 133s - [1] 133s - $ cd .. 133s - $ cd hggitlocalrepo 133s - $ hg incoming -B 133s - comparing with $TESTTMP/gitremoterepo 133s - searching for changed bookmarks 133s - no changed bookmarks found 133s - [1] 133s - $ hg outgoing 133s - comparing with $TESTTMP/gitremoterepo 133s - searching for changes 133s - no changes found 133s - [1] 133s - $ hg outgoing -B 133s - comparing with $TESTTMP/gitremoterepo 133s - searching for changed bookmarks 133s - no changed bookmarks found 133s - [1] 133s - $ hg push 133s - pushing to $TESTTMP/gitremoterepo 133s - searching for changes 133s - no changes found 133s - [1] 133s - $ cd .. 133s - 133s -Bookmarks on existing revs: 133s -- change b1 on local repo 133s -- introduce b2 on local repo 133s -- introduce b3 on remote repo 133s -Bookmarks on new revs 133s -- introduce b4 on a new rev on the remote 133s - $ cd hgremoterepo 133s - $ hg bookmark -r master b3 133s - $ hg bookmark -r master b4 133s - $ hg update -q b4 133s - $ echo epsilon > epsilon; hg add epsilon; hgcommit -m 'add epsilon' 133s - $ hgstate 133s - 4 d979bb8e0fbb "add epsilon" bookmarks: [b4] 133s - 3 fc2664cac217 "add delta" bookmarks: [b3 master] 133s - 2 d85ced7ae9d6 "add gamma" bookmarks: [] 133s - 1 7bcd915dc873 "add beta" bookmarks: [b1] 133s - 0 3442585be8a6 "add alpha" bookmarks: [] 133s - $ cd .. 133s - $ cd purehglocalrepo 133s - $ hg bookmark -fr 2 b1 133s - $ hg bookmark -r 0 b2 133s - $ hgstate 133s - 3 fc2664cac217 "add delta" bookmarks: [master] 133s - 2 d85ced7ae9d6 "add gamma" bookmarks: [b1] 133s - 1 7bcd915dc873 "add beta" bookmarks: [] 133s - 0 3442585be8a6 "add alpha" bookmarks: [b2] 133s - $ hg incoming -B 133s - comparing with $TESTTMP/hgremoterepo 133s - searching for changed bookmarks 133s - b3 fc2664cac217 133s - b4 d979bb8e0fbb 133s - $ hg outgoing 133s - comparing with $TESTTMP/hgremoterepo 133s - searching for changes 133s - no changes found 133s - [1] 133s -As of 2.3, Mercurial's outgoing -B doesn't actually show changed bookmarks 133s -It only shows "new" bookmarks. Thus, b1 doesn't show up. 133s -This changed in 3.4 to start showing changed and deleted bookmarks again. 133s - $ hg outgoing -B | grep -v -E -w 'b1|b3|b4' 133s - comparing with $TESTTMP/hgremoterepo 133s - searching for changed bookmarks 133s - b2 3442585be8a6 133s - $ cd .. 133s - 133s - $ cd gitremoterepo 133s - $ git branch b3 master 133s - $ git checkout -b b4 master 133s - Switched to a new branch 'b4' 133s - $ echo epsilon > epsilon 133s - $ git add epsilon 133s - $ gitcommit -m 'add epsilon' 133s - $ gitstate 133s - fcfd2c0 "add epsilon" refs: (*b4) (glob) 133s - 55b133e "add delta" refs: (master, b3) 133s - d338971 "add gamma" refs: 133s - 9497a4e "add beta" refs: (b1) 133s - 7eeab2e "add alpha" refs: 133s - $ cd .. 133s - $ cd hggitlocalrepo 133s - $ hg bookmark -fr 2 b1 133s - $ hg bookmark -r 0 b2 133s - $ hgstate 133s - 3 03769a650ded "add delta" bookmarks: [master] 133s - 2 ca33a262eb46 "add gamma" bookmarks: [b1] 133s - 1 7fe02317c63d "add beta" bookmarks: [] 133s - 0 ff7a2f2d8d70 "add alpha" bookmarks: [b2] 133s - $ hg incoming -B 133s - comparing with $TESTTMP/gitremoterepo 133s - searching for changed bookmarks 133s - b3 03769a650ded 133s - b4 fcfd2c0262db 133s - $ hg outgoing 133s - comparing with $TESTTMP/gitremoterepo 133s - searching for changes 133s - no changes found 133s - [1] 133s -As of 2.3, Mercurial's outgoing -B doesn't actually show changed bookmarks 133s -It only shows "new" bookmarks. Thus, b1 doesn't show up. 133s -This changed in 3.4 to start showing changed and deleted bookmarks again. 133s - $ hg outgoing -B 133s - comparing with $TESTTMP/gitremoterepo 133s - searching for changed bookmarks 133s - b1 ca33a262eb46 133s - b2 ff7a2f2d8d70 133s - b3 133s - b4 133s - $ cd .. 133s 133s ERROR: test-bookmark-workflow.t output changed 142s ! 142s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-illegal-contents.t 142s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-illegal-contents.t.err 142s @@ -23,19 +23,132 @@ 142s warning: skipping invalid path '.git/hooks/post-update' 142s warning: skipping invalid path 'bar/.gi\xe2\x80\x8ct/wut' 142s warning: skipping invalid path 'foo/git~100/wat' 142s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 142s + ** which supports versions 6.9 of Mercurial. 142s + ** Please disable "hggit" and try your action again. 142s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 142s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 142s + ** Mercurial Distributed SCM (version 7.0.1) 142s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 142s + Traceback (most recent call last): 142s + File "/usr/bin/hg", line 51, in 142s + dispatch.run() 142s + ~~~~~~~~~~~~^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 142s + status = dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 142s + status = _rundispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 142s + ret = _runcatch(req) or 0 142s + ~~~~~~~~~^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 142s + return _callcatch(ui, _runcatchfunc) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 142s + return scmutil.callcatch(ui, func) 142s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 142s + return func() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 142s + return _dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 142s + return runcommand( 142s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 142s + ) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 142s + ret = _runcommand(ui, options, cmd, d) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 142s + return cmdfunc() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 142s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 142s + return func(*args, **kwargs) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 64, in gexport 142s + repo.githandler.export_commits() 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 142s + self.export_git_objects() 142s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 142s + packer.pack(synchronous=True) 142s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 142s + _process_batch(self.ui, self.object_store, todo) 142s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 142s + object_store._remove_loose_object(obj.id) 142s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 142s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 142s + [1] 142s $ GIT_DIR=.hg/git git ls-tree -r --name-only master 142s - this/is/safe 142s + fatal: Not a valid object name master 142s + [128] 142s $ hg debug-remove-hggit-state 142s clearing out the git cache data 142s $ hg gexport --config hggit.invalidpaths=keep 142s warning: path '.git/hooks/post-update' contains an invalid path component 142s warning: path 'bar/.gi\xe2\x80\x8ct/wut' contains an invalid path component 142s warning: path 'foo/git~100/wat' contains an invalid path component 142s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 142s + ** which supports versions 6.9 of Mercurial. 142s + ** Please disable "hggit" and try your action again. 142s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 142s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 142s + ** Mercurial Distributed SCM (version 7.0.1) 142s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 142s + Traceback (most recent call last): 142s + File "/usr/bin/hg", line 51, in 142s + dispatch.run() 142s + ~~~~~~~~~~~~^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 142s + status = dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 142s + status = _rundispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 142s + ret = _runcatch(req) or 0 142s + ~~~~~~~~~^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 142s + return _callcatch(ui, _runcatchfunc) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 142s + return scmutil.callcatch(ui, func) 142s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 142s + return func() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 142s + return _dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 142s + return runcommand( 142s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 142s + ) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 142s + ret = _runcommand(ui, options, cmd, d) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 142s + return cmdfunc() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 142s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 142s + return func(*args, **kwargs) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 64, in gexport 142s + repo.githandler.export_commits() 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 142s + self.export_git_objects() 142s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 142s + packer.pack(synchronous=True) 142s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 142s + _process_batch(self.ui, self.object_store, todo) 142s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 142s + object_store._remove_loose_object(obj.id) 142s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 142s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 142s + [1] 142s $ GIT_DIR=.hg/git git ls-tree -r --name-only master 142s - .git/hooks/post-update 142s - "bar/.gi\342\200\214t/wut" 142s - foo/git~100/wat 142s - this/is/safe 142s + fatal: Not a valid object name master 142s + [128] 142s $ cd .. 142s 142s $ rm -rf hg 142s @@ -53,8 +166,66 @@ 142s $ hg book master 142s $ hg gexport 142s warning: skipping invalid path 'nested/.git/hooks/post-update' 142s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 142s + ** which supports versions 6.9 of Mercurial. 142s + ** Please disable "hggit" and try your action again. 142s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 142s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 142s + ** Mercurial Distributed SCM (version 7.0.1) 142s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 142s + Traceback (most recent call last): 142s + File "/usr/bin/hg", line 51, in 142s + dispatch.run() 142s + ~~~~~~~~~~~~^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 142s + status = dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 142s + status = _rundispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 142s + ret = _runcatch(req) or 0 142s + ~~~~~~~~~^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 142s + return _callcatch(ui, _runcatchfunc) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 142s + return scmutil.callcatch(ui, func) 142s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 142s + return func() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 142s + return _dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 142s + return runcommand( 142s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 142s + ) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 142s + ret = _runcommand(ui, options, cmd, d) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 142s + return cmdfunc() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 142s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 142s + return func(*args, **kwargs) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 64, in gexport 142s + repo.githandler.export_commits() 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 142s + self.export_git_objects() 142s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 142s + packer.pack(synchronous=True) 142s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 142s + _process_batch(self.ui, self.object_store, todo) 142s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 142s + object_store._remove_loose_object(obj.id) 142s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 142s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 142s + [1] 142s $ git clone .hg/git git 142s Cloning into 'git'... 142s + warning: You appear to have cloned an empty repository. 142s done. 142s $ rm -rf git 142s 142s @@ -70,17 +241,74 @@ 142s 142s $ hg --config hggit.invalidpaths=keep gexport 142s warning: path 'nested/.git/hooks/post-update' contains an invalid path component 142s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 142s + ** which supports versions 6.9 of Mercurial. 142s + ** Please disable "hggit" and try your action again. 142s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 142s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 142s + ** Mercurial Distributed SCM (version 7.0.1) 142s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 142s + Traceback (most recent call last): 142s + File "/usr/bin/hg", line 51, in 142s + dispatch.run() 142s + ~~~~~~~~~~~~^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 142s + status = dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 142s + status = _rundispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 142s + ret = _runcatch(req) or 0 142s + ~~~~~~~~~^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 142s + return _callcatch(ui, _runcatchfunc) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 142s + return scmutil.callcatch(ui, func) 142s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 142s + return func() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 142s + return _dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 142s + return runcommand( 142s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 142s + ) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 142s + ret = _runcommand(ui, options, cmd, d) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 142s + return cmdfunc() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 142s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 142s + return func(*args, **kwargs) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 64, in gexport 142s + repo.githandler.export_commits() 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 142s + self.export_git_objects() 142s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 142s + packer.pack(synchronous=True) 142s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 142s + _process_batch(self.ui, self.object_store, todo) 142s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 142s + object_store._remove_loose_object(obj.id) 142s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 142s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 142s + [1] 142s $ cd .. 142s $ # different git versions give different return codes 142s $ git clone hg/.hg/git git || true 142s Cloning into 'git'... 142s - done. 142s - error: [Ii]nvalid path 'nested/\.git/hooks/post-update' (re) 142s + warning: You appear to have cloned an empty repository. 142s fatal: unable to checkout working tree (?) 142s warning: Clone succeeded, but checkout failed. (?) 142s You can inspect what was checked out with 'git status' (?) 142s and retry( the checkout)? with '.*' (re) (?) 142s (?) 142s + done. 142s 142s Now check something that case-folds to .git, which might let you own 142s Mac users: 142s @@ -100,6 +328,63 @@ 142s $ hg ci -m "also refuse to export this" 142s $ hg book master 142s $ hg gexport 142s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 142s + ** which supports versions 6.9 of Mercurial. 142s + ** Please disable "hggit" and try your action again. 142s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 142s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 142s + ** Mercurial Distributed SCM (version 7.0.1) 142s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 142s + Traceback (most recent call last): 142s + File "/usr/bin/hg", line 51, in 142s + dispatch.run() 142s + ~~~~~~~~~~~~^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 142s + status = dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 142s + status = _rundispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 142s + ret = _runcatch(req) or 0 142s + ~~~~~~~~~^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 142s + return _callcatch(ui, _runcatchfunc) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 142s + return scmutil.callcatch(ui, func) 142s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 142s + return func() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 142s + return _dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 142s + return runcommand( 142s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 142s + ) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 142s + ret = _runcommand(ui, options, cmd, d) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 142s + return cmdfunc() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 142s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 142s + return func(*args, **kwargs) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 64, in gexport 142s + repo.githandler.export_commits() 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 142s + self.export_git_objects() 142s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 142s + packer.pack(synchronous=True) 142s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 142s + _process_batch(self.ui, self.object_store, todo) 142s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 142s + object_store._remove_loose_object(obj.id) 142s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 142s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 142s + [1] 142s $ cd .. 142s 142s And the NTFS case: 142s @@ -119,6 +404,63 @@ 142s $ hg book master 142s $ hg gexport 142s warning: skipping invalid path 'GIT~1/hooks/post-checkout' 142s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 142s + ** which supports versions 6.9 of Mercurial. 142s + ** Please disable "hggit" and try your action again. 142s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 142s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 142s + ** Mercurial Distributed SCM (version 7.0.1) 142s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 142s + Traceback (most recent call last): 142s + File "/usr/bin/hg", line 51, in 142s + dispatch.run() 142s + ~~~~~~~~~~~~^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 142s + status = dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 142s + status = _rundispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 142s + ret = _runcatch(req) or 0 142s + ~~~~~~~~~^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 142s + return _callcatch(ui, _runcatchfunc) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 142s + return scmutil.callcatch(ui, func) 142s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 142s + return func() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 142s + return _dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 142s + return runcommand( 142s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 142s + ) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 142s + ret = _runcommand(ui, options, cmd, d) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 142s + return cmdfunc() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 142s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 142s + return func(*args, **kwargs) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 64, in gexport 142s + repo.githandler.export_commits() 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 142s + self.export_git_objects() 142s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 142s + packer.pack(synchronous=True) 142s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 142s + _process_batch(self.ui, self.object_store, todo) 142s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 142s + object_store._remove_loose_object(obj.id) 142s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 142s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 142s + [1] 142s $ cd .. 142s 142s Now check a Git repository containing a Mercurial repository, which 142s @@ -134,29 +476,294 @@ 142s $ cd .. 142s $ hg clone --config hggit.invalidpaths=abort git hg 142s importing 1 git commits 142s - abort: invalid path 'nested/.hg/00changelog.i' rejected by configuration 142s - (see 'hg help config.hggit.invalidpaths for details) 142s - [255] 142s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 142s + ** which supports versions 6.9 of Mercurial. 142s + ** Please disable "hggit" and try your action again. 142s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 142s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 142s + ** Mercurial Distributed SCM (version 7.0.1) 142s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 142s + Traceback (most recent call last): 142s + File "/usr/bin/hg", line 51, in 142s + dispatch.run() 142s + ~~~~~~~~~~~~^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 142s + status = dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 142s + status = _rundispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 142s + ret = _runcatch(req) or 0 142s + ~~~~~~~~~^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 142s + return _callcatch(ui, _runcatchfunc) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 142s + return scmutil.callcatch(ui, func) 142s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 142s + return func() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 142s + return _dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 142s + return runcommand( 142s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 142s + ) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 142s + ret = _runcommand(ui, options, cmd, d) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 142s + return cmdfunc() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 142s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 142s + return func(*args, **kwargs) 142s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 142s + r = hg.clone( 142s + ui, 142s + ...<11 lines>... 142s + depth=opts.get('depth') or None, 142s + ) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 142s + srcpeer, destpeer = orig(*args, **opts) 142s + ~~~~^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 142s + exchange.pull( 142s + ~~~~~~~~~~~~~^ 142s + local, 142s + ^^^^^^ 142s + ...<5 lines>... 142s + depth=depth, 142s + ^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 142s + return f(*args, **kwargs) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 142s + pullop.cgresult = repo.githandler.fetch(remote, heads) 142s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 142s + imported = self.import_git_objects( 142s + b'pull', 142s + ...<2 lines>... 142s + heads=heads, 142s + ) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 142s + self.import_git_commit( 142s + ~~~~~~~~~~~~~~~~~~~~~~^ 142s + command, 142s + ^^^^^^^^ 142s + self.git[commit.sha], 142s + ^^^^^^^^^^^^^^^^^^^^^ 142s + commit.phase, 142s + ^^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 142s + files, gitlinks, git_renames = self.get_files_changed( 142s + ~~~~~~~~~~~~~~~~~~~~~~^ 142s + commit, detect_renames 142s + ^^^^^^^^^^^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 142s + oldfile, oldmode, oldsha = change.old 142s + ^^^^^^^^^^^^^^^^^^^^^^^^ 142s + TypeError: cannot unpack non-iterable NoneType object 142s + [1] 142s $ rm -rf hg 142s $ hg clone --config hggit.invalidpaths=keep git hg 142s importing 1 git commits 142s - warning: path 'nested/.hg/00changelog.i' contains an invalid path component 142s - warning: path 'nested/.hg/requires' contains an invalid path component 142s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 142s + ** which supports versions 6.9 of Mercurial. 142s warning: path 'nested/.hg/store/requires' contains an invalid path component (?) 142s - new changesets [0-9a-f]{12,12} \(1 drafts\) (re) 142s warning: path 'nested/.hg/store/requires' is within a nested repository, which Mercurial cannot check out. (?) 142s - updating to bookmark master 142s - abort: path 'nested/.hg/00changelog.i' is inside nested repo 'nested' 142s - [10] 142s + ** Please disable "hggit" and try your action again. 142s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 142s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 142s + ** Mercurial Distributed SCM (version 7.0.1) 142s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 142s + Traceback (most recent call last): 142s + File "/usr/bin/hg", line 51, in 142s + dispatch.run() 142s + ~~~~~~~~~~~~^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 142s + status = dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 142s + status = _rundispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 142s + ret = _runcatch(req) or 0 142s + ~~~~~~~~~^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 142s + return _callcatch(ui, _runcatchfunc) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 142s + return scmutil.callcatch(ui, func) 142s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 142s + return func() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 142s + return _dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 142s + return runcommand( 142s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 142s + ) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 142s + ret = _runcommand(ui, options, cmd, d) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 142s + return cmdfunc() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 142s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 142s + return func(*args, **kwargs) 142s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 142s + r = hg.clone( 142s + ui, 142s + ...<11 lines>... 142s + depth=opts.get('depth') or None, 142s + ) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 142s + srcpeer, destpeer = orig(*args, **opts) 142s + ~~~~^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 142s + exchange.pull( 142s + ~~~~~~~~~~~~~^ 142s + local, 142s + ^^^^^^ 142s + ...<5 lines>... 142s + depth=depth, 142s + ^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 142s + return f(*args, **kwargs) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 142s + pullop.cgresult = repo.githandler.fetch(remote, heads) 142s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 142s + imported = self.import_git_objects( 142s + b'pull', 142s + ...<2 lines>... 142s + heads=heads, 142s + ) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 142s + self.import_git_commit( 142s + ~~~~~~~~~~~~~~~~~~~~~~^ 142s + command, 142s + ^^^^^^^^ 142s + self.git[commit.sha], 142s + ^^^^^^^^^^^^^^^^^^^^^ 142s + commit.phase, 142s + ^^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 142s + files, gitlinks, git_renames = self.get_files_changed( 142s + ~~~~~~~~~~~~~~~~~~~~~~^ 142s + commit, detect_renames 142s + ^^^^^^^^^^^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 142s + oldfile, oldmode, oldsha = change.old 142s + ^^^^^^^^^^^^^^^^^^^^^^^^ 142s + TypeError: cannot unpack non-iterable NoneType object 142s + [1] 142s $ rm -rf hg 142s $ hg clone git hg 142s importing 1 git commits 142s - warning: skipping invalid path 'nested/.hg/00changelog.i' 142s - warning: skipping invalid path 'nested/.hg/requires' 142s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 142s + ** which supports versions 6.9 of Mercurial. 142s warning: skipping invalid path 'nested/.hg/store/requires' (?) 142s - new changesets 3ea18a67c0e6 (1 drafts) 142s - updating to bookmark master 142s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 142s + ** Please disable "hggit" and try your action again. 142s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 142s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 142s + ** Mercurial Distributed SCM (version 7.0.1) 142s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 142s + Traceback (most recent call last): 142s + File "/usr/bin/hg", line 51, in 142s + dispatch.run() 142s + ~~~~~~~~~~~~^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 142s + status = dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 142s + status = _rundispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 142s + ret = _runcatch(req) or 0 142s + ~~~~~~~~~^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 142s + return _callcatch(ui, _runcatchfunc) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 142s + return scmutil.callcatch(ui, func) 142s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 142s + return func() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 142s + return _dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 142s + return runcommand( 142s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 142s + ) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 142s + ret = _runcommand(ui, options, cmd, d) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 142s + return cmdfunc() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 142s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 142s + return func(*args, **kwargs) 142s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 142s + r = hg.clone( 142s + ui, 142s + ...<11 lines>... 142s + depth=opts.get('depth') or None, 142s + ) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 142s + srcpeer, destpeer = orig(*args, **opts) 142s + ~~~~^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 142s + exchange.pull( 142s + ~~~~~~~~~~~~~^ 142s + local, 142s + ^^^^^^ 142s + ...<5 lines>... 142s + depth=depth, 142s + ^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 142s + return f(*args, **kwargs) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 142s + pullop.cgresult = repo.githandler.fetch(remote, heads) 142s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 142s + imported = self.import_git_objects( 142s + b'pull', 142s + ...<2 lines>... 142s + heads=heads, 142s + ) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 142s + self.import_git_commit( 142s + ~~~~~~~~~~~~~~~~~~~~~~^ 142s + command, 142s + ^^^^^^^^ 142s + self.git[commit.sha], 142s + ^^^^^^^^^^^^^^^^^^^^^ 142s + commit.phase, 142s + ^^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 142s + files, gitlinks, git_renames = self.get_files_changed( 142s + ~~~~~~~~~~~~~~~~~~~~~~^ 142s + commit, detect_renames 142s + ^^^^^^^^^^^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 142s + oldfile, oldmode, oldsha = change.old 142s + ^^^^^^^^^^^^^^^^^^^^^^^^ 142s + TypeError: cannot unpack non-iterable NoneType object 142s + [1] 142s $ cd .. 142s 142s Now check a Git repository containing paths with carriage return and 142s @@ -172,22 +779,288 @@ 142s $ cd .. 142s $ hg clone --config hggit.invalidpaths=abort git hg 142s importing 1 git commits 142s - abort: invalid path 'Icon\r' rejected by configuration 142s - (see 'hg help config.hggit.invalidpaths for details) 142s - [255] 142s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 142s + ** which supports versions 6.9 of Mercurial. 142s + ** Please disable "hggit" and try your action again. 142s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 142s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 142s + ** Mercurial Distributed SCM (version 7.0.1) 142s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 142s + Traceback (most recent call last): 142s + File "/usr/bin/hg", line 51, in 142s + dispatch.run() 142s + ~~~~~~~~~~~~^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 142s + status = dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 142s + status = _rundispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 142s + ret = _runcatch(req) or 0 142s + ~~~~~~~~~^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 142s + return _callcatch(ui, _runcatchfunc) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 142s + return scmutil.callcatch(ui, func) 142s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 142s + return func() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 142s + return _dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 142s + return runcommand( 142s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 142s + ) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 142s + ret = _runcommand(ui, options, cmd, d) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 142s + return cmdfunc() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 142s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 142s + return func(*args, **kwargs) 142s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 142s + r = hg.clone( 142s + ui, 142s + ...<11 lines>... 142s + depth=opts.get('depth') or None, 142s + ) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 142s + srcpeer, destpeer = orig(*args, **opts) 142s + ~~~~^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 142s + exchange.pull( 142s + ~~~~~~~~~~~~~^ 142s + local, 142s + ^^^^^^ 142s + ...<5 lines>... 142s + depth=depth, 142s + ^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 142s + return f(*args, **kwargs) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 142s + pullop.cgresult = repo.githandler.fetch(remote, heads) 142s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 142s + imported = self.import_git_objects( 142s + b'pull', 142s + ...<2 lines>... 142s + heads=heads, 142s + ) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 142s + self.import_git_commit( 142s + ~~~~~~~~~~~~~~~~~~~~~~^ 142s + command, 142s + ^^^^^^^^ 142s + self.git[commit.sha], 142s + ^^^^^^^^^^^^^^^^^^^^^ 142s + commit.phase, 142s + ^^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 142s + files, gitlinks, git_renames = self.get_files_changed( 142s + ~~~~~~~~~~~~~~~~~~~~~~^ 142s + commit, detect_renames 142s + ^^^^^^^^^^^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 142s + oldfile, oldmode, oldsha = change.old 142s + ^^^^^^^^^^^^^^^^^^^^^^^^ 142s + TypeError: cannot unpack non-iterable NoneType object 142s + [1] 142s $ hg clone --config hggit.invalidpaths=keep git hg 142s importing 1 git commits 142s - warning: skipping invalid path 'Icon\r' 142s - warning: skipping invalid path 'the\nfile' 142s - new changesets 8354c06a5842 (1 drafts) 142s - updating to bookmark master 142s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 142s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 142s + ** which supports versions 6.9 of Mercurial. 142s + ** Please disable "hggit" and try your action again. 142s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 142s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 142s + ** Mercurial Distributed SCM (version 7.0.1) 142s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 142s + Traceback (most recent call last): 142s + File "/usr/bin/hg", line 51, in 142s + dispatch.run() 142s + ~~~~~~~~~~~~^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 142s + status = dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 142s + status = _rundispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 142s + ret = _runcatch(req) or 0 142s + ~~~~~~~~~^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 142s + return _callcatch(ui, _runcatchfunc) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 142s + return scmutil.callcatch(ui, func) 142s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 142s + return func() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 142s + return _dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 142s + return runcommand( 142s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 142s + ) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 142s + ret = _runcommand(ui, options, cmd, d) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 142s + return cmdfunc() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 142s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 142s + return func(*args, **kwargs) 142s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 142s + r = hg.clone( 142s + ui, 142s + ...<11 lines>... 142s + depth=opts.get('depth') or None, 142s + ) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 142s + srcpeer, destpeer = orig(*args, **opts) 142s + ~~~~^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 142s + exchange.pull( 142s + ~~~~~~~~~~~~~^ 142s + local, 142s + ^^^^^^ 142s + ...<5 lines>... 142s + depth=depth, 142s + ^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 142s + return f(*args, **kwargs) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 142s + pullop.cgresult = repo.githandler.fetch(remote, heads) 142s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 142s + imported = self.import_git_objects( 142s + b'pull', 142s + ...<2 lines>... 142s + heads=heads, 142s + ) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 142s + self.import_git_commit( 142s + ~~~~~~~~~~~~~~~~~~~~~~^ 142s + command, 142s + ^^^^^^^^ 142s + self.git[commit.sha], 142s + ^^^^^^^^^^^^^^^^^^^^^ 142s + commit.phase, 142s + ^^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 142s + files, gitlinks, git_renames = self.get_files_changed( 142s + ~~~~~~~~~~~~~~~~~~~~~~^ 142s + commit, detect_renames 142s + ^^^^^^^^^^^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 142s + oldfile, oldmode, oldsha = change.old 142s + ^^^^^^^^^^^^^^^^^^^^^^^^ 142s + TypeError: cannot unpack non-iterable NoneType object 142s + [1] 142s $ rm -rf hg 142s $ hg clone git hg 142s importing 1 git commits 142s - warning: skipping invalid path 'Icon\r' 142s - warning: skipping invalid path 'the\nfile' 142s - new changesets 8354c06a5842 (1 drafts) 142s - updating to bookmark master 142s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 142s - 142s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 142s + ** which supports versions 6.9 of Mercurial. 142s + ** Please disable "hggit" and try your action again. 142s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 142s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 142s + ** Mercurial Distributed SCM (version 7.0.1) 142s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 142s + Traceback (most recent call last): 142s + File "/usr/bin/hg", line 51, in 142s + dispatch.run() 142s + ~~~~~~~~~~~~^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 142s + status = dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 142s + status = _rundispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 142s + ret = _runcatch(req) or 0 142s + ~~~~~~~~~^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 142s + return _callcatch(ui, _runcatchfunc) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 142s + return scmutil.callcatch(ui, func) 142s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 142s + return func() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 142s + return _dispatch(req) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 142s + return runcommand( 142s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 142s + ) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 142s + ret = _runcommand(ui, options, cmd, d) 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 142s + return cmdfunc() 142s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 142s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 142s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 142s + return func(*args, **kwargs) 142s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 142s + r = hg.clone( 142s + ui, 142s + ...<11 lines>... 142s + depth=opts.get('depth') or None, 142s + ) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 142s + srcpeer, destpeer = orig(*args, **opts) 142s + ~~~~^^^^^^^^^^^^^^^ 142s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 142s + exchange.pull( 142s + ~~~~~~~~~~~~~^ 142s + local, 142s + ^^^^^^ 142s + ...<5 lines>... 142s + depth=depth, 142s + ^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 142s + return f(*args, **kwargs) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 142s + pullop.cgresult = repo.githandler.fetch(remote, heads) 142s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 142s + imported = self.import_git_objects( 142s + b'pull', 142s + ...<2 lines>... 142s + heads=heads, 142s + ) 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 142s + self.import_git_commit( 142s + ~~~~~~~~~~~~~~~~~~~~~~^ 142s + command, 142s + ^^^^^^^^ 142s + self.git[commit.sha], 142s + ^^^^^^^^^^^^^^^^^^^^^ 142s + commit.phase, 142s + ^^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 142s + files, gitlinks, git_renames = self.get_files_changed( 142s + ~~~~~~~~~~~~~~~~~~~~~~^ 142s + commit, detect_renames 142s + ^^^^^^^^^^^^^^^^^^^^^^ 142s + ) 142s + ^ 142s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 142s + oldfile, oldmode, oldsha = change.old 142s + ^^^^^^^^^^^^^^^^^^^^^^^^ 142s + TypeError: cannot unpack non-iterable NoneType object 142s + [1] 142s + 142s 142s ERROR: test-illegal-contents.t output changed 143s ! 143s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-phases-remote.t 143s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-phases-remote.t.err 143s @@ -27,192 +27,100 @@ 143s 143s $ hg clone --config hggit.usephases=True -U gitrepo hgrepo 143s importing 4 git commits 143s - new changesets ff7a2f2d8d70:25eed24f5e8f (1 drafts) 143s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 143s + ** which supports versions 6.9 of Mercurial. 143s + ** Please disable "hggit" and try your action again. 143s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 143s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 143s + ** Mercurial Distributed SCM (version 7.0.1) 143s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 143s + Traceback (most recent call last): 143s + File "/usr/bin/hg", line 51, in 143s + dispatch.run() 143s + ~~~~~~~~~~~~^^ 143s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 143s + status = dispatch(req) 143s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 143s + status = _rundispatch(req) 143s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 143s + ret = _runcatch(req) or 0 143s + ~~~~~~~~~^^^^^ 143s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 143s + return _callcatch(ui, _runcatchfunc) 143s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 143s + return scmutil.callcatch(ui, func) 143s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 143s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 143s + return func() 143s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 143s + return _dispatch(req) 143s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 143s + return runcommand( 143s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 143s + ) 143s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 143s + ret = _runcommand(ui, options, cmd, d) 143s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 143s + return cmdfunc() 143s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 143s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 143s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 143s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 143s + return func(*args, **kwargs) 143s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 143s + r = hg.clone( 143s + ui, 143s + ...<11 lines>... 143s + depth=opts.get('depth') or None, 143s + ) 143s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 143s + srcpeer, destpeer = orig(*args, **opts) 143s + ~~~~^^^^^^^^^^^^^^^ 143s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 143s + exchange.pull( 143s + ~~~~~~~~~~~~~^ 143s + local, 143s + ^^^^^^ 143s + ...<5 lines>... 143s + depth=depth, 143s + ^^^^^^^^^^^^ 143s + ) 143s + ^ 143s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 143s + return f(*args, **kwargs) 143s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 143s + pullop.cgresult = repo.githandler.fetch(remote, heads) 143s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 143s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 143s + imported = self.import_git_objects( 143s + b'pull', 143s + ...<2 lines>... 143s + heads=heads, 143s + ) 143s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 143s + self.import_git_commit( 143s + ~~~~~~~~~~~~~~~~~~~~~~^ 143s + command, 143s + ^^^^^^^^ 143s + self.git[commit.sha], 143s + ^^^^^^^^^^^^^^^^^^^^^ 143s + commit.phase, 143s + ^^^^^^^^^^^^^ 143s + ) 143s + ^ 143s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 143s + files, gitlinks, git_renames = self.get_files_changed( 143s + ~~~~~~~~~~~~~~~~~~~~~~^ 143s + commit, detect_renames 143s + ^^^^^^^^^^^^^^^^^^^^^^ 143s + ) 143s + ^ 143s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 143s + oldfile, oldmode, oldsha = change.old 143s + ^^^^^^^^^^^^^^^^^^^^^^^^ 143s + TypeError: cannot unpack non-iterable NoneType object 143s + [1] 143s 143s $ cd hgrepo 143s + $TESTTMP.sh: 48: cd: can't cd to hgrepo 143s $ hg log -G -T '{rev}|{phase}|{bookmarks}|{tags}\n' 143s - o 3|public||thetag tip 143s - | 143s - | o 2|draft|not-master|default/not-master 143s - |/ 143s - | o 1|public|master|default/master 143s - |/ 143s - o 0|public|| 143s - 143s - $ hg phase -r 'all()' | tee $TESTTMP/after-clone 143s - 0: public 143s - 1: public 143s - 2: draft 143s - 3: public 143s - $ cat >> .hg/hgrc < [paths] 143s - > other = $TESTTMP/gitrepo/.git 143s - > other:hg-git.publish = no 143s - > EOF 143s - $ cd .. 143s - 143s -that disables publishing from that remote 143s - 143s - $ cd hgrepo 143s - $ hg phase -fd 'all()' 143s - $ hg pull other 143s - pulling from $TESTTMP/gitrepo/.git 143s - no changes found 143s - $ hg log -qr 'public()' 143s - $ hg pull -v --config hggit.usephases=True other 143s - pulling from $TESTTMP/gitrepo/.git 143s - no changes found 143s - processing commits in batches of 1000 143s - bookmark master is up-to-date 143s - bookmark not-master is up-to-date 143s - $ hg log -qr 'public()' 143s - $ cd .. 143s - 143s -but not default when enable by the global setting 143s - 143s - $ cd hgrepo 143s - $ hg phase -fd 'all()' 143s - no phases changed 143s - $ hg pull -v --config hggit.usephases=True 143s - pulling from $TESTTMP/gitrepo 143s - publishing remote HEAD 143s - publishing tag thetag 143s - no changes found 143s - processing commits in batches of 1000 143s - bookmark master is up-to-date 143s - bookmark not-master is up-to-date 143s - publishing remote HEAD 143s - publishing tag thetag 143s - 3 local changesets published 143s - $ hg phase -r 'all()' > $TESTTMP/after-pull 143s - $ cmp $TESTTMP/after-clone $TESTTMP/after-pull 143s - $ cd .. 143s - 143s -or the path option 143s - 143s - $ cd hgrepo 143s - $ hg phase -fd 'all()' 143s - $ hg pull -v --config paths.default:hg-git.publish=yes 143s - pulling from $TESTTMP/gitrepo 143s - publishing remote HEAD 143s - publishing tag thetag 143s - no changes found 143s - processing commits in batches of 1000 143s - bookmark master is up-to-date 143s - bookmark not-master is up-to-date 143s - publishing remote HEAD 143s - publishing tag thetag 143s - 3 local changesets published 143s - $ hg phase -r 'all()' > $TESTTMP/after-pull 143s - $ cmp $TESTTMP/after-clone $TESTTMP/after-pull 143s - $ cd .. 143s - 143s -but we can specify individual branches 143s - 143s - $ cd hgrepo 143s - $ hg phase -fd 'all()' 143s - $ hg pull -v --config paths.default:hg-git.publish=not-master 143s - pulling from $TESTTMP/gitrepo 143s - publishing branch not-master 143s - no changes found 143s - processing commits in batches of 1000 143s - bookmark master is up-to-date 143s - bookmark not-master is up-to-date 143s - publishing branch not-master 143s - 2 local changesets published 143s - $ hg phase -r master -r not-master -r thetag 143s - 1: draft 143s - 2: public 143s - 3: draft 143s - $ cd .. 143s - 143s -and we can also specify the tag 143s - 143s - $ cd hgrepo 143s - $ hg phase -fd 'all()' 143s - $ hg pull -v --config paths.default:hg-git.publish=thetag 143s - pulling from $TESTTMP/gitrepo 143s - publishing tag thetag 143s - no changes found 143s - processing commits in batches of 1000 143s - bookmark master is up-to-date 143s - bookmark not-master is up-to-date 143s - publishing tag thetag 143s - 2 local changesets published 143s - $ hg phase -r master -r not-master -r thetag 143s - 1: draft 143s - 2: draft 143s - 3: public 143s - $ cd .. 143s - 143s - 143s -Check multiple paths behavior 143s -============================= 143s - 143s - 143s - $ cd hgrepo 143s - $ cat >> .hg/hgrc < [paths] 143s - > multi:multi-urls = yes 143s - > multi = path://other, path://default 143s - > recursive:multi-urls = yes 143s - > recursive = path://multi, default 143s - > EOF 143s - 143s -Using multiple path works fine: 143s - 143s - 143s - $ hg pull multi --config paths.default:hg-git.publish=yes 143s - abort: cannot use `path://multi`, "multi" is also defined as a `path://` 143s - [255] 143s - 143s -Recursive multiple path are tricker, but Mercurial don't work with them either. 143s -This test exist to make sure we bail out on our own. 143s - 143s - 143s -`yes` should abort (until we implement it) 143s - 143s - $ hg pull multi --config paths.default:hg-git.publish=yes 143s - abort: cannot use `path://multi`, "multi" is also defined as a `path://` 143s - [255] 143s - 143s -`some-value` should abort (until we implement it) 143s - 143s - $ hg pull multi --config paths.default:hg-git.publish=thetag 143s - abort: cannot use `path://multi`, "multi" is also defined as a `path://` 143s - [255] 143s - 143s -`no` is fine 143s - 143s - $ hg pull multi --config paths.default:hg-git.publish=no 143s - abort: cannot use `path://multi`, "multi" is also defined as a `path://` 143s - [255] 143s - 143s - $ cd .. 143s - 143s -Check conflicting paths behavior 143s -================================ 143s - 143s - $ cd hgrepo 143s - $ cat > .hg/hgrc < [paths] 143s - > default = $TESTTMP/gitrepo 143s - > default:hg-git.publish = yes 143s - > also-default = $TESTTMP/gitrepo 143s - > EOF 143s - $ hg pull also-default 143s - pulling from $TESTTMP/gitrepo 143s - abort: different publishing configurations for the same remote location 143s - (conflicting paths: also-default, default) 143s - [255] 143s - $ hg pull --config paths.also-default:hg-git.publish=no 143s - pulling from $TESTTMP/gitrepo 143s - abort: different publishing configurations for the same remote location 143s - (conflicting paths: also-default, default) 143s - [255] 143s - $ hg pull --config paths.also-default:hg-git.publish=true 143s - pulling from $TESTTMP/gitrepo 143s - no changes found 143s - 1 local changesets published 143s - $ cd .. 143s - 143s 143s ERROR: test-phases-remote.t output changed 149s !. 149s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-octopus.t 149s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-octopus.t.err 149s @@ -63,110 +63,99 @@ 149s 149s $ hg clone gitrepo hgrepo 149s importing 8 git commits 149s - new changesets ff7a2f2d8d70:307506d6ae8a (10 drafts) 149s - updating to bookmark master 149s - 6 files updated, 0 files merged, 0 files removed, 0 files unresolved 149s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 149s + ** which supports versions 6.9 of Mercurial. 149s + ** Please disable "hggit" and try your action again. 149s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 149s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 149s + ** Mercurial Distributed SCM (version 7.0.1) 149s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 149s + Traceback (most recent call last): 149s + File "/usr/bin/hg", line 51, in 149s + dispatch.run() 149s + ~~~~~~~~~~~~^^ 149s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 149s + status = dispatch(req) 149s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 149s + status = _rundispatch(req) 149s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 149s + ret = _runcatch(req) or 0 149s + ~~~~~~~~~^^^^^ 149s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 149s + return _callcatch(ui, _runcatchfunc) 149s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 149s + return scmutil.callcatch(ui, func) 149s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 149s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 149s + return func() 149s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 149s + return _dispatch(req) 149s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 149s + return runcommand( 149s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 149s + ) 149s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 149s + ret = _runcommand(ui, options, cmd, d) 149s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 149s + return cmdfunc() 149s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 149s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 149s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 149s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 149s + return func(*args, **kwargs) 149s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 149s + r = hg.clone( 149s + ui, 149s + ...<11 lines>... 149s + depth=opts.get('depth') or None, 149s + ) 149s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 149s + srcpeer, destpeer = orig(*args, **opts) 149s + ~~~~^^^^^^^^^^^^^^^ 149s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 149s + exchange.pull( 149s + ~~~~~~~~~~~~~^ 149s + local, 149s + ^^^^^^ 149s + ...<5 lines>... 149s + depth=depth, 149s + ^^^^^^^^^^^^ 149s + ) 149s + ^ 149s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 149s + return f(*args, **kwargs) 149s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 149s + pullop.cgresult = repo.githandler.fetch(remote, heads) 149s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 149s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 149s + imported = self.import_git_objects( 149s + b'pull', 149s + ...<2 lines>... 149s + heads=heads, 149s + ) 149s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 149s + self.import_git_commit( 149s + ~~~~~~~~~~~~~~~~~~~~~~^ 149s + command, 149s + ^^^^^^^^ 149s + self.git[commit.sha], 149s + ^^^^^^^^^^^^^^^^^^^^^ 149s + commit.phase, 149s + ^^^^^^^^^^^^^ 149s + ) 149s + ^ 149s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 149s + files, gitlinks, git_renames = self.get_files_changed( 149s + ~~~~~~~~~~~~~~~~~~~~~~^ 149s + commit, detect_renames 149s + ^^^^^^^^^^^^^^^^^^^^^^ 149s + ) 149s + ^ 149s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 149s + oldfile, oldmode, oldsha = change.old 149s + ^^^^^^^^^^^^^^^^^^^^^^^^ 149s + TypeError: cannot unpack non-iterable NoneType object 149s + [1] 149s $ cd hgrepo 149s + $TESTTMP.sh: 64: cd: can't cd to hgrepo 149s $ hg log --graph --style compact | sed 's/\[.*\]//g' 149s - @ 9:7,8 307506d6ae8a 2007-01-01 00:00 +0000 test 149s - |\ Merge branches 'branch3' and 'branch4' 149s - | | 149s - | o 8:3,4 2b07220e422e 2007-01-01 00:00 +0000 test 149s - | |\ Merge branches 'branch3' and 'branch4' 149s - | | | 149s - o | | 7:5,6 ccf2d65d982c 2007-01-01 00:00 +0000 test 149s - |\ \ \ Merge branches 'branch1' and 'branch2' 149s - | | | | 149s - | o | | 6:1,2 690b40256117 2007-01-01 00:00 +0000 test 149s - | |\ \ \ Merge branches 'branch1' and 'branch2' 149s - | | | | | 149s - o | | | | 5:0 e459c0629ca4 2007-01-01 00:00 +0000 test 149s - | | | | | add delta 149s - | | | | | 149s - +-------o 4:0 e857c9a04474 2007-01-01 00:00 +0000 test 149s - | | | | add zeta 149s - | | | | 149s - +-----o 3:0 0071dec0de0e 2007-01-01 00:00 +0000 test 149s - | | | add epsilon 149s - | | | 149s - +---o 2:0 205a004356ef 2007-01-01 00:00 +0000 test 149s - | | add gamma 149s - | | 149s - | o 1 7fe02317c63d 2007-01-01 00:00 +0000 test 149s - |/ add beta 149s - | 149s - o 0 ff7a2f2d8d70 2007-01-01 00:00 +0000 test 149s - add alpha 149s - 149s - $ hg gverify -r 9 149s - verifying rev 307506d6ae8a against git commit b32ff845df61df998206b630e4370a44f9b36845 149s - $ hg gverify -r 8 149s - abort: no git commit found for rev 2b07220e422e 149s - (if this is an octopus merge, verify against the last rev) 149s - [255] 149s - 149s - $ hg debug-remove-hggit-state 149s - clearing out the git cache data 149s - $ hg push ../repo.git 149s - pushing to ../repo.git 149s - searching for changes 149s - adding objects 149s - remote: found 0 deltas to reuse 149s - added 8 commits with 8 trees and 6 blobs 149s - adding reference refs/heads/branch1 149s - adding reference refs/heads/branch2 149s - adding reference refs/heads/branch3 149s - adding reference refs/heads/branch4 149s - adding reference refs/heads/master 149s - $ cd .. 149s - 149s - $ git --git-dir=repo.git log --pretty=medium | sed s/\\.\\.\\.//g 149s - commit b32ff845df61df998206b630e4370a44f9b36845 149s - Merge: 9ac68f9 7e9cd9f e695849 149s - Author: test 149s - Date: Mon Jan 1 00:00:15 2007 +0000 149s - 149s - Merge branches 'branch3' and 'branch4' 149s - 149s - commit 9ac68f982ae7426d9597ff16c74afb4e6053c582 149s - Merge: d40f375 9497a4e e5023f9 149s - Author: test 149s - Date: Mon Jan 1 00:00:15 2007 +0000 149s - 149s - Merge branches 'branch1' and 'branch2' 149s - 149s - commit d40f375a81b7d033e92cbad89487115fe2dd472f 149s - Author: test 149s - Date: Mon Jan 1 00:00:15 2007 +0000 149s - 149s - add delta 149s - 149s - commit e695849087f6c320c1a447620492b29a82ca41b1 149s - Author: test 149s - Date: Mon Jan 1 00:00:14 2007 +0000 149s - 149s - add zeta 149s - 149s - commit 7e9cd9f90b6d2c60579375eb796ce706d2d8bbe6 149s - Author: test 149s - Date: Mon Jan 1 00:00:13 2007 +0000 149s - 149s - add epsilon 149s - 149s - commit e5023f9e5cb24fdcec7b6c127cec45d8888e35a9 149s - Author: test 149s - Date: Mon Jan 1 00:00:12 2007 +0000 149s - 149s - add gamma 149s - 149s - commit 9497a4ee62e16ee641860d7677cdb2589ea15554 149s - Author: test 149s - Date: Mon Jan 1 00:00:11 2007 +0000 149s - 149s - add beta 149s - 149s - commit 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 149s - Author: test 149s - Date: Mon Jan 1 00:00:10 2007 +0000 149s - 149s - add alpha 149s 149s ERROR: test-octopus.t output changed 153s ! 153s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-hook.t 153s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-hook.t.err 153s @@ -41,27 +41,89 @@ 153s | preoutgoing.url=$TESTTMP/repo.git 153s | gitexport.nodes=[b'cc0ffa47c67ebcb08dc50f69afaecb5d622cc777'] 153s | gitexport.git=True 153s - searching for changes 153s - | prechangegroup.source=push 153s - | prechangegroup.git=True 153s - | prechangegroup.url=$TESTTMP/repo.git 153s - | outgoing.source=push 153s - | outgoing.git=True 153s - | outgoing.url=$TESTTMP/repo.git 153s - | outgoing.node=cc0ffa47c67ebcb08dc50f69afaecb5d622cc777 153s - | outgoing.git_node=681fb452693218a33986174228560272a6fad87a 153s - adding objects 153s - remote: found 0 deltas to reuse 153s - added 1 commits with 1 trees and 1 blobs 153s - adding reference refs/heads/master 153s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 153s + ** which supports versions 6.9 of Mercurial. 153s + ** Please disable "hggit" and try your action again. 153s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 153s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 153s + ** Mercurial Distributed SCM (version 7.0.1) 153s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 153s + Traceback (most recent call last): 153s + File "/usr/bin/hg", line 51, in 153s + dispatch.run() 153s + ~~~~~~~~~~~~^^ 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 153s + status = dispatch(req) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 153s + status = _rundispatch(req) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 153s + ret = _runcatch(req) or 0 153s + ~~~~~~~~~^^^^^ 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 153s + return _callcatch(ui, _runcatchfunc) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 153s + return scmutil.callcatch(ui, func) 153s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 153s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 153s + return func() 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 153s + return _dispatch(req) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 153s + return runcommand( 153s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 153s + ) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 153s + ret = _runcommand(ui, options, cmd, d) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 153s + return cmdfunc() 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 153s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 153s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 153s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 153s + return func(*args, **kwargs) 153s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 153s + pushop = exchange.push( 153s + repo, 153s + ...<6 lines>... 153s + opargs=opargs, 153s + ) 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 153s + return f(*args, **kwargs) 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 153s + pushop.cgresult = repo.githandler.push( 153s + ~~~~~~~~~~~~~~~~~~~~^ 153s + remote.path, revs, bookmarks, force 153s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 153s + ) 153s + ^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 153s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 153s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 153s + all_exportable = self.export_commits() 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 153s + self.export_git_objects() 153s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 153s + packer.pack(synchronous=True) 153s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 153s + _process_batch(self.ui, self.object_store, todo) 153s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 153s + object_store._remove_loose_object(obj.id) 153s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 153s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 153s + [1] 153s 153s $ git clone -q ../repo.git ../gitrepo 153s + warning: You appear to have cloned an empty repository. 153s $ cd ../gitrepo 153s $ fn_commit git b 153s $ fn_commit git c 153s $ git push 153s To $TESTTMP/hgrepo/../repo.git 153s - 681fb45..1dab31e master -> master 153s + * [new branch] master -> master 153s $ cd ../hgrepo 153s 153s Hooks on pull? 153s @@ -71,27 +133,93 @@ 153s | gitimport.source=pull 153s | gitimport.git=True 153s | gitimport.names=[b'default'] 153s - | gitimport.refs={b'HEAD': b'1dab31e7bc9691ba42a2fe7b14680694770bc527', b'refs/heads/master': b'1dab31e7bc9691ba42a2fe7b14680694770bc527'} 153s + | gitimport.refs={b'HEAD': b'073d1514b9b792cb98ce11d76b6caa87c4887f5b', b'refs/heads/master': b'073d1514b9b792cb98ce11d76b6caa87c4887f5b'} 153s | gitimport.heads=None 153s importing 2 git commits 153s - : pretxncommit 153s - | incoming.git=True 153s - | incoming.source=pull 153s - | incoming.node=382ad5fa1d7727210384d40fa1539af52ca632c5 153s - | incoming.git_node=92150d1529ccaea34a6b36fe4144993193080499 153s - : pretxncommit 153s - | incoming.git=True 153s - | incoming.source=pull 153s - | incoming.node=892115eea5c32152e09ae4013c9a119d7b534049 153s - | incoming.git_node=1dab31e7bc9691ba42a2fe7b14680694770bc527 153s - updating bookmark master 153s - | changegroup.source=push 153s - | changegroup.git=True 153s - | changegroup.node=382ad5fa1d7727210384d40fa1539af52ca632c5 153s - | changegroup.node_last=892115eea5c32152e09ae4013c9a119d7b534049 153s - new changesets 382ad5fa1d77:892115eea5c3 (2 drafts) 153s - updating to active bookmark master 153s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 153s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 153s + ** which supports versions 6.9 of Mercurial. 153s + ** Please disable "hggit" and try your action again. 153s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 153s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 153s + ** Mercurial Distributed SCM (version 7.0.1) 153s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 153s + Traceback (most recent call last): 153s + File "/usr/bin/hg", line 51, in 153s + dispatch.run() 153s + ~~~~~~~~~~~~^^ 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 153s + status = dispatch(req) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 153s + status = _rundispatch(req) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 153s + ret = _runcatch(req) or 0 153s + ~~~~~~~~~^^^^^ 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 153s + return _callcatch(ui, _runcatchfunc) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 153s + return scmutil.callcatch(ui, func) 153s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 153s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 153s + return func() 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 153s + return _dispatch(req) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 153s + return runcommand( 153s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 153s + ) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 153s + ret = _runcommand(ui, options, cmd, d) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 153s + return cmdfunc() 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 153s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 153s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 153s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 153s + return func(*args, **kwargs) 153s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 153s + modheads = exchange.pull( 153s + ~~~~~~~~~~~~~^ 153s + repo, 153s + ^^^^^ 153s + ...<6 lines>... 153s + confirm=opts.get('confirm'), 153s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 153s + ).cgresult 153s + ^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 153s + return f(*args, **kwargs) 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 153s + pullop.cgresult = repo.githandler.fetch(remote, heads) 153s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 153s + imported = self.import_git_objects( 153s + b'pull', 153s + ...<2 lines>... 153s + heads=heads, 153s + ) 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 153s + self.import_git_commit( 153s + ~~~~~~~~~~~~~~~~~~~~~~^ 153s + command, 153s + ^^^^^^^^ 153s + self.git[commit.sha], 153s + ^^^^^^^^^^^^^^^^^^^^^ 153s + commit.phase, 153s + ^^^^^^^^^^^^^ 153s + ) 153s + ^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 153s + files, gitlinks, git_renames = self.get_files_changed( 153s + ~~~~~~~~~~~~~~~~~~~~~~^ 153s + commit, detect_renames 153s + ^^^^^^^^^^^^^^^^^^^^^^ 153s + ) 153s + ^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 153s + oldfile, oldmode, oldsha = change.old 153s + ^^^^^^^^^^^^^^^^^^^^^^^^ 153s + TypeError: cannot unpack non-iterable NoneType object 153s + [1] 153s 153s Hooks on push? 153s 153s @@ -102,16 +230,82 @@ 153s | preoutgoing.git=True 153s | preoutgoing.source=push 153s | preoutgoing.url=$TESTTMP/repo.git 153s - | gitexport.nodes=[b'cc6164a17449d58d7811ff3918f33f89c2c83fa5', b'46737f6a4c9d8307b681cbb2e9e2e5419cc87f82'] 153s + | gitexport.nodes=[b'eb13ee910fa61c332b2d3b5eca9f0c08e6c75893', b'450aa114da3b128c1174f32eccdd55539853d173'] 153s | gitexport.git=True 153s - searching for changes 153s - | prechangegroup.source=push 153s - | prechangegroup.git=True 153s - | prechangegroup.url=$TESTTMP/repo.git 153s - adding objects 153s - remote: found 0 deltas to reuse 153s - added 2 commits with 2 trees and 2 blobs 153s - updating reference refs/heads/master 153s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 153s + ** which supports versions 6.9 of Mercurial. 153s + ** Please disable "hggit" and try your action again. 153s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 153s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 153s + ** Mercurial Distributed SCM (version 7.0.1) 153s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 153s + Traceback (most recent call last): 153s + File "/usr/bin/hg", line 51, in 153s + dispatch.run() 153s + ~~~~~~~~~~~~^^ 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 153s + status = dispatch(req) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 153s + status = _rundispatch(req) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 153s + ret = _runcatch(req) or 0 153s + ~~~~~~~~~^^^^^ 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 153s + return _callcatch(ui, _runcatchfunc) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 153s + return scmutil.callcatch(ui, func) 153s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 153s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 153s + return func() 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 153s + return _dispatch(req) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 153s + return runcommand( 153s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 153s + ) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 153s + ret = _runcommand(ui, options, cmd, d) 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 153s + return cmdfunc() 153s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 153s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 153s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 153s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 153s + return func(*args, **kwargs) 153s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 153s + pushop = exchange.push( 153s + repo, 153s + ...<6 lines>... 153s + opargs=opargs, 153s + ) 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 153s + return f(*args, **kwargs) 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 153s + pushop.cgresult = repo.githandler.push( 153s + ~~~~~~~~~~~~~~~~~~~~^ 153s + remote.path, revs, bookmarks, force 153s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 153s + ) 153s + ^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 153s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 153s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 153s + all_exportable = self.export_commits() 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 153s + self.export_git_objects() 153s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 153s + packer.pack(synchronous=True) 153s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 153s + _process_batch(self.ui, self.object_store, todo) 153s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 153s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 153s + object_store._remove_loose_object(obj.id) 153s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 153s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 153s + [1] 153s 153s 153s And what does Mercurial do? 153s @@ -133,7 +327,7 @@ 153s adding changesets 153s adding manifests 153s adding file changes 153s - added 5 changesets with 5 changes to 5 files 153s + added 3 changesets with 3 changes to 3 files 153s 153s With more than one head: 153s 153s @@ -154,7 +348,7 @@ 153s adding changesets 153s adding manifests 153s adding file changes 153s - added 7 changesets with 7 changes to 7 files (+1 heads) 153s + added 5 changesets with 5 changes to 5 files (+1 heads) 153s 153s On pull: 153s 153s @@ -171,16 +365,16 @@ 153s adding manifests 153s adding file changes 153s added 1 changesets with 1 changes to 1 files (+1 heads) 153s - new changesets d4097d98a390 153s + new changesets 11a693974ec5 153s | changegroup.txnname=pull 153s file://$TESTTMP/hgrepo-copy 153s | changegroup.source=pull 153s | changegroup.url=file:$TESTTMP/hgrepo-copy 153s - | changegroup.node=d4097d98a3905be88e8a566039b1fdcca06e0d2e 153s - | changegroup.node_last=d4097d98a3905be88e8a566039b1fdcca06e0d2e 153s + | changegroup.node=11a693974ec530e32672629628dde90793335199 153s + | changegroup.node_last=11a693974ec530e32672629628dde90793335199 153s | incoming.txnname=pull 153s file://$TESTTMP/hgrepo-copy 153s | incoming.source=pull 153s | incoming.url=file:$TESTTMP/hgrepo-copy 153s - | incoming.node=d4097d98a3905be88e8a566039b1fdcca06e0d2e 153s + | incoming.node=11a693974ec530e32672629628dde90793335199 153s (run 'hg heads' to see heads) 153s 153s ERROR: test-hook.t output changed 159s ! 159s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-transactions.t 159s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-transactions.t.err 159s @@ -42,7 +42,104 @@ 159s 159s $ hg clone gitrepo hgrepo --config hggit.mapsavefrequency=10 --debug \ 159s > | grep -c saving 159s - 1 159s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 159s + ** which supports versions unknown of Mercurial. 159s + ** Please disable "breakage" and try your action again. 159s + ** If that fixes the bug please report it to the extension author. 159s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 159s + ** Mercurial Distributed SCM (version 7.0.1) 159s + ** Extensions loaded: breakage, hggit unknown (dulwich 0.24.10) 159s + Traceback (most recent call last): 159s + File "/usr/bin/hg", line 51, in 159s + dispatch.run() 159s + ~~~~~~~~~~~~^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 159s + status = dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 159s + status = _rundispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 159s + ret = _runcatch(req) or 0 159s + ~~~~~~~~~^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 159s + return _callcatch(ui, _runcatchfunc) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 159s + return scmutil.callcatch(ui, func) 159s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 159s + return func() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 159s + return _dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 159s + return runcommand( 159s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 159s + ) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 159s + ret = _runcommand(ui, options, cmd, d) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 159s + return cmdfunc() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 159s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 159s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 159s + return func(*args, **kwargs) 159s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 159s + r = hg.clone( 159s + ui, 159s + ...<11 lines>... 159s + depth=opts.get('depth') or None, 159s + ) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 159s + srcpeer, destpeer = orig(*args, **opts) 159s + ~~~~^^^^^^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 159s + exchange.pull( 159s + ~~~~~~~~~~~~~^ 159s + local, 159s + ^^^^^^ 159s + ...<5 lines>... 159s + depth=depth, 159s + ^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 159s + return f(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 159s + pullop.cgresult = repo.githandler.fetch(remote, heads) 159s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 159s + imported = self.import_git_objects( 159s + b'pull', 159s + ...<2 lines>... 159s + heads=heads, 159s + ) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 159s + self.import_git_commit( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + command, 159s + ^^^^^^^^ 159s + self.git[commit.sha], 159s + ^^^^^^^^^^^^^^^^^^^^^ 159s + commit.phase, 159s + ^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 159s + return func(*(args + a), **kw) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 159s + return orig(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 159s + files, gitlinks, git_renames = self.get_files_changed( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + commit, detect_renames 159s + ^^^^^^^^^^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 159s + oldfile, oldmode, oldsha = change.old 159s + ^^^^^^^^^^^^^^^^^^^^^^^^ 159s + TypeError: cannot unpack non-iterable NoneType object 159s + 0 159s + [1] 159s $ rm -rf hgrepo 159s 159s pull with mapsavefreq set 159s @@ -54,7 +151,95 @@ 159s > EOF 159s $ hg -R hgrepo --config hggit.mapsavefrequency=10 pull --debug \ 159s > | grep -c saving 159s - 10 159s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 159s + ** which supports versions unknown of Mercurial. 159s + ** Please disable "breakage" and try your action again. 159s + ** If that fixes the bug please report it to the extension author. 159s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 159s + ** Mercurial Distributed SCM (version 7.0.1) 159s + ** Extensions loaded: breakage, hggit unknown (dulwich 0.24.10) 159s + Traceback (most recent call last): 159s + File "/usr/bin/hg", line 51, in 159s + dispatch.run() 159s + ~~~~~~~~~~~~^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 159s + status = dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 159s + status = _rundispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 159s + ret = _runcatch(req) or 0 159s + ~~~~~~~~~^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 159s + return _callcatch(ui, _runcatchfunc) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 159s + return scmutil.callcatch(ui, func) 159s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 159s + return func() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 159s + return _dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 159s + return runcommand( 159s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 159s + ) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 159s + ret = _runcommand(ui, options, cmd, d) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 159s + return cmdfunc() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 159s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 159s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 159s + return func(*args, **kwargs) 159s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 159s + modheads = exchange.pull( 159s + ~~~~~~~~~~~~~^ 159s + repo, 159s + ^^^^^ 159s + ...<6 lines>... 159s + confirm=opts.get('confirm'), 159s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 159s + ).cgresult 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 159s + return f(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 159s + pullop.cgresult = repo.githandler.fetch(remote, heads) 159s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 159s + imported = self.import_git_objects( 159s + b'pull', 159s + ...<2 lines>... 159s + heads=heads, 159s + ) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 159s + self.import_git_commit( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + command, 159s + ^^^^^^^^ 159s + self.git[commit.sha], 159s + ^^^^^^^^^^^^^^^^^^^^^ 159s + commit.phase, 159s + ^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 159s + return func(*(args + a), **kw) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 159s + return orig(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 159s + files, gitlinks, git_renames = self.get_files_changed( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + commit, detect_renames 159s + ^^^^^^^^^^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 159s + oldfile, oldmode, oldsha = change.old 159s + ^^^^^^^^^^^^^^^^^^^^^^^^ 159s + TypeError: cannot unpack non-iterable NoneType object 159s + 0 159s + [1] 159s $ rm -rf hgrepo 159s 159s The user experience 159s @@ -77,16 +262,100 @@ 159s $ hg --config hggit.mapsavefrequency=25 pull 159s pulling from $TESTTMP/gitrepo 159s importing 100 git commits 159s - new changesets 1c8407413fa3:abc468b9e51b (25 drafts) 159s - new changesets 217c308baf47:d5d14eeedd08 (25 drafts) 159s - new changesets d9807ef6abcb:4678067bd500 (25 drafts) 159s - adding bookmark master 159s - new changesets c31a154888bb:eda59117ba04 (25 drafts) 159s - (run 'hg update' to get a working copy) 159s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 159s + ** which supports versions unknown of Mercurial. 159s + ** Please disable "breakage" and try your action again. 159s + ** If that fixes the bug please report it to the extension author. 159s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 159s + ** Mercurial Distributed SCM (version 7.0.1) 159s + ** Extensions loaded: breakage, hggit unknown (dulwich 0.24.10) 159s + Traceback (most recent call last): 159s + File "/usr/bin/hg", line 51, in 159s + dispatch.run() 159s + ~~~~~~~~~~~~^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 159s + status = dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 159s + status = _rundispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 159s + ret = _runcatch(req) or 0 159s + ~~~~~~~~~^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 159s + return _callcatch(ui, _runcatchfunc) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 159s + return scmutil.callcatch(ui, func) 159s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 159s + return func() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 159s + return _dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 159s + return runcommand( 159s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 159s + ) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 159s + ret = _runcommand(ui, options, cmd, d) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 159s + return cmdfunc() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 159s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 159s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 159s + return func(*args, **kwargs) 159s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 159s + modheads = exchange.pull( 159s + ~~~~~~~~~~~~~^ 159s + repo, 159s + ^^^^^ 159s + ...<6 lines>... 159s + confirm=opts.get('confirm'), 159s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 159s + ).cgresult 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 159s + return f(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 159s + pullop.cgresult = repo.githandler.fetch(remote, heads) 159s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 159s + imported = self.import_git_objects( 159s + b'pull', 159s + ...<2 lines>... 159s + heads=heads, 159s + ) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 159s + self.import_git_commit( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + command, 159s + ^^^^^^^^ 159s + self.git[commit.sha], 159s + ^^^^^^^^^^^^^^^^^^^^^ 159s + commit.phase, 159s + ^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 159s + return func(*(args + a), **kw) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 159s + return orig(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 159s + files, gitlinks, git_renames = self.get_files_changed( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + commit, detect_renames 159s + ^^^^^^^^^^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 159s + oldfile, oldmode, oldsha = change.old 159s + ^^^^^^^^^^^^^^^^^^^^^^^^ 159s + TypeError: cannot unpack non-iterable NoneType object 159s + [1] 159s 159s Reset the repository 159s 159s $ hg debugstrip --no-backup 'all()' 159s + abort: empty revision set 159s + [255] 159s $ hg debug-remove-hggit-state 159s clearing out the git cache data 159s 159s @@ -96,16 +365,100 @@ 159s $ hg --config hggit.mapsavefrequency=25 --config hggit.usephases=yes pull 159s pulling from $TESTTMP/gitrepo 159s importing 100 git commits 159s - new changesets 1c8407413fa3:abc468b9e51b 159s - new changesets 217c308baf47:d5d14eeedd08 159s - new changesets d9807ef6abcb:4678067bd500 159s - updating bookmark master 159s - new changesets c31a154888bb:eda59117ba04 159s - (run 'hg update' to get a working copy) 159s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 159s + ** which supports versions unknown of Mercurial. 159s + ** Please disable "breakage" and try your action again. 159s + ** If that fixes the bug please report it to the extension author. 159s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 159s + ** Mercurial Distributed SCM (version 7.0.1) 159s + ** Extensions loaded: breakage, hggit unknown (dulwich 0.24.10) 159s + Traceback (most recent call last): 159s + File "/usr/bin/hg", line 51, in 159s + dispatch.run() 159s + ~~~~~~~~~~~~^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 159s + status = dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 159s + status = _rundispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 159s + ret = _runcatch(req) or 0 159s + ~~~~~~~~~^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 159s + return _callcatch(ui, _runcatchfunc) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 159s + return scmutil.callcatch(ui, func) 159s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 159s + return func() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 159s + return _dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 159s + return runcommand( 159s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 159s + ) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 159s + ret = _runcommand(ui, options, cmd, d) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 159s + return cmdfunc() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 159s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 159s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 159s + return func(*args, **kwargs) 159s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 159s + modheads = exchange.pull( 159s + ~~~~~~~~~~~~~^ 159s + repo, 159s + ^^^^^ 159s + ...<6 lines>... 159s + confirm=opts.get('confirm'), 159s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 159s + ).cgresult 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 159s + return f(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 159s + pullop.cgresult = repo.githandler.fetch(remote, heads) 159s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 159s + imported = self.import_git_objects( 159s + b'pull', 159s + ...<2 lines>... 159s + heads=heads, 159s + ) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 159s + self.import_git_commit( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + command, 159s + ^^^^^^^^ 159s + self.git[commit.sha], 159s + ^^^^^^^^^^^^^^^^^^^^^ 159s + commit.phase, 159s + ^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 159s + return func(*(args + a), **kw) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 159s + return orig(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 159s + files, gitlinks, git_renames = self.get_files_changed( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + commit, detect_renames 159s + ^^^^^^^^^^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 159s + oldfile, oldmode, oldsha = change.old 159s + ^^^^^^^^^^^^^^^^^^^^^^^^ 159s + TypeError: cannot unpack non-iterable NoneType object 159s + [1] 159s 159s Reset the repository 159s 159s $ hg debugstrip --no-backup 'all()' 159s + abort: empty revision set 159s + [255] 159s $ hg debug-remove-hggit-state 159s clearing out the git cache data 159s 159s @@ -123,10 +476,94 @@ 159s $ ABORT_AFTER=99 hg pull 159s pulling from $TESTTMP/gitrepo 159s importing 100 git commits 159s - transaction abort! 159s - rollback completed 159s - abort: aborted after 99 commits! 159s - [255] 159s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 159s + ** which supports versions unknown of Mercurial. 159s + ** Please disable "breakage" and try your action again. 159s + ** If that fixes the bug please report it to the extension author. 159s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 159s + ** Mercurial Distributed SCM (version 7.0.1) 159s + ** Extensions loaded: breakage, hggit unknown (dulwich 0.24.10) 159s + Traceback (most recent call last): 159s + File "/usr/bin/hg", line 51, in 159s + dispatch.run() 159s + ~~~~~~~~~~~~^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 159s + status = dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 159s + status = _rundispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 159s + ret = _runcatch(req) or 0 159s + ~~~~~~~~~^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 159s + return _callcatch(ui, _runcatchfunc) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 159s + return scmutil.callcatch(ui, func) 159s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 159s + return func() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 159s + return _dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 159s + return runcommand( 159s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 159s + ) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 159s + ret = _runcommand(ui, options, cmd, d) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 159s + return cmdfunc() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 159s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 159s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 159s + return func(*args, **kwargs) 159s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 159s + modheads = exchange.pull( 159s + ~~~~~~~~~~~~~^ 159s + repo, 159s + ^^^^^ 159s + ...<6 lines>... 159s + confirm=opts.get('confirm'), 159s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 159s + ).cgresult 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 159s + return f(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 159s + pullop.cgresult = repo.githandler.fetch(remote, heads) 159s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 159s + imported = self.import_git_objects( 159s + b'pull', 159s + ...<2 lines>... 159s + heads=heads, 159s + ) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 159s + self.import_git_commit( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + command, 159s + ^^^^^^^^ 159s + self.git[commit.sha], 159s + ^^^^^^^^^^^^^^^^^^^^^ 159s + commit.phase, 159s + ^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 159s + return func(*(args + a), **kw) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 159s + return orig(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 159s + files, gitlinks, git_renames = self.get_files_changed( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + commit, detect_renames 159s + ^^^^^^^^^^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 159s + oldfile, oldmode, oldsha = change.old 159s + ^^^^^^^^^^^^^^^^^^^^^^^^ 159s + TypeError: cannot unpack non-iterable NoneType object 159s + [1] 159s $ hg log -l 10 -T '{rev} {gitnode}\n' 159s 159s Test the user exiting in the first transaction: 159s @@ -134,10 +571,94 @@ 159s $ EXIT_AFTER=5 hg --config hggit.mapsavefrequency=10 pull 159s pulling from $TESTTMP/gitrepo 159s importing 100 git commits 159s - transaction abort! 159s - rollback completed 159s - interrupted! 159s - [255] 159s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 159s + ** which supports versions unknown of Mercurial. 159s + ** Please disable "breakage" and try your action again. 159s + ** If that fixes the bug please report it to the extension author. 159s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 159s + ** Mercurial Distributed SCM (version 7.0.1) 159s + ** Extensions loaded: breakage, hggit unknown (dulwich 0.24.10) 159s + Traceback (most recent call last): 159s + File "/usr/bin/hg", line 51, in 159s + dispatch.run() 159s + ~~~~~~~~~~~~^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 159s + status = dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 159s + status = _rundispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 159s + ret = _runcatch(req) or 0 159s + ~~~~~~~~~^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 159s + return _callcatch(ui, _runcatchfunc) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 159s + return scmutil.callcatch(ui, func) 159s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 159s + return func() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 159s + return _dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 159s + return runcommand( 159s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 159s + ) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 159s + ret = _runcommand(ui, options, cmd, d) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 159s + return cmdfunc() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 159s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 159s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 159s + return func(*args, **kwargs) 159s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 159s + modheads = exchange.pull( 159s + ~~~~~~~~~~~~~^ 159s + repo, 159s + ^^^^^ 159s + ...<6 lines>... 159s + confirm=opts.get('confirm'), 159s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 159s + ).cgresult 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 159s + return f(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 159s + pullop.cgresult = repo.githandler.fetch(remote, heads) 159s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 159s + imported = self.import_git_objects( 159s + b'pull', 159s + ...<2 lines>... 159s + heads=heads, 159s + ) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 159s + self.import_git_commit( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + command, 159s + ^^^^^^^^ 159s + self.git[commit.sha], 159s + ^^^^^^^^^^^^^^^^^^^^^ 159s + commit.phase, 159s + ^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 159s + return func(*(args + a), **kw) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 159s + return orig(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 159s + files, gitlinks, git_renames = self.get_files_changed( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + commit, detect_renames 159s + ^^^^^^^^^^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 159s + oldfile, oldmode, oldsha = change.old 159s + ^^^^^^^^^^^^^^^^^^^^^^^^ 159s + TypeError: cannot unpack non-iterable NoneType object 159s + [1] 159s $ hg log -l 10 -T '{rev} {gitnode}\n' 159s 159s Check that we have no state, but clear it just in case 159s @@ -153,22 +674,95 @@ 159s $ EXIT_AFTER=15 hg --config hggit.mapsavefrequency=10 pull 159s pulling from $TESTTMP/gitrepo 159s importing 100 git commits 159s - new changesets 1c8407413fa3:7c8c534a5fbe (10 drafts) 159s - transaction abort! 159s - rollback completed 159s - interrupted! 159s - [255] 159s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 159s + ** which supports versions unknown of Mercurial. 159s + ** Please disable "breakage" and try your action again. 159s + ** If that fixes the bug please report it to the extension author. 159s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 159s + ** Mercurial Distributed SCM (version 7.0.1) 159s + ** Extensions loaded: breakage, hggit unknown (dulwich 0.24.10) 159s + Traceback (most recent call last): 159s + File "/usr/bin/hg", line 51, in 159s + dispatch.run() 159s + ~~~~~~~~~~~~^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 159s + status = dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 159s + status = _rundispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 159s + ret = _runcatch(req) or 0 159s + ~~~~~~~~~^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 159s + return _callcatch(ui, _runcatchfunc) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 159s + return scmutil.callcatch(ui, func) 159s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 159s + return func() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 159s + return _dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 159s + return runcommand( 159s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 159s + ) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 159s + ret = _runcommand(ui, options, cmd, d) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 159s + return cmdfunc() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 159s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 159s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 159s + return func(*args, **kwargs) 159s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 159s + modheads = exchange.pull( 159s + ~~~~~~~~~~~~~^ 159s + repo, 159s + ^^^^^ 159s + ...<6 lines>... 159s + confirm=opts.get('confirm'), 159s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 159s + ).cgresult 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 159s + return f(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 159s + pullop.cgresult = repo.githandler.fetch(remote, heads) 159s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 159s + imported = self.import_git_objects( 159s + b'pull', 159s + ...<2 lines>... 159s + heads=heads, 159s + ) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 159s + self.import_git_commit( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + command, 159s + ^^^^^^^^ 159s + self.git[commit.sha], 159s + ^^^^^^^^^^^^^^^^^^^^^ 159s + commit.phase, 159s + ^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 159s + return func(*(args + a), **kw) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 159s + return orig(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 159s + files, gitlinks, git_renames = self.get_files_changed( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + commit, detect_renames 159s + ^^^^^^^^^^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 159s + oldfile, oldmode, oldsha = change.old 159s + ^^^^^^^^^^^^^^^^^^^^^^^^ 159s + TypeError: cannot unpack non-iterable NoneType object 159s + [1] 159s $ hg log -l 10 -T '{rev} {gitnode}\n' 159s - 9 7cbb16ec981b308e1e2b181f8e1f22c8f409f44e 159s - 8 42da70ed92bbecf9f348ba59c93646be723d0bf2 159s - 7 17e841146e5744b81af9959634d82c20a5d7df52 159s - 6 c31065bf97bf014815e37cdfbdef2c32c687f314 159s - 5 fcf21b8e0520ec1cced1d7593d13f9ee54721269 159s - 4 46acd02d0352e4b92bd6a099bb0490305d847a18 159s - 3 61eeda444b37b8aa3892d5f04c66c5441d21dd66 159s - 2 e55db11bb0472791c7af3fc636772174cdea4a36 159s - 1 17a2672b3c24c02d568f99d8d55ccae2bf362d5c 159s - 0 4e195b4c6e77604b70a8ad3b01306adbb9b1c7e7 159s $ cd .. 159s $ rm -rf hgrepo 159s 159s @@ -184,10 +778,103 @@ 159s > --cwd hgrepo \ 159s > clone -U $TESTTMP/gitrepo . 159s importing 100 git commits 159s - transaction abort! 159s - rollback completed 159s - interrupted! 159s - [255] 159s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 159s + ** which supports versions unknown of Mercurial. 159s + ** Please disable "breakage" and try your action again. 159s + ** If that fixes the bug please report it to the extension author. 159s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 159s + ** Mercurial Distributed SCM (version 7.0.1) 159s + ** Extensions loaded: breakage, hggit unknown (dulwich 0.24.10) 159s + Traceback (most recent call last): 159s + File "/usr/bin/hg", line 51, in 159s + dispatch.run() 159s + ~~~~~~~~~~~~^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 159s + status = dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 159s + status = _rundispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 159s + ret = _runcatch(req) or 0 159s + ~~~~~~~~~^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 159s + return _callcatch(ui, _runcatchfunc) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 159s + return scmutil.callcatch(ui, func) 159s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 159s + return func() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 159s + return _dispatch(req) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 159s + return runcommand( 159s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 159s + ) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 159s + ret = _runcommand(ui, options, cmd, d) 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 159s + return cmdfunc() 159s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 159s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 159s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 159s + return func(*args, **kwargs) 159s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 159s + r = hg.clone( 159s + ui, 159s + ...<11 lines>... 159s + depth=opts.get('depth') or None, 159s + ) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 159s + srcpeer, destpeer = orig(*args, **opts) 159s + ~~~~^^^^^^^^^^^^^^^ 159s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 159s + exchange.pull( 159s + ~~~~~~~~~~~~~^ 159s + local, 159s + ^^^^^^ 159s + ...<5 lines>... 159s + depth=depth, 159s + ^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 159s + return f(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 159s + pullop.cgresult = repo.githandler.fetch(remote, heads) 159s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 159s + imported = self.import_git_objects( 159s + b'pull', 159s + ...<2 lines>... 159s + heads=heads, 159s + ) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 159s + self.import_git_commit( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + command, 159s + ^^^^^^^^ 159s + self.git[commit.sha], 159s + ^^^^^^^^^^^^^^^^^^^^^ 159s + commit.phase, 159s + ^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 159s + return func(*(args + a), **kw) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 159s + return orig(*args, **kwargs) 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 159s + files, gitlinks, git_renames = self.get_files_changed( 159s + ~~~~~~~~~~~~~~~~~~~~~~^ 159s + commit, detect_renames 159s + ^^^^^^^^^^^^^^^^^^^^^^ 159s + ) 159s + ^ 159s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 159s + oldfile, oldmode, oldsha = change.old 159s + ^^^^^^^^^^^^^^^^^^^^^^^^ 159s + TypeError: cannot unpack non-iterable NoneType object 159s + [1] 159s the leftover below appeared in Mercurial 5.9+; it is unintentional 159s $ ls -A hgrepo 159s .git 159s 159s ERROR: test-transactions.t output changed 160s ! 160s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-outgoing.t 160s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-outgoing.t.err 160s @@ -15,165 +15,100 @@ 160s $ cd .. 160s $ hg clone gitrepo hgrepo 160s importing 1 git commits 160s - new changesets ff7a2f2d8d70 (1 drafts) 160s - updating to bookmark master 160s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 160s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 160s + ** which supports versions 6.9 of Mercurial. 160s + ** Please disable "hggit" and try your action again. 160s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 160s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 160s + ** Mercurial Distributed SCM (version 7.0.1) 160s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 160s + Traceback (most recent call last): 160s + File "/usr/bin/hg", line 51, in 160s + dispatch.run() 160s + ~~~~~~~~~~~~^^ 160s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 160s + status = dispatch(req) 160s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 160s + status = _rundispatch(req) 160s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 160s + ret = _runcatch(req) or 0 160s + ~~~~~~~~~^^^^^ 160s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 160s + return _callcatch(ui, _runcatchfunc) 160s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 160s + return scmutil.callcatch(ui, func) 160s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 160s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 160s + return func() 160s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 160s + return _dispatch(req) 160s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 160s + return runcommand( 160s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 160s + ) 160s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 160s + ret = _runcommand(ui, options, cmd, d) 160s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 160s + return cmdfunc() 160s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 160s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 160s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 160s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 160s + return func(*args, **kwargs) 160s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 160s + r = hg.clone( 160s + ui, 160s + ...<11 lines>... 160s + depth=opts.get('depth') or None, 160s + ) 160s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 160s + srcpeer, destpeer = orig(*args, **opts) 160s + ~~~~^^^^^^^^^^^^^^^ 160s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 160s + exchange.pull( 160s + ~~~~~~~~~~~~~^ 160s + local, 160s + ^^^^^^ 160s + ...<5 lines>... 160s + depth=depth, 160s + ^^^^^^^^^^^^ 160s + ) 160s + ^ 160s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 160s + return f(*args, **kwargs) 160s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 160s + pullop.cgresult = repo.githandler.fetch(remote, heads) 160s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 160s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 160s + imported = self.import_git_objects( 160s + b'pull', 160s + ...<2 lines>... 160s + heads=heads, 160s + ) 160s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 160s + self.import_git_commit( 160s + ~~~~~~~~~~~~~~~~~~~~~~^ 160s + command, 160s + ^^^^^^^^ 160s + self.git[commit.sha], 160s + ^^^^^^^^^^^^^^^^^^^^^ 160s + commit.phase, 160s + ^^^^^^^^^^^^^ 160s + ) 160s + ^ 160s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 160s + files, gitlinks, git_renames = self.get_files_changed( 160s + ~~~~~~~~~~~~~~~~~~~~~~^ 160s + commit, detect_renames 160s + ^^^^^^^^^^^^^^^^^^^^^^ 160s + ) 160s + ^ 160s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 160s + oldfile, oldmode, oldsha = change.old 160s + ^^^^^^^^^^^^^^^^^^^^^^^^ 160s + TypeError: cannot unpack non-iterable NoneType object 160s + [1] 160s 160s $ cd hgrepo 160s + $TESTTMP.sh: 22: cd: can't cd to hgrepo 160s $ hg book 160s - alpha 0:ff7a2f2d8d70 160s - * master 0:ff7a2f2d8d70 160s - $ hg update -q master 160s - $ echo beta > beta 160s - $ hg add beta 160s - $ fn_hg_commit -m 'add beta' 160s - 160s - 160s - $ echo gamma > gamma 160s - $ hg add gamma 160s - $ fn_hg_commit -m 'add gamma' 160s - 160s - $ hg book -r 1 beta 160s - 160s - $ hg outgoing | grep -v 'searching for changes' 160s - comparing with $TESTTMP/gitrepo 160s - changeset: 1:47580592d3d6 160s - bookmark: beta 160s - user: test 160s - date: Mon Jan 01 00:00:11 2007 +0000 160s - summary: add beta 160s - 160s - changeset: 2:953796e1cfd8 160s - bookmark: master 160s - tag: tip 160s - user: test 160s - date: Mon Jan 01 00:00:12 2007 +0000 160s - summary: add gamma 160s - 160s - $ hg outgoing -r beta 160s - comparing with $TESTTMP/gitrepo 160s - searching for changes 160s - changeset: 1:47580592d3d6 160s - bookmark: beta 160s - user: test 160s - date: Mon Jan 01 00:00:11 2007 +0000 160s - summary: add beta 160s - 160s - $ hg outgoing -r master 160s - comparing with $TESTTMP/gitrepo 160s - searching for changes 160s - changeset: 1:47580592d3d6 160s - bookmark: beta 160s - user: test 160s - date: Mon Jan 01 00:00:11 2007 +0000 160s - summary: add beta 160s - 160s - changeset: 2:953796e1cfd8 160s - bookmark: master 160s - tag: tip 160s - user: test 160s - date: Mon Jan 01 00:00:12 2007 +0000 160s - summary: add gamma 160s - 160s - 160s - $ cd .. 160s - 160s -some more work on master from git 160s - $ cd gitrepo 160s - 160s -Check state of refs after outgoing 160s - $ git show-ref 160s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 refs/heads/alpha 160s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 refs/heads/master 160s - 160s - $ git checkout master 2>&1 | sed s/\'/\"/g 160s - Already on "master" 160s - $ echo delta > delta 160s - $ git add delta 160s - $ fn_git_commit -m "add delta" 160s - 160s - $ cd .. 160s - 160s - $ cd hgrepo 160s -this will fail # maybe we should try to make it work 160s - $ hg outgoing 160s - comparing with $TESTTMP/gitrepo 160s - abort: branch 'refs/heads/master' changed on the server, please pull and merge before pushing 160s - [255] 160s -let's pull and try again 160s - $ hg pull 160s - pulling from */gitrepo (glob) 160s - importing 1 git commits 160s - not updating diverged bookmark master 160s - new changesets 25eed24f5e8f (1 drafts) 160s - (run 'hg heads' to see heads, 'hg merge' to merge) 160s - $ hg log --graph 160s - o changeset: 3:25eed24f5e8f 160s - | tag: default/master 160s - | tag: tip 160s - | parent: 0:ff7a2f2d8d70 160s - | user: test 160s - | date: Mon Jan 01 00:00:13 2007 +0000 160s - | summary: add delta 160s - | 160s - | @ changeset: 2:953796e1cfd8 160s - | | bookmark: master 160s - | | user: test 160s - | | date: Mon Jan 01 00:00:12 2007 +0000 160s - | | summary: add gamma 160s - | | 160s - | o changeset: 1:47580592d3d6 160s - |/ bookmark: beta 160s - | user: test 160s - | date: Mon Jan 01 00:00:11 2007 +0000 160s - | summary: add beta 160s - | 160s - o changeset: 0:ff7a2f2d8d70 160s - bookmark: alpha 160s - tag: default/alpha 160s - user: test 160s - date: Mon Jan 01 00:00:10 2007 +0000 160s - summary: add alpha 160s - 160s - $ hg outgoing 160s - comparing with $TESTTMP/gitrepo 160s - searching for changes 160s - changeset: 1:47580592d3d6 160s - bookmark: beta 160s - user: test 160s - date: Mon Jan 01 00:00:11 2007 +0000 160s - summary: add beta 160s - 160s - changeset: 2:953796e1cfd8 160s - bookmark: master 160s - user: test 160s - date: Mon Jan 01 00:00:12 2007 +0000 160s - summary: add gamma 160s - 160s - $ hg outgoing -r beta 160s - comparing with $TESTTMP/gitrepo 160s - searching for changes 160s - changeset: 1:47580592d3d6 160s - bookmark: beta 160s - user: test 160s - date: Mon Jan 01 00:00:11 2007 +0000 160s - summary: add beta 160s - 160s - $ hg outgoing -r master 160s - comparing with $TESTTMP/gitrepo 160s - searching for changes 160s - changeset: 1:47580592d3d6 160s - bookmark: beta 160s - user: test 160s - date: Mon Jan 01 00:00:11 2007 +0000 160s - summary: add beta 160s - 160s - changeset: 2:953796e1cfd8 160s - bookmark: master 160s - user: test 160s - date: Mon Jan 01 00:00:12 2007 +0000 160s - summary: add gamma 160s - 160s - 160s - 160s - $ cd .. 160s 160s ERROR: test-outgoing.t output changed 163s ! 163s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-gc.t 163s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-gc.t.err 163s @@ -26,187 +26,99 @@ 163s $ cd .. 163s $ hg clone -U gitrepo hgrepo 163s importing 100 git commits 163s - new changesets 1c8407413fa3:eda59117ba04 (100 drafts) 163s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 163s + ** which supports versions 6.9 of Mercurial. 163s + ** Please disable "hggit" and try your action again. 163s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 163s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 163s + ** Mercurial Distributed SCM (version 7.0.1) 163s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 163s + Traceback (most recent call last): 163s + File "/usr/bin/hg", line 51, in 163s + dispatch.run() 163s + ~~~~~~~~~~~~^^ 163s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 163s + status = dispatch(req) 163s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 163s + status = _rundispatch(req) 163s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 163s + ret = _runcatch(req) or 0 163s + ~~~~~~~~~^^^^^ 163s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 163s + return _callcatch(ui, _runcatchfunc) 163s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 163s + return scmutil.callcatch(ui, func) 163s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 163s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 163s + return func() 163s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 163s + return _dispatch(req) 163s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 163s + return runcommand( 163s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 163s + ) 163s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 163s + ret = _runcommand(ui, options, cmd, d) 163s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 163s + return cmdfunc() 163s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 163s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 163s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 163s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 163s + return func(*args, **kwargs) 163s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 163s + r = hg.clone( 163s + ui, 163s + ...<11 lines>... 163s + depth=opts.get('depth') or None, 163s + ) 163s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 163s + srcpeer, destpeer = orig(*args, **opts) 163s + ~~~~^^^^^^^^^^^^^^^ 163s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 163s + exchange.pull( 163s + ~~~~~~~~~~~~~^ 163s + local, 163s + ^^^^^^ 163s + ...<5 lines>... 163s + depth=depth, 163s + ^^^^^^^^^^^^ 163s + ) 163s + ^ 163s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 163s + return f(*args, **kwargs) 163s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 163s + pullop.cgresult = repo.githandler.fetch(remote, heads) 163s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 163s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 163s + imported = self.import_git_objects( 163s + b'pull', 163s + ...<2 lines>... 163s + heads=heads, 163s + ) 163s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 163s + self.import_git_commit( 163s + ~~~~~~~~~~~~~~~~~~~~~~^ 163s + command, 163s + ^^^^^^^^ 163s + self.git[commit.sha], 163s + ^^^^^^^^^^^^^^^^^^^^^ 163s + commit.phase, 163s + ^^^^^^^^^^^^^ 163s + ) 163s + ^ 163s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 163s + files, gitlinks, git_renames = self.get_files_changed( 163s + ~~~~~~~~~~~~~~~~~~~~~~^ 163s + commit, detect_renames 163s + ^^^^^^^^^^^^^^^^^^^^^^ 163s + ) 163s + ^ 163s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 163s + oldfile, oldmode, oldsha = change.old 163s + ^^^^^^^^^^^^^^^^^^^^^^^^ 163s + TypeError: cannot unpack non-iterable NoneType object 163s + [1] 163s $ cd hgrepo 163s + $TESTTMP.sh: 24: cd: can't cd to hgrepo 163s $ hg debug-remove-hggit-state 163s - clearing out the git cache data 163s - 163s ------------ 163s - 163s -Test garbage collection of loose objects into packs. We first test 163s -this with two threads, which is closest to the expected usage 163s -scenario, as almost all computers have at least two cores these days. 163s -The main downside is that this makes the output order unreliable, so 163s -we just sort it. 163s - 163s - $ hg gexport --config hggit.mapsavefrequency=33 --config hggit.threads=2 --debug | grep pack | sort 163s - packed 3 loose objects! 163s - packed 75 loose objects! 163s - packed 78 loose objects! 163s - packed 86 loose objects! 163s - packing 3 loose objects... 163s - packing 75 loose objects... 163s - packing 78 loose objects... 163s - packing 86 loose objects... 163s - $ hg debug-remove-hggit-state 163s - clearing out the git cache data 163s - 163s -Test the actual order of operations -- this uses a single thread, 163s -which means that the packing happens synchronously in the main thread, 163s -giving us a reliable output order. 163s - 163s -In addition, the transaction size is set up such that we happen to do 163s -nothing in the final, synchronous packing that happens on every pull. 163s -Lots of other tests have a map save frequency higher than the total 163s -amount of commits pulled, but let's just trigger that other odd 163s -occurence here. 163s - 163s - $ hg gexport --debug \ 163s - > --config hggit.mapsavefrequency=10 --config hggit.threads=1 | \ 163s - > sed 's/^converting revision.*/./' 163s - finding unexported changesets 163s - exporting 100 changesets 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 163s - packing 30 loose objects... 163s - packed 30 loose objects! 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 163s - packing 25 loose objects... 163s - packed 25 loose objects! 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 163s - packing 25 loose objects... 163s - packed 25 loose objects! 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 163s - packing 24 loose objects... 163s - packed 24 loose objects! 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 163s - packing 24 loose objects... 163s - packed 24 loose objects! 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 163s - packing 24 loose objects... 163s - packed 24 loose objects! 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 163s - packing 24 loose objects... 163s - packed 24 loose objects! 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 163s - packing 23 loose objects... 163s - packed 23 loose objects! 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 163s - packing 22 loose objects... 163s - packed 22 loose objects! 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - . 163s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 163s - packing 21 loose objects... 163s - packed 21 loose objects! 163s - packing 0 loose objects... 163s - packed 0 loose objects! 163s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 163s - $ find .hg/git/objects -type f | grep -Fv .idx | sort 163s - .hg/git/objects/pack/pack-33903607b479000b976a29a349fe0f4dffb0aaac.pack 163s - .hg/git/objects/pack/pack-40d9440e392d9eab62fa38a2ed66cc763d77aca3.pack 163s - .hg/git/objects/pack/pack-4ab2dac268f94e407788d52d6ba087b626c41651.pack 163s - .hg/git/objects/pack/pack-543e3b37bd36218a4dc6611a96d7c218afb78429.pack 163s - .hg/git/objects/pack/pack-5fc80292253ee10d1b86b5c4d9c51b29d2b4ba47.pack 163s - .hg/git/objects/pack/pack-9c636f5f16302fc5fadf0cc4ed42aeb67fc51f6a.pack 163s - .hg/git/objects/pack/pack-ae74b1f0197dfb45cfb13889453860a40103969a.pack 163s - .hg/git/objects/pack/pack-b432e2f477cb765fc0aeaa850d56e04b10392e6c.pack 163s - .hg/git/objects/pack/pack-cf7023660ce10ede2896d1be117f6ba93a261ff9.pack 163s - .hg/git/objects/pack/pack-e601b2af6a91a9cf6817d71f4eb660d2218d4094.pack 163s 163s ERROR: test-gc.t output changed 165s ! 165s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-phases-public.t 165s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-phases-public.t#publish-defaults.err 165s @@ -25,148 +25,100 @@ 165s cloning with hggit.usephases publishes cloned HEAD 165s $ hg --config hggit.usephases=True clone -U gitrepo hgrepo 165s importing 1 git commits 165s - new changesets ff7a2f2d8d70 165s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 165s + ** which supports versions 6.9 of Mercurial. 165s + ** Please disable "hggit" and try your action again. 165s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 165s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 165s + ** Mercurial Distributed SCM (version 7.0.1) 165s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 165s + Traceback (most recent call last): 165s + File "/usr/bin/hg", line 51, in 165s + dispatch.run() 165s + ~~~~~~~~~~~~^^ 165s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 165s + status = dispatch(req) 165s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 165s + status = _rundispatch(req) 165s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 165s + ret = _runcatch(req) or 0 165s + ~~~~~~~~~^^^^^ 165s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 165s + return _callcatch(ui, _runcatchfunc) 165s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 165s + return scmutil.callcatch(ui, func) 165s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 165s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 165s + return func() 165s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 165s + return _dispatch(req) 165s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 165s + return runcommand( 165s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 165s + ) 165s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 165s + ret = _runcommand(ui, options, cmd, d) 165s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 165s + return cmdfunc() 165s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 165s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 165s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 165s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 165s + return func(*args, **kwargs) 165s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 165s + r = hg.clone( 165s + ui, 165s + ...<11 lines>... 165s + depth=opts.get('depth') or None, 165s + ) 165s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 165s + srcpeer, destpeer = orig(*args, **opts) 165s + ~~~~^^^^^^^^^^^^^^^ 165s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 165s + exchange.pull( 165s + ~~~~~~~~~~~~~^ 165s + local, 165s + ^^^^^^ 165s + ...<5 lines>... 165s + depth=depth, 165s + ^^^^^^^^^^^^ 165s + ) 165s + ^ 165s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 165s + return f(*args, **kwargs) 165s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 165s + pullop.cgresult = repo.githandler.fetch(remote, heads) 165s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 165s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 165s + imported = self.import_git_objects( 165s + b'pull', 165s + ...<2 lines>... 165s + heads=heads, 165s + ) 165s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 165s + self.import_git_commit( 165s + ~~~~~~~~~~~~~~~~~~~~~~^ 165s + command, 165s + ^^^^^^^^ 165s + self.git[commit.sha], 165s + ^^^^^^^^^^^^^^^^^^^^^ 165s + commit.phase, 165s + ^^^^^^^^^^^^^ 165s + ) 165s + ^ 165s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 165s + files, gitlinks, git_renames = self.get_files_changed( 165s + ~~~~~~~~~~~~~~~~~~~~~~^ 165s + commit, detect_renames 165s + ^^^^^^^^^^^^^^^^^^^^^^ 165s + ) 165s + ^ 165s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 165s + oldfile, oldmode, oldsha = change.old 165s + ^^^^^^^^^^^^^^^^^^^^^^^^ 165s + TypeError: cannot unpack non-iterable NoneType object 165s + [1] 165s 165s $ cd hgrepo 165s + $TESTTMP.sh: 22: cd: can't cd to hgrepo 165s $ hg phase -r master 165s - 0: public 165s - $ cd .. 165s - 165s -pulled changesets are public 165s - $ cd gitrepo 165s - $ git checkout -q master 165s - $ echo beta > beta 165s - $ git add beta 165s - $ fn_git_commit -m 'add beta' 165s - $ git checkout -b not-master 165s - Switched to a new branch 'not-master' 165s - $ echo gamma > gamma 165s - $ git add gamma 165s - $ fn_git_commit -m 'add gamma' 165s - $ git tag thetag 165s - $ echo delta > delta 165s - $ git add delta 165s - $ fn_git_commit -m 'add delta' 165s - $ git checkout master 165s - Switched to branch 'master' 165s - $ cd .. 165s - 165s - $ cd hgrepo 165s - $ cat >>$HGRCPATH < [paths] 165s - > other = $TESTTMP/gitrepo/.git 165s - > [hggit] 165s - > usephases = True 165s - > EOF 165s - 165s - $ hg phase -fd 'all()' 165s - 165s -we can restrict publishing to the remote HEAD and that tag, which 165s -happens to be the same thing here 165s - 165s -#if publish-specific 165s - $ cat >>$HGRCPATH < [git] 165s - > public = default/master, thetag 165s - > EOF 165s -#endif 165s - 165s -pulling publishes the branch 165s - 165s - $ hg phase -r master 165s - 0: draft 165s -#if publish-defaults 165s - $ hg pull -r master other 165s - pulling from $TESTTMP/gitrepo/.git 165s - importing 1 git commits 165s - updating bookmark master 165s - new changesets 7fe02317c63d 165s - 1 local changesets published 165s - (run 'hg update' to get a working copy) 165s -#else 165s - $ hg pull -r master other 165s - pulling from $TESTTMP/gitrepo/.git 165s - importing 1 git commits 165s - updating bookmark master 165s - new changesets 7fe02317c63d (1 drafts) 165s - (run 'hg update' to get a working copy) 165s -#endif 165s - $ hg phase -r master 165s - 1: draft (publish-specific !) 165s - 1: public (publish-defaults !) 165s -#if publish-defaults 165s - $ hg phase -fd master 165s - $ hg pull 165s - pulling from $TESTTMP/gitrepo 165s - importing 2 git commits 165s - adding bookmark not-master 165s - new changesets ca33a262eb46:03769a650ded (1 drafts) 165s - 1 local changesets published 165s - (run 'hg update' to get a working copy) 165s -#else 165s - $ hg pull 165s - pulling from $TESTTMP/gitrepo 165s - importing 2 git commits 165s - adding bookmark not-master 165s - new changesets ca33a262eb46:03769a650ded (1 drafts) 165s - 2 local changesets published 165s - (run 'hg update' to get a working copy) 165s -#endif 165s - $ hg phase -r master -r not-master -r thetag 165s - 1: public 165s - 3: draft 165s - 2: public 165s - 165s -public bookmark not pushed is not published after pull 165s - 165s - $ hg update 0 165s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 165s - $ echo delta > delta 165s - $ hg bookmark not-pushed 165s - $ hg add delta 165s - $ hg commit -m 'add delta' 165s - created new head 165s - $ hg phase -r 'all()' > $TESTTMP/before 165s - $ hg pull --config git.public=master,not-pushed 165s - pulling from $TESTTMP/gitrepo 165s - no changes found 165s - $ hg phase -r 'all()' > $TESTTMP/after 165s - $ cmp -s $TESTTMP/before $TESTTMP/after 165s - $ hg phase -r not-pushed 165s - 4: draft 165s - $ rm $TESTTMP/before $TESTTMP/after 165s - 165s -pushing public bookmark publishes local changesets, but only those 165s -actually pushed 165s - 165s - $ hg update master 165s - 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 165s - (activating bookmark master) 165s - $ echo epsilon > epsilon 165s - $ hg add epsilon 165s - $ hg commit -m 'add epsilon' 165s - created new head 165s - $ hg phase -r 'all() - master' > $TESTTMP/before 165s - $ hg push -B not-pushed 165s - pushing to $TESTTMP/gitrepo 165s - searching for changes 165s - adding objects 165s - remote: found 0 deltas to reuse 165s - added 1 commits with 1 trees and 1 blobs 165s - adding reference refs/heads/not-pushed 165s - $ hg phase -r 'all() - master' > $TESTTMP/after 165s - $ diff $TESTTMP/before $TESTTMP/after | tr '<>' '-+' 165s - $ hg phase -r not-pushed -r master 165s - 4: draft 165s - 5: draft 165s - $ hg push -B master 165s - pushing to $TESTTMP/gitrepo 165s - searching for changes 165s - adding objects 165s - remote: found 0 deltas to reuse 165s - added 1 commits with 1 trees and 1 blobs 165s - updating reference refs/heads/master 165s - $ hg phase -r 'all() - master' > $TESTTMP/after 165s - $ diff $TESTTMP/before $TESTTMP/after | tr '<>' '-+' 165s - $ hg phase -r master 165s - 5: public 165s 165s ERROR: test-phases-public.t#publish-defaults output changed 166s ! 166s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-phases-public.t 166s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-phases-public.t#publish-specific.err 166s @@ -25,148 +25,100 @@ 166s cloning with hggit.usephases publishes cloned HEAD 166s $ hg --config hggit.usephases=True clone -U gitrepo hgrepo 166s importing 1 git commits 166s - new changesets ff7a2f2d8d70 166s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 166s + ** which supports versions 6.9 of Mercurial. 166s + ** Please disable "hggit" and try your action again. 166s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 166s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 166s + ** Mercurial Distributed SCM (version 7.0.1) 166s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 166s + Traceback (most recent call last): 166s + File "/usr/bin/hg", line 51, in 166s + dispatch.run() 166s + ~~~~~~~~~~~~^^ 166s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 166s + status = dispatch(req) 166s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 166s + status = _rundispatch(req) 166s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 166s + ret = _runcatch(req) or 0 166s + ~~~~~~~~~^^^^^ 166s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 166s + return _callcatch(ui, _runcatchfunc) 166s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 166s + return scmutil.callcatch(ui, func) 166s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 166s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 166s + return func() 166s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 166s + return _dispatch(req) 166s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 166s + return runcommand( 166s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 166s + ) 166s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 166s + ret = _runcommand(ui, options, cmd, d) 166s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 166s + return cmdfunc() 166s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 166s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 166s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 166s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 166s + return func(*args, **kwargs) 166s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 166s + r = hg.clone( 166s + ui, 166s + ...<11 lines>... 166s + depth=opts.get('depth') or None, 166s + ) 166s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 166s + srcpeer, destpeer = orig(*args, **opts) 166s + ~~~~^^^^^^^^^^^^^^^ 166s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 166s + exchange.pull( 166s + ~~~~~~~~~~~~~^ 166s + local, 166s + ^^^^^^ 166s + ...<5 lines>... 166s + depth=depth, 166s + ^^^^^^^^^^^^ 166s + ) 166s + ^ 166s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 166s + return f(*args, **kwargs) 166s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 166s + pullop.cgresult = repo.githandler.fetch(remote, heads) 166s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 166s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 166s + imported = self.import_git_objects( 166s + b'pull', 166s + ...<2 lines>... 166s + heads=heads, 166s + ) 166s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 166s + self.import_git_commit( 166s + ~~~~~~~~~~~~~~~~~~~~~~^ 166s + command, 166s + ^^^^^^^^ 166s + self.git[commit.sha], 166s + ^^^^^^^^^^^^^^^^^^^^^ 166s + commit.phase, 166s + ^^^^^^^^^^^^^ 166s + ) 166s + ^ 166s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 166s + files, gitlinks, git_renames = self.get_files_changed( 166s + ~~~~~~~~~~~~~~~~~~~~~~^ 166s + commit, detect_renames 166s + ^^^^^^^^^^^^^^^^^^^^^^ 166s + ) 166s + ^ 166s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 166s + oldfile, oldmode, oldsha = change.old 166s + ^^^^^^^^^^^^^^^^^^^^^^^^ 166s + TypeError: cannot unpack non-iterable NoneType object 166s + [1] 166s 166s $ cd hgrepo 166s + $TESTTMP.sh: 22: cd: can't cd to hgrepo 166s $ hg phase -r master 166s - 0: public 166s - $ cd .. 166s - 166s -pulled changesets are public 166s - $ cd gitrepo 166s - $ git checkout -q master 166s - $ echo beta > beta 166s - $ git add beta 166s - $ fn_git_commit -m 'add beta' 166s - $ git checkout -b not-master 166s - Switched to a new branch 'not-master' 166s - $ echo gamma > gamma 166s - $ git add gamma 166s - $ fn_git_commit -m 'add gamma' 166s - $ git tag thetag 166s - $ echo delta > delta 166s - $ git add delta 166s - $ fn_git_commit -m 'add delta' 166s - $ git checkout master 166s - Switched to branch 'master' 166s - $ cd .. 166s - 166s - $ cd hgrepo 166s - $ cat >>$HGRCPATH < [paths] 166s - > other = $TESTTMP/gitrepo/.git 166s - > [hggit] 166s - > usephases = True 166s - > EOF 166s - 166s - $ hg phase -fd 'all()' 166s - 166s -we can restrict publishing to the remote HEAD and that tag, which 166s -happens to be the same thing here 166s - 166s -#if publish-specific 166s - $ cat >>$HGRCPATH < [git] 166s - > public = default/master, thetag 166s - > EOF 166s -#endif 166s - 166s -pulling publishes the branch 166s - 166s - $ hg phase -r master 166s - 0: draft 166s -#if publish-defaults 166s - $ hg pull -r master other 166s - pulling from $TESTTMP/gitrepo/.git 166s - importing 1 git commits 166s - updating bookmark master 166s - new changesets 7fe02317c63d 166s - 1 local changesets published 166s - (run 'hg update' to get a working copy) 166s -#else 166s - $ hg pull -r master other 166s - pulling from $TESTTMP/gitrepo/.git 166s - importing 1 git commits 166s - updating bookmark master 166s - new changesets 7fe02317c63d (1 drafts) 166s - (run 'hg update' to get a working copy) 166s -#endif 166s - $ hg phase -r master 166s - 1: draft (publish-specific !) 166s - 1: public (publish-defaults !) 166s -#if publish-defaults 166s - $ hg phase -fd master 166s - $ hg pull 166s - pulling from $TESTTMP/gitrepo 166s - importing 2 git commits 166s - adding bookmark not-master 166s - new changesets ca33a262eb46:03769a650ded (1 drafts) 166s - 1 local changesets published 166s - (run 'hg update' to get a working copy) 166s -#else 166s - $ hg pull 166s - pulling from $TESTTMP/gitrepo 166s - importing 2 git commits 166s - adding bookmark not-master 166s - new changesets ca33a262eb46:03769a650ded (1 drafts) 166s - 2 local changesets published 166s - (run 'hg update' to get a working copy) 166s -#endif 166s - $ hg phase -r master -r not-master -r thetag 166s - 1: public 166s - 3: draft 166s - 2: public 166s - 166s -public bookmark not pushed is not published after pull 166s - 166s - $ hg update 0 166s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 166s - $ echo delta > delta 166s - $ hg bookmark not-pushed 166s - $ hg add delta 166s - $ hg commit -m 'add delta' 166s - created new head 166s - $ hg phase -r 'all()' > $TESTTMP/before 166s - $ hg pull --config git.public=master,not-pushed 166s - pulling from $TESTTMP/gitrepo 166s - no changes found 166s - $ hg phase -r 'all()' > $TESTTMP/after 166s - $ cmp -s $TESTTMP/before $TESTTMP/after 166s - $ hg phase -r not-pushed 166s - 4: draft 166s - $ rm $TESTTMP/before $TESTTMP/after 166s - 166s -pushing public bookmark publishes local changesets, but only those 166s -actually pushed 166s - 166s - $ hg update master 166s - 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 166s - (activating bookmark master) 166s - $ echo epsilon > epsilon 166s - $ hg add epsilon 166s - $ hg commit -m 'add epsilon' 166s - created new head 166s - $ hg phase -r 'all() - master' > $TESTTMP/before 166s - $ hg push -B not-pushed 166s - pushing to $TESTTMP/gitrepo 166s - searching for changes 166s - adding objects 166s - remote: found 0 deltas to reuse 166s - added 1 commits with 1 trees and 1 blobs 166s - adding reference refs/heads/not-pushed 166s - $ hg phase -r 'all() - master' > $TESTTMP/after 166s - $ diff $TESTTMP/before $TESTTMP/after | tr '<>' '-+' 166s - $ hg phase -r not-pushed -r master 166s - 4: draft 166s - 5: draft 166s - $ hg push -B master 166s - pushing to $TESTTMP/gitrepo 166s - searching for changes 166s - adding objects 166s - remote: found 0 deltas to reuse 166s - added 1 commits with 1 trees and 1 blobs 166s - updating reference refs/heads/master 166s - $ hg phase -r 'all() - master' > $TESTTMP/after 166s - $ diff $TESTTMP/before $TESTTMP/after | tr '<>' '-+' 166s - $ hg phase -r master 166s - 5: public 166s 166s ERROR: test-phases-public.t#publish-specific output changed 171s !.s 171s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-invalid-refs.t 171s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-invalid-refs.t.err 171s @@ -13,114 +13,100 @@ 171s $ cd .. 171s $ hg clone -U gitrepo hgrepo 171s importing 1 git commits 171s - new changesets ff7a2f2d8d70 (1 drafts) 171s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 171s + ** which supports versions 6.9 of Mercurial. 171s + ** Please disable "hggit" and try your action again. 171s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 171s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 171s + ** Mercurial Distributed SCM (version 7.0.1) 171s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 171s + Traceback (most recent call last): 171s + File "/usr/bin/hg", line 51, in 171s + dispatch.run() 171s + ~~~~~~~~~~~~^^ 171s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 171s + status = dispatch(req) 171s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 171s + status = _rundispatch(req) 171s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 171s + ret = _runcatch(req) or 0 171s + ~~~~~~~~~^^^^^ 171s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 171s + return _callcatch(ui, _runcatchfunc) 171s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 171s + return scmutil.callcatch(ui, func) 171s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 171s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 171s + return func() 171s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 171s + return _dispatch(req) 171s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 171s + return runcommand( 171s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 171s + ) 171s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 171s + ret = _runcommand(ui, options, cmd, d) 171s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 171s + return cmdfunc() 171s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 171s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 171s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 171s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 171s + return func(*args, **kwargs) 171s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 171s + r = hg.clone( 171s + ui, 171s + ...<11 lines>... 171s + depth=opts.get('depth') or None, 171s + ) 171s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 171s + srcpeer, destpeer = orig(*args, **opts) 171s + ~~~~^^^^^^^^^^^^^^^ 171s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 171s + exchange.pull( 171s + ~~~~~~~~~~~~~^ 171s + local, 171s + ^^^^^^ 171s + ...<5 lines>... 171s + depth=depth, 171s + ^^^^^^^^^^^^ 171s + ) 171s + ^ 171s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 171s + return f(*args, **kwargs) 171s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 171s + pullop.cgresult = repo.githandler.fetch(remote, heads) 171s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 171s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 171s + imported = self.import_git_objects( 171s + b'pull', 171s + ...<2 lines>... 171s + heads=heads, 171s + ) 171s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 171s + self.import_git_commit( 171s + ~~~~~~~~~~~~~~~~~~~~~~^ 171s + command, 171s + ^^^^^^^^ 171s + self.git[commit.sha], 171s + ^^^^^^^^^^^^^^^^^^^^^ 171s + commit.phase, 171s + ^^^^^^^^^^^^^ 171s + ) 171s + ^ 171s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 171s + files, gitlinks, git_renames = self.get_files_changed( 171s + ~~~~~~~~~~~~~~~~~~~~~~^ 171s + commit, detect_renames 171s + ^^^^^^^^^^^^^^^^^^^^^^ 171s + ) 171s + ^ 171s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 171s + oldfile, oldmode, oldsha = change.old 171s + ^^^^^^^^^^^^^^^^^^^^^^^^ 171s + TypeError: cannot unpack non-iterable NoneType object 171s + [1] 171s 171s $ cd hgrepo 171s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 171s $ hg up master 171s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 171s - (activating bookmark master) 171s - $ fn_hg_tag alph#a 171s - $ fn_hg_tag bet*a 171s - $ fn_hg_tag 'gamm a' 171s - $ hg book -r . delt#a 171s - $ hg book -r . epsil*on 171s - 171s - $ hg gexport 171s - warning: not exporting tag 'bet*a' due to invalid name 171s - warning: not exporting bookmark 'epsil*on' due to invalid name 171s - 171s - $ hg push 171s - pushing to $TESTTMP/gitrepo 171s - warning: not exporting tag 'bet*a' due to invalid name 171s - warning: not exporting bookmark 'epsil*on' due to invalid name 171s - searching for changes 171s - adding objects 171s - remote: found 0 deltas to reuse 171s - added 3 commits with 3 trees and 3 blobs 171s - adding reference refs/heads/delt#a 171s - updating reference refs/heads/master 171s - adding reference refs/tags/alph#a 171s - adding reference refs/tags/gamm_a 171s - 171s - $ hg log --graph 171s - @ changeset: 3:0950ab44ea23 171s - | bookmark: delt#a 171s - | bookmark: epsil*on 171s - | bookmark: master 171s - | tag: default/delt#a 171s - | tag: default/master 171s - | tag: tip 171s - | user: test 171s - | date: Mon Jan 01 00:00:13 2007 +0000 171s - | summary: Added tag gamm a for changeset 0b27ab2b3df6 171s - | 171s - o changeset: 2:0b27ab2b3df6 171s - | tag: gamm a 171s - | user: test 171s - | date: Mon Jan 01 00:00:12 2007 +0000 171s - | summary: Added tag bet*a for changeset 491ceeb1b0f1 171s - | 171s - o changeset: 1:491ceeb1b0f1 171s - | tag: bet*a 171s - | user: test 171s - | date: Mon Jan 01 00:00:11 2007 +0000 171s - | summary: Added tag alph#a for changeset ff7a2f2d8d70 171s - | 171s - o changeset: 0:ff7a2f2d8d70 171s - bookmark: not-master 171s - tag: alph#a 171s - tag: default/not-master 171s - user: test 171s - date: Mon Jan 01 00:00:10 2007 +0000 171s - summary: add alpha 171s - 171s - 171s - $ cd .. 171s - $ cd gitrepo 171s -git should have only the valid tag alph#a but have full commit log including the missing invalid bet*a tag commit 171s - $ git tag -l 171s - alph#a 171s - gamm_a 171s - 171s - $ cd .. 171s - $ hg clone -U gitrepo hgrepo2 171s - importing 4 git commits 171s - new changesets ff7a2f2d8d70:0950ab44ea23 (4 drafts) 171s - $ hg -R hgrepo2 log --graph 171s - o changeset: 3:0950ab44ea23 171s - | bookmark: delt#a 171s - | bookmark: master 171s - | tag: default/delt#a 171s - | tag: default/master 171s - | tag: tip 171s - | user: test 171s - | date: Mon Jan 01 00:00:13 2007 +0000 171s - | summary: Added tag gamm a for changeset 0b27ab2b3df6 171s - | 171s - o changeset: 2:0b27ab2b3df6 171s - | tag: gamm a 171s - | tag: gamm_a 171s - | user: test 171s - | date: Mon Jan 01 00:00:12 2007 +0000 171s - | summary: Added tag bet*a for changeset 491ceeb1b0f1 171s - | 171s - o changeset: 1:491ceeb1b0f1 171s - | tag: bet*a 171s - | user: test 171s - | date: Mon Jan 01 00:00:11 2007 +0000 171s - | summary: Added tag alph#a for changeset ff7a2f2d8d70 171s - | 171s - o changeset: 0:ff7a2f2d8d70 171s - bookmark: not-master 171s - tag: alph#a 171s - tag: default/not-master 171s - user: test 171s - date: Mon Jan 01 00:00:10 2007 +0000 171s - summary: add alpha 171s - 171s - 171s -the tag should be in .hgtags 171s - $ hg cat -r master hgrepo2/.hgtags 171s - ff7a2f2d8d7099694ae1e8b03838d40575bebb63 alph#a 171s - 491ceeb1b0f10d65d956dfcdd3470ac2bc2c96a8 bet*a 171s - 0b27ab2b3df69c6f7defd7040b93e539136db5be gamm a 171s 171s ERROR: test-invalid-refs.t output changed 173s ! 173s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-git-workflow.t 173s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-git-workflow.t.err 173s @@ -39,11 +39,68 @@ 173s $ hg debuggitdir 173s $TESTTMP/gitrepo/.git 173s $ hg gexport 173s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 173s + ** which supports versions 6.9 of Mercurial. 173s + ** Please disable "hggit" and try your action again. 173s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 173s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 173s + ** Mercurial Distributed SCM (version 7.0.1) 173s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 173s + Traceback (most recent call last): 173s + File "/usr/bin/hg", line 51, in 173s + dispatch.run() 173s + ~~~~~~~~~~~~^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 173s + status = dispatch(req) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 173s + status = _rundispatch(req) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 173s + ret = _runcatch(req) or 0 173s + ~~~~~~~~~^^^^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 173s + return _callcatch(ui, _runcatchfunc) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 173s + return scmutil.callcatch(ui, func) 173s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 173s + return func() 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 173s + return _dispatch(req) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 173s + return runcommand( 173s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 173s + ) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 173s + ret = _runcommand(ui, options, cmd, d) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 173s + return cmdfunc() 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 173s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 173s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 173s + return func(*args, **kwargs) 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 64, in gexport 173s + repo.githandler.export_commits() 173s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 173s + self.export_git_objects() 173s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 173s + packer.pack(synchronous=True) 173s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 173s + _process_batch(self.ui, self.object_store, todo) 173s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 173s + object_store._remove_loose_object(obj.id) 173s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 173s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 173s + [1] 173s 173s do some work 173s $ git config core.bare false 173s $ git checkout master 2>&1 | sed s/\'/\"/g 173s - Already on "master" 173s + error: pathspec "master" did not match any file(s) known to git 173s $ echo beta > beta 173s $ git add beta 173s $ fn_git_commit -m 'add beta' 173s @@ -51,25 +108,79 @@ 173s get things back to hg 173s $ hg gimport 173s importing 1 git commits 173s - updating bookmark master 173s - new changesets 9f124f3c1fc2 (1 drafts) 173s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 173s + ** which supports versions 6.9 of Mercurial. 173s + ** Please disable "hggit" and try your action again. 173s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 173s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 173s + ** Mercurial Distributed SCM (version 7.0.1) 173s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 173s + Traceback (most recent call last): 173s + File "/usr/bin/hg", line 51, in 173s + dispatch.run() 173s + ~~~~~~~~~~~~^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 173s + status = dispatch(req) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 173s + status = _rundispatch(req) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 173s + ret = _runcatch(req) or 0 173s + ~~~~~~~~~^^^^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 173s + return _callcatch(ui, _runcatchfunc) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 173s + return scmutil.callcatch(ui, func) 173s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 173s + return func() 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 173s + return _dispatch(req) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 173s + return runcommand( 173s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 173s + ) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 173s + ret = _runcommand(ui, options, cmd, d) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 173s + return cmdfunc() 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 173s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 173s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 173s + return func(*args, **kwargs) 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 46, in gimport 173s + repo.githandler.import_commits(remote_name) 173s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 388, in import_commits 173s + self.import_git_objects(b'gimport', remote_names, refs) 173s + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 173s + self.import_git_commit( 173s + ~~~~~~~~~~~~~~~~~~~~~~^ 173s + command, 173s + ^^^^^^^^ 173s + self.git[commit.sha], 173s + ^^^^^^^^^^^^^^^^^^^^^ 173s + commit.phase, 173s + ^^^^^^^^^^^^^ 173s + ) 173s + ^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 173s + files, gitlinks, git_renames = self.get_files_changed( 173s + ~~~~~~~~~~~~~~~~~~~~~~^ 173s + commit, detect_renames 173s + ^^^^^^^^^^^^^^^^^^^^^^ 173s + ) 173s + ^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 173s + oldfile, oldmode, oldsha = change.old 173s + ^^^^^^^^^^^^^^^^^^^^^^^^ 173s + TypeError: cannot unpack non-iterable NoneType object 173s + [1] 173s $ hg log --graph --debug | grep -v phase: 173s - o changeset: 1:9f124f3c1fc29a14f5eb027c24811b0ac9d5ff10 173s - | bookmark: master 173s - | tag: tip 173s - | parent: 0:0221c246a56712c6aa64e5ee382244d8a471b1e2 173s - | parent: -1:0000000000000000000000000000000000000000 173s - | manifest: 1:f0bd6fbafbaebe4bb59c35108428f6fce152431d 173s - | user: test 173s - | date: Mon Jan 01 00:00:11 2007 +0000 173s - | files+: beta 173s - | extra: branch=default 173s - | extra: hg-git-rename-source=git 173s - | description: 173s - | add beta 173s - | 173s - | 173s o changeset: 0:0221c246a56712c6aa64e5ee382244d8a471b1e2 173s + bookmark: master 173s + tag: tip 173s parent: -1:0000000000000000000000000000000000000000 173s parent: -1:0000000000000000000000000000000000000000 173s manifest: 0:8b8a0e87dfd7a0706c0524afa8ba67e20544cbf0 173s @@ -83,7 +194,7 @@ 173s 173s gimport should have updated the bookmarks as well 173s $ hg bookmarks 173s - master 1:9f124f3c1fc2 173s + master 0:0221c246a567 173s 173s gimport support for git.mindate 173s $ cat >> .hg/hgrc << EOF 173s @@ -98,14 +209,9 @@ 173s $ hg gimport 173s no changes found 173s $ hg log --graph 173s - o changeset: 1:9f124f3c1fc2 173s - | bookmark: master 173s - | tag: tip 173s - | user: test 173s - | date: Mon Jan 01 00:00:11 2007 +0000 173s - | summary: add beta 173s - | 173s o changeset: 0:0221c246a567 173s + bookmark: master 173s + tag: tip 173s user: test 173s date: Mon Jan 01 00:00:10 2007 +0000 173s summary: add alpha 173s @@ -117,28 +223,80 @@ 173s > GIT_COMMITTER_DATE="2014-01-02 00:00:00 +0000" \ 173s > git commit -m newcommit > /dev/null || echo "git commit error" 173s $ hg gimport 173s - importing 2 git commits 173s - updating bookmark master 173s - new changesets befdecd14df5:3d10b7289d79 (2 drafts) 173s + importing 3 git commits 173s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 173s + ** which supports versions 6.9 of Mercurial. 173s + ** Please disable "hggit" and try your action again. 173s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 173s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 173s + ** Mercurial Distributed SCM (version 7.0.1) 173s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 173s + Traceback (most recent call last): 173s + File "/usr/bin/hg", line 51, in 173s + dispatch.run() 173s + ~~~~~~~~~~~~^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 173s + status = dispatch(req) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 173s + status = _rundispatch(req) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 173s + ret = _runcatch(req) or 0 173s + ~~~~~~~~~^^^^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 173s + return _callcatch(ui, _runcatchfunc) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 173s + return scmutil.callcatch(ui, func) 173s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 173s + return func() 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 173s + return _dispatch(req) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 173s + return runcommand( 173s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 173s + ) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 173s + ret = _runcommand(ui, options, cmd, d) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 173s + return cmdfunc() 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 173s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 173s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 173s + return func(*args, **kwargs) 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 46, in gimport 173s + repo.githandler.import_commits(remote_name) 173s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 388, in import_commits 173s + self.import_git_objects(b'gimport', remote_names, refs) 173s + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 173s + self.import_git_commit( 173s + ~~~~~~~~~~~~~~~~~~~~~~^ 173s + command, 173s + ^^^^^^^^ 173s + self.git[commit.sha], 173s + ^^^^^^^^^^^^^^^^^^^^^ 173s + commit.phase, 173s + ^^^^^^^^^^^^^ 173s + ) 173s + ^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 173s + files, gitlinks, git_renames = self.get_files_changed( 173s + ~~~~~~~~~~~~~~~~~~~~~~^ 173s + commit, detect_renames 173s + ^^^^^^^^^^^^^^^^^^^^^^ 173s + ) 173s + ^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 173s + oldfile, oldmode, oldsha = change.old 173s + ^^^^^^^^^^^^^^^^^^^^^^^^ 173s + TypeError: cannot unpack non-iterable NoneType object 173s + [1] 173s $ hg log --graph 173s - o changeset: 3:3d10b7289d79 173s - | bookmark: master 173s - | tag: tip 173s - | user: test 173s - | date: Wed Jan 01 00:00:00 2014 +0000 173s - | summary: newcommit 173s - | 173s - o changeset: 2:befdecd14df5 173s - | user: test 173s - | date: Sat Mar 01 00:00:00 2014 +0000 173s - | summary: oldcommit 173s - | 173s - o changeset: 1:9f124f3c1fc2 173s - | user: test 173s - | date: Mon Jan 01 00:00:11 2007 +0000 173s - | summary: add beta 173s - | 173s o changeset: 0:0221c246a567 173s + bookmark: master 173s + tag: tip 173s user: test 173s date: Mon Jan 01 00:00:10 2007 +0000 173s summary: add alpha 173s 173s ERROR: test-git-workflow.t output changed 173s ! 173s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-serve-hg.t 173s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-serve-hg.t#with-hggit.err 173s @@ -32,10 +32,101 @@ 173s 173s $ hg clone gitrepo hgrepo 173s importing 2 git commits 173s - new changesets f488b65fa424:c61c38c3d614 (2 drafts) 173s - updating to bookmark master 173s - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved 173s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 173s + ** which supports versions 6.9 of Mercurial. 173s + ** Please disable "hggit" and try your action again. 173s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 173s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 173s + ** Mercurial Distributed SCM (version 7.0.1) 173s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 173s + Traceback (most recent call last): 173s + File "/usr/bin/hg", line 51, in 173s + dispatch.run() 173s + ~~~~~~~~~~~~^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 173s + status = dispatch(req) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 173s + status = _rundispatch(req) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 173s + ret = _runcatch(req) or 0 173s + ~~~~~~~~~^^^^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 173s + return _callcatch(ui, _runcatchfunc) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 173s + return scmutil.callcatch(ui, func) 173s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 173s + return func() 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 173s + return _dispatch(req) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 173s + return runcommand( 173s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 173s + ) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 173s + ret = _runcommand(ui, options, cmd, d) 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 173s + return cmdfunc() 173s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 173s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 173s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 173s + return func(*args, **kwargs) 173s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 173s + r = hg.clone( 173s + ui, 173s + ...<11 lines>... 173s + depth=opts.get('depth') or None, 173s + ) 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 173s + srcpeer, destpeer = orig(*args, **opts) 173s + ~~~~^^^^^^^^^^^^^^^ 173s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 173s + exchange.pull( 173s + ~~~~~~~~~~~~~^ 173s + local, 173s + ^^^^^^ 173s + ...<5 lines>... 173s + depth=depth, 173s + ^^^^^^^^^^^^ 173s + ) 173s + ^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 173s + return f(*args, **kwargs) 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 173s + pullop.cgresult = repo.githandler.fetch(remote, heads) 173s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 173s + imported = self.import_git_objects( 173s + b'pull', 173s + ...<2 lines>... 173s + heads=heads, 173s + ) 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 173s + self.import_git_commit( 173s + ~~~~~~~~~~~~~~~~~~~~~~^ 173s + command, 173s + ^^^^^^^^ 173s + self.git[commit.sha], 173s + ^^^^^^^^^^^^^^^^^^^^^ 173s + commit.phase, 173s + ^^^^^^^^^^^^^ 173s + ) 173s + ^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 173s + files, gitlinks, git_renames = self.get_files_changed( 173s + ~~~~~~~~~~~~~~~~~~~~~~^ 173s + commit, detect_renames 173s + ^^^^^^^^^^^^^^^^^^^^^^ 173s + ) 173s + ^ 173s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 173s + oldfile, oldmode, oldsha = change.old 173s + ^^^^^^^^^^^^^^^^^^^^^^^^ 173s + TypeError: cannot unpack non-iterable NoneType object 173s + [1] 173s $ cd hgrepo 173s + $TESTTMP.sh: 41: cd: can't cd to hgrepo 173s $ cat >> .hg/hgrc < [push] 173s > pushvars.server = true 173s @@ -45,81 +136,3 @@ 173s > [hooks] 173s > pretxnchangegroup = env | grep HG_USERVAR_ || true 173s > EOF 173s - $ hg serve -p $HGPORT -d --pid-file=../hg1.pid -E ../error.log 173s - $ hg --config server.uncompressed=False serve -p $HGPORT1 -d --pid-file=../hg2.pid 173s - 173s -Test server address cannot be reused 173s - 173s -#if windows 173s - $ hg serve -p $HGPORT1 2>&1 173s - abort: cannot start server at '*:$HGPORT1': * (glob) 173s - [255] 173s -#else 173s - $ hg serve -p $HGPORT1 2>&1 173s - abort: cannot start server at '*:$HGPORT1': Address* in use (glob) 173s - [255] 173s -#endif 173s - $ cd .. 173s - $ cat hg1.pid hg2.pid >> $DAEMON_PIDS 173s - 173s -Make sure that clone regular mercurial repos over http doesn't break, 173s -and that we can transfer the hg-git metadata 173s - 173s - $ hg clone http://localhost:$HGPORT/ copy 2>&1 173s - requesting all changes 173s - adding changesets 173s - adding manifests 173s - adding file changes 173s - added 2 changesets with 4 changes to 4 files 173s - new changesets f488b65fa424:c61c38c3d614 (?) 173s - updating to branch default 173s - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved 173s - 173s -And it shouldn't create a Git repository needlessly: 173s - $ test -e copy/git 173s - [1] 173s - $ cd copy 173s - 173s -#if without-hggit 173s - $ hg tags 173s - tip 1:c61c38c3d614 173s - $ hg log -T '{rev}:{node|short} | {bookmarks} | {gitnode} |\n' 173s - 1:c61c38c3d614 | master | | 173s - 0:f488b65fa424 | | | 173s - $ hg pull -u ../gitrepo 173s - pulling from ../gitrepo 173s - importing 2 git commits 173s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 173s -#else 173s - $ hg tags 173s - tip 1:c61c38c3d614 173s - thetag 0:f488b65fa424 173s - $ hg log -T '{rev}:{node|short} | {bookmarks} | {gitnode} |\n' 173s - 1:c61c38c3d614 | master | 95bcbb72932335c132c10950b5e5dc1066138ea1 | 173s - 0:f488b65fa424 | | a874aa4c9506ed30ef2c2c7313abd2c518e9e71e | 173s - $ hg pull -u ../gitrepo 173s - pulling from ../gitrepo 173s - warning: created new git repository at $TESTTMP/copy/.hg/git 173s - no changes found 173s -#endif 173s - 173s - $ hg tags 173s - tip 1:c61c38c3d614 173s - thetag 0:f488b65fa424 173s - $ hg log -T '{rev}:{node|short} | {bookmarks} | {gitnode} |\n' 173s - 1:c61c38c3d614 | master | 95bcbb72932335c132c10950b5e5dc1066138ea1 | 173s - 0:f488b65fa424 | | a874aa4c9506ed30ef2c2c7313abd2c518e9e71e | 173s - 173s -Furthermore, make sure that we pass all arguments when pushing: 173s - 173s - $ echo baz > baz 173s - $ fn_hg_commit -A -m baz 173s - $ hg push --pushvars FOO=BAR 173s - pushing to http://localhost:$HGPORT/ 173s - searching for changes 173s - remote: adding changesets 173s - remote: adding manifests 173s - remote: adding file changes 173s - remote: HG_USERVAR_FOO=BAR 173s - remote: added 1 changesets with 1 changes to 1 files 173s - $ cd .. 173s 173s ERROR: test-serve-hg.t#with-hggit output changed 175s ! 175s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-serve-hg.t 175s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-serve-hg.t#without-hggit.err 175s @@ -32,10 +32,101 @@ 175s 175s $ hg clone gitrepo hgrepo 175s importing 2 git commits 175s - new changesets f488b65fa424:c61c38c3d614 (2 drafts) 175s - updating to bookmark master 175s - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved 175s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 175s + ** which supports versions 6.9 of Mercurial. 175s + ** Please disable "hggit" and try your action again. 175s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 175s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 175s + ** Mercurial Distributed SCM (version 7.0.1) 175s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 175s + Traceback (most recent call last): 175s + File "/usr/bin/hg", line 51, in 175s + dispatch.run() 175s + ~~~~~~~~~~~~^^ 175s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 175s + status = dispatch(req) 175s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 175s + status = _rundispatch(req) 175s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 175s + ret = _runcatch(req) or 0 175s + ~~~~~~~~~^^^^^ 175s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 175s + return _callcatch(ui, _runcatchfunc) 175s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 175s + return scmutil.callcatch(ui, func) 175s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 175s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 175s + return func() 175s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 175s + return _dispatch(req) 175s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 175s + return runcommand( 175s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 175s + ) 175s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 175s + ret = _runcommand(ui, options, cmd, d) 175s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 175s + return cmdfunc() 175s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 175s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 175s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 175s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 175s + return func(*args, **kwargs) 175s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 175s + r = hg.clone( 175s + ui, 175s + ...<11 lines>... 175s + depth=opts.get('depth') or None, 175s + ) 175s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 175s + srcpeer, destpeer = orig(*args, **opts) 175s + ~~~~^^^^^^^^^^^^^^^ 175s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 175s + exchange.pull( 175s + ~~~~~~~~~~~~~^ 175s + local, 175s + ^^^^^^ 175s + ...<5 lines>... 175s + depth=depth, 175s + ^^^^^^^^^^^^ 175s + ) 175s + ^ 175s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 175s + return f(*args, **kwargs) 175s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 175s + pullop.cgresult = repo.githandler.fetch(remote, heads) 175s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 175s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 175s + imported = self.import_git_objects( 175s + b'pull', 175s + ...<2 lines>... 175s + heads=heads, 175s + ) 175s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 175s + self.import_git_commit( 175s + ~~~~~~~~~~~~~~~~~~~~~~^ 175s + command, 175s + ^^^^^^^^ 175s + self.git[commit.sha], 175s + ^^^^^^^^^^^^^^^^^^^^^ 175s + commit.phase, 175s + ^^^^^^^^^^^^^ 175s + ) 175s + ^ 175s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 175s + files, gitlinks, git_renames = self.get_files_changed( 175s + ~~~~~~~~~~~~~~~~~~~~~~^ 175s + commit, detect_renames 175s + ^^^^^^^^^^^^^^^^^^^^^^ 175s + ) 175s + ^ 175s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 175s + oldfile, oldmode, oldsha = change.old 175s + ^^^^^^^^^^^^^^^^^^^^^^^^ 175s + TypeError: cannot unpack non-iterable NoneType object 175s + [1] 175s $ cd hgrepo 175s + $TESTTMP.sh: 36: cd: can't cd to hgrepo 175s $ cat >> .hg/hgrc < [push] 175s > pushvars.server = true 175s @@ -45,81 +136,3 @@ 175s > [hooks] 175s > pretxnchangegroup = env | grep HG_USERVAR_ || true 175s > EOF 175s - $ hg serve -p $HGPORT -d --pid-file=../hg1.pid -E ../error.log 175s - $ hg --config server.uncompressed=False serve -p $HGPORT1 -d --pid-file=../hg2.pid 175s - 175s -Test server address cannot be reused 175s - 175s -#if windows 175s - $ hg serve -p $HGPORT1 2>&1 175s - abort: cannot start server at '*:$HGPORT1': * (glob) 175s - [255] 175s -#else 175s - $ hg serve -p $HGPORT1 2>&1 175s - abort: cannot start server at '*:$HGPORT1': Address* in use (glob) 175s - [255] 175s -#endif 175s - $ cd .. 175s - $ cat hg1.pid hg2.pid >> $DAEMON_PIDS 175s - 175s -Make sure that clone regular mercurial repos over http doesn't break, 175s -and that we can transfer the hg-git metadata 175s - 175s - $ hg clone http://localhost:$HGPORT/ copy 2>&1 175s - requesting all changes 175s - adding changesets 175s - adding manifests 175s - adding file changes 175s - added 2 changesets with 4 changes to 4 files 175s - new changesets f488b65fa424:c61c38c3d614 (?) 175s - updating to branch default 175s - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved 175s - 175s -And it shouldn't create a Git repository needlessly: 175s - $ test -e copy/git 175s - [1] 175s - $ cd copy 175s - 175s -#if without-hggit 175s - $ hg tags 175s - tip 1:c61c38c3d614 175s - $ hg log -T '{rev}:{node|short} | {bookmarks} | {gitnode} |\n' 175s - 1:c61c38c3d614 | master | | 175s - 0:f488b65fa424 | | | 175s - $ hg pull -u ../gitrepo 175s - pulling from ../gitrepo 175s - importing 2 git commits 175s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 175s -#else 175s - $ hg tags 175s - tip 1:c61c38c3d614 175s - thetag 0:f488b65fa424 175s - $ hg log -T '{rev}:{node|short} | {bookmarks} | {gitnode} |\n' 175s - 1:c61c38c3d614 | master | 95bcbb72932335c132c10950b5e5dc1066138ea1 | 175s - 0:f488b65fa424 | | a874aa4c9506ed30ef2c2c7313abd2c518e9e71e | 175s - $ hg pull -u ../gitrepo 175s - pulling from ../gitrepo 175s - warning: created new git repository at $TESTTMP/copy/.hg/git 175s - no changes found 175s -#endif 175s - 175s - $ hg tags 175s - tip 1:c61c38c3d614 175s - thetag 0:f488b65fa424 175s - $ hg log -T '{rev}:{node|short} | {bookmarks} | {gitnode} |\n' 175s - 1:c61c38c3d614 | master | 95bcbb72932335c132c10950b5e5dc1066138ea1 | 175s - 0:f488b65fa424 | | a874aa4c9506ed30ef2c2c7313abd2c518e9e71e | 175s - 175s -Furthermore, make sure that we pass all arguments when pushing: 175s - 175s - $ echo baz > baz 175s - $ fn_hg_commit -A -m baz 175s - $ hg push --pushvars FOO=BAR 175s - pushing to http://localhost:$HGPORT/ 175s - searching for changes 175s - remote: adding changesets 175s - remote: adding manifests 175s - remote: adding file changes 175s - remote: HG_USERVAR_FOO=BAR 175s - remote: added 1 changesets with 1 changes to 1 files 175s - $ cd .. 175s 175s ERROR: test-serve-hg.t#without-hggit output changed 180s ! 180s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-verify-fail.t 180s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-verify-fail.t.err 180s @@ -74,6 +74,63 @@ 180s $ hg debug-remove-hggit-state 180s clearing out the git cache data 180s $ hg gexport 180s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 180s + ** which supports versions 6.9 of Mercurial. 180s + ** Please disable "hggit" and try your action again. 180s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 180s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 180s + ** Mercurial Distributed SCM (version 7.0.1) 180s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 180s + Traceback (most recent call last): 180s + File "/usr/bin/hg", line 51, in 180s + dispatch.run() 180s + ~~~~~~~~~~~~^^ 180s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 180s + status = dispatch(req) 180s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 180s + status = _rundispatch(req) 180s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 180s + ret = _runcatch(req) or 0 180s + ~~~~~~~~~^^^^^ 180s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 180s + return _callcatch(ui, _runcatchfunc) 180s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 180s + return scmutil.callcatch(ui, func) 180s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 180s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 180s + return func() 180s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 180s + return _dispatch(req) 180s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 180s + return runcommand( 180s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 180s + ) 180s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 180s + ret = _runcommand(ui, options, cmd, d) 180s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 180s + return cmdfunc() 180s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 180s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 180s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 180s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 180s + return func(*args, **kwargs) 180s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 64, in gexport 180s + repo.githandler.export_commits() 180s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 180s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 180s + self.export_git_objects() 180s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 180s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 180s + packer.pack(synchronous=True) 180s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 180s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 180s + _process_batch(self.ui, self.object_store, todo) 180s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 180s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 180s + object_store._remove_loose_object(obj.id) 180s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 180s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 180s + [1] 180s $ mv .hg/git/objects/pack $TESTTMP/pack-old 180s $ for packfile in $TESTTMP/pack-old/*.pack 180s > do 180s 180s ERROR: test-verify-fail.t output changed 181s ! 181s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push-to-head.t 181s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push-to-head.t.err 181s @@ -15,64 +15,99 @@ 181s 181s $ hg clone gitrepo hgrepo 181s importing 1 git commits 181s - new changesets ff7a2f2d8d70 (1 drafts) 181s - updating to bookmark master 181s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 181s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 181s + ** which supports versions 6.9 of Mercurial. 181s + ** Please disable "hggit" and try your action again. 181s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 181s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 181s + ** Mercurial Distributed SCM (version 7.0.1) 181s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 181s + Traceback (most recent call last): 181s + File "/usr/bin/hg", line 51, in 181s + dispatch.run() 181s + ~~~~~~~~~~~~^^ 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 181s + status = dispatch(req) 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 181s + status = _rundispatch(req) 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 181s + ret = _runcatch(req) or 0 181s + ~~~~~~~~~^^^^^ 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 181s + return _callcatch(ui, _runcatchfunc) 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 181s + return scmutil.callcatch(ui, func) 181s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 181s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 181s + return func() 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 181s + return _dispatch(req) 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 181s + return runcommand( 181s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 181s + ) 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 181s + ret = _runcommand(ui, options, cmd, d) 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 181s + return cmdfunc() 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 181s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 181s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 181s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 181s + return func(*args, **kwargs) 181s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 181s + r = hg.clone( 181s + ui, 181s + ...<11 lines>... 181s + depth=opts.get('depth') or None, 181s + ) 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 181s + srcpeer, destpeer = orig(*args, **opts) 181s + ~~~~^^^^^^^^^^^^^^^ 181s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 181s + exchange.pull( 181s + ~~~~~~~~~~~~~^ 181s + local, 181s + ^^^^^^ 181s + ...<5 lines>... 181s + depth=depth, 181s + ^^^^^^^^^^^^ 181s + ) 181s + ^ 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 181s + return f(*args, **kwargs) 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 181s + pullop.cgresult = repo.githandler.fetch(remote, heads) 181s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 181s + imported = self.import_git_objects( 181s + b'pull', 181s + ...<2 lines>... 181s + heads=heads, 181s + ) 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 181s + self.import_git_commit( 181s + ~~~~~~~~~~~~~~~~~~~~~~^ 181s + command, 181s + ^^^^^^^^ 181s + self.git[commit.sha], 181s + ^^^^^^^^^^^^^^^^^^^^^ 181s + commit.phase, 181s + ^^^^^^^^^^^^^ 181s + ) 181s + ^ 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 181s + files, gitlinks, git_renames = self.get_files_changed( 181s + ~~~~~~~~~~~~~~~~~~~~~~^ 181s + commit, detect_renames 181s + ^^^^^^^^^^^^^^^^^^^^^^ 181s + ) 181s + ^ 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 181s + oldfile, oldmode, oldsha = change.old 181s + ^^^^^^^^^^^^^^^^^^^^^^^^ 181s + TypeError: cannot unpack non-iterable NoneType object 181s + [1] 181s $ cd hgrepo 181s + $TESTTMP.sh: 18: cd: can't cd to hgrepo 181s $ echo beta > beta 181s - $ fn_hg_commit -A -m "add beta" 181s - 181s -The output is confusing, and this even more-so: 181s - 181s - $ hg push 181s - pushing to $TESTTMP/gitrepo 181s - searching for changes 181s - adding objects 181s - remote: found 0 deltas to reuse 181s - remote: error: refusing to update checked out branch: refs/heads/master 181s - remote: error: By default, updating the current branch in a non-bare repository 181s - remote: is denied, because it will make the index and work tree inconsistent 181s - remote: with what you pushed, and will require 'git reset --hard' to match 181s - remote: the work tree to HEAD. 181s - remote: 181s - remote: You can set the 'receive.denyCurrentBranch' configuration variable 181s - remote: to 'ignore' or 'warn' in the remote repository to allow pushing into 181s - remote: its current branch; however, this is not recommended unless you 181s - remote: arranged to update its work tree to match what you pushed in some 181s - remote: other way. 181s - remote: 181s - remote: To squelch this message and still keep the default behaviour, set 181s - remote: 'receive.denyCurrentBranch' configuration variable to 'refuse'. 181s - added 1 commits with 1 trees and 1 blobs 181s - warning: failed to update refs/heads/master; branch is currently checked out 181s - 181s - $ hg push 181s - pushing to $TESTTMP/gitrepo 181s - searching for changes 181s - adding objects 181s - remote: found 0 deltas to reuse 181s - remote: error: refusing to update checked out branch: refs/heads/master 181s - remote: error: By default, updating the current branch in a non-bare repository 181s - remote: is denied, because it will make the index and work tree inconsistent 181s - remote: with what you pushed, and will require 'git reset --hard' to match 181s - remote: the work tree to HEAD. 181s - remote: 181s - remote: You can set the 'receive.denyCurrentBranch' configuration variable 181s - remote: to 'ignore' or 'warn' in the remote repository to allow pushing into 181s - remote: its current branch; however, this is not recommended unless you 181s - remote: arranged to update its work tree to match what you pushed in some 181s - remote: other way. 181s - remote: 181s - remote: To squelch this message and still keep the default behaviour, set 181s - remote: 'receive.denyCurrentBranch' configuration variable to 'refuse'. 181s - added 1 commits with 1 trees and 1 blobs 181s - warning: failed to update refs/heads/master; branch is currently checked out 181s - 181s -Show that it really didn't get pushed: 181s - 181s - $ hg tags 181s - tip 1:47580592d3d6 181s - default/master 0:ff7a2f2d8d70 181s - $ cd ../gitrepo 181s - $ git log --all --oneline --decorate 181s - 7eeab2e (HEAD -> master) add alpha 181s 181s ERROR: test-push-to-head.t output changed 181s ! 181s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push-authors.t 181s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push-authors.t.err 181s @@ -73,11 +73,80 @@ 181s 181s $ hg push 181s pushing to $TESTTMP/repo.git 181s - searching for changes 181s - adding objects 181s - remote: found 0 deltas to reuse 181s - added 6 commits with 6 trees and 1 blobs 181s - adding reference refs/heads/master 181s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 181s + ** which supports versions 6.9 of Mercurial. 181s + ** Please disable "hggit" and try your action again. 181s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 181s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 181s + ** Mercurial Distributed SCM (version 7.0.1) 181s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 181s + Traceback (most recent call last): 181s + File "/usr/bin/hg", line 51, in 181s + dispatch.run() 181s + ~~~~~~~~~~~~^^ 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 181s + status = dispatch(req) 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 181s + status = _rundispatch(req) 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 181s + ret = _runcatch(req) or 0 181s + ~~~~~~~~~^^^^^ 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 181s + return _callcatch(ui, _runcatchfunc) 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 181s + return scmutil.callcatch(ui, func) 181s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 181s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 181s + return func() 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 181s + return _dispatch(req) 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 181s + return runcommand( 181s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 181s + ) 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 181s + ret = _runcommand(ui, options, cmd, d) 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 181s + return cmdfunc() 181s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 181s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 181s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 181s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 181s + return func(*args, **kwargs) 181s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 181s + pushop = exchange.push( 181s + repo, 181s + ...<6 lines>... 181s + opargs=opargs, 181s + ) 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 181s + return f(*args, **kwargs) 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 181s + pushop.cgresult = repo.githandler.push( 181s + ~~~~~~~~~~~~~~~~~~~~^ 181s + remote.path, revs, bookmarks, force 181s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 181s + ) 181s + ^ 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 181s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 181s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 181s + all_exportable = self.export_commits() 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 181s + self.export_git_objects() 181s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 181s + packer.pack(synchronous=True) 181s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 181s + _process_batch(self.ui, self.object_store, todo) 181s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 181s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 181s + object_store._remove_loose_object(obj.id) 181s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 181s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 181s + [1] 181s 181s Check the results: 181s 181s @@ -107,28 +176,6 @@ 181s User #3 = user3@example.com 181s user4 = 181s $ git log --pretty='tformat:Commit: %H%nAuthor: %an <%ae>%nCommitter: %cn <%ce>%n---' 181s - Commit: 869e310765d5d7ad92f83bf036e12b0341922a65 181s - Author: test 181s - Committer: test 181s - --- 181s - Commit: b5c0fcb75f876b158ece64859400d36b07570ce9 181s - Author: User #5 181s - Committer: User #5 181s - --- 181s - Commit: 2833824a870810915f7a7a27c05cccad0448bfd7 181s - Author: 181s - Committer: 181s - --- 181s - Commit: fe63bf29ef0bd4af50e85b8aec8d2fbeff255845 181s - Author: user3@example.com 181s - Committer: user3@example.com 181s - --- 181s - Commit: eba936dd13172a2f17936785e3604845aed9170d 181s - Author: user2 181s - Committer: user2 181s - --- 181s - Commit: 796162e5747a7ba57f31fb828b88319caf7b1f7b 181s - Author: User no. 1 181s - Committer: User no. 1 181s - --- 181s + fatal: your current branch 'master' does not have any commits yet 181s + [128] 181s $ cd .. 181s 181s ERROR: test-push-authors.t output changed 182s ! 182s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-orphan-tags.t 182s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-orphan-tags.t.err 182s @@ -62,16 +62,105 @@ 182s 182s $ hg clone -U repo.git hgrepo 182s importing 4 git commits 182s - new changesets b8e77484829b:387d03400596 (4 drafts) 182s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 182s + ** which supports versions 6.9 of Mercurial. 182s + ** Please disable "hggit" and try your action again. 182s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 182s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 182s + ** Mercurial Distributed SCM (version 7.0.1) 182s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 182s + Traceback (most recent call last): 182s + File "/usr/bin/hg", line 51, in 182s + dispatch.run() 182s + ~~~~~~~~~~~~^^ 182s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 182s + status = dispatch(req) 182s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 182s + status = _rundispatch(req) 182s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 182s + ret = _runcatch(req) or 0 182s + ~~~~~~~~~^^^^^ 182s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 182s + return _callcatch(ui, _runcatchfunc) 182s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 182s + return scmutil.callcatch(ui, func) 182s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 182s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 182s + return func() 182s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 182s + return _dispatch(req) 182s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 182s + return runcommand( 182s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 182s + ) 182s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 182s + ret = _runcommand(ui, options, cmd, d) 182s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 182s + return cmdfunc() 182s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 182s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 182s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 182s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 182s + return func(*args, **kwargs) 182s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 182s + r = hg.clone( 182s + ui, 182s + ...<11 lines>... 182s + depth=opts.get('depth') or None, 182s + ) 182s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 182s + srcpeer, destpeer = orig(*args, **opts) 182s + ~~~~^^^^^^^^^^^^^^^ 182s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 182s + exchange.pull( 182s + ~~~~~~~~~~~~~^ 182s + local, 182s + ^^^^^^ 182s + ...<5 lines>... 182s + depth=depth, 182s + ^^^^^^^^^^^^ 182s + ) 182s + ^ 182s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 182s + return f(*args, **kwargs) 182s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 182s + pullop.cgresult = repo.githandler.fetch(remote, heads) 182s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 182s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 182s + imported = self.import_git_objects( 182s + b'pull', 182s + ...<2 lines>... 182s + heads=heads, 182s + ) 182s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 182s + self.import_git_commit( 182s + ~~~~~~~~~~~~~~~~~~~~~~^ 182s + command, 182s + ^^^^^^^^ 182s + self.git[commit.sha], 182s + ^^^^^^^^^^^^^^^^^^^^^ 182s + commit.phase, 182s + ^^^^^^^^^^^^^ 182s + ) 182s + ^ 182s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 182s + files, gitlinks, git_renames = self.get_files_changed( 182s + ~~~~~~~~~~~~~~~~~~~~~~^ 182s + commit, detect_renames 182s + ^^^^^^^^^^^^^^^^^^^^^^ 182s + ) 182s + ^ 182s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 182s + oldfile, oldmode, oldsha = change.old 182s + ^^^^^^^^^^^^^^^^^^^^^^^^ 182s + TypeError: cannot unpack non-iterable NoneType object 182s + [1] 182s $ hg outgoing -R hgrepo 182s - comparing with $TESTTMP/repo.git 182s - searching for changes 182s - no changes found 182s + abort: repository hgrepo not found 182s + [255] 182s + $ hg push --debug -R hgrepo | grep -e reference -e found 182s + abort: repository hgrepo not found 182s [1] 182s - $ hg push --debug -R hgrepo | grep -e reference -e found 182s - unchanged reference default::refs/heads/master => GIT:996e5084 182s - unchanged reference default::refs/tags/the_tag => GIT:e4338156 182s - no changes found 182s 182s Verify that we can push this tag, and that outgoing doesn't report 182s them (#358) 182s @@ -83,33 +172,5 @@ 182s To $TESTTMP/repo.git 182s - [deleted] the_tag 182s $ cd ../hgrepo 182s + $TESTTMP.sh: 72: cd: can't cd to ../hgrepo 182s $ hg outgoing 182s - comparing with $TESTTMP/repo.git 182s - searching for changes 182s - changeset: 2:7b35eb0afb3f 182s - tag: the_tag 182s - user: test 182s - date: Mon Jan 01 00:00:12 2007 +0000 182s - summary: add foo3 182s - 182s - $ hg push --debug 182s - pushing to $TESTTMP/repo.git 182s - finding unexported changesets 182s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 182s - searching for changes 182s - remote: counting objects: 5, done. 182s - 1 commits found 182s - list of commits: 182s - e12852326ef72772e9696b008ad6546b5266ff13 182s - adding objects 182s - remote: counting objects: 5, done. 182s - remote: found 0 deltas to reuse 182s - added 1 commits with 1 trees and 0 blobs 182s - unchanged reference default::refs/heads/master => GIT:996e5084 182s - adding reference default::refs/tags/the_tag => GIT:e4338156 182s - $ cd ../gitrepo 182s - $ git fetch 182s - From $TESTTMP/repo 182s - * [new tag] the_tag -> the_tag 182s - $ git tag -ln 182s - the_tag Tag message 182s 182s ERROR: test-orphan-tags.t output changed 183s ! 183s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push-missing-commit.t 183s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push-missing-commit.t.err 183s @@ -23,74 +23,99 @@ 183s 183s $ hg clone -U repo.git hgrepo 183s importing 1 git commits 183s - new changesets fb68c5a534ce (1 drafts) 183s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 183s + ** which supports versions 6.9 of Mercurial. 183s + ** Please disable "hggit" and try your action again. 183s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 183s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 183s + ** Mercurial Distributed SCM (version 7.0.1) 183s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 183s + Traceback (most recent call last): 183s + File "/usr/bin/hg", line 51, in 183s + dispatch.run() 183s + ~~~~~~~~~~~~^^ 183s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 183s + status = dispatch(req) 183s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 183s + status = _rundispatch(req) 183s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 183s + ret = _runcatch(req) or 0 183s + ~~~~~~~~~^^^^^ 183s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 183s + return _callcatch(ui, _runcatchfunc) 183s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 183s + return scmutil.callcatch(ui, func) 183s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 183s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 183s + return func() 183s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 183s + return _dispatch(req) 183s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 183s + return runcommand( 183s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 183s + ) 183s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 183s + ret = _runcommand(ui, options, cmd, d) 183s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 183s + return cmdfunc() 183s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 183s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 183s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 183s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 183s + return func(*args, **kwargs) 183s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 183s + r = hg.clone( 183s + ui, 183s + ...<11 lines>... 183s + depth=opts.get('depth') or None, 183s + ) 183s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 183s + srcpeer, destpeer = orig(*args, **opts) 183s + ~~~~^^^^^^^^^^^^^^^ 183s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 183s + exchange.pull( 183s + ~~~~~~~~~~~~~^ 183s + local, 183s + ^^^^^^ 183s + ...<5 lines>... 183s + depth=depth, 183s + ^^^^^^^^^^^^ 183s + ) 183s + ^ 183s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 183s + return f(*args, **kwargs) 183s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 183s + pullop.cgresult = repo.githandler.fetch(remote, heads) 183s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 183s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 183s + imported = self.import_git_objects( 183s + b'pull', 183s + ...<2 lines>... 183s + heads=heads, 183s + ) 183s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 183s + self.import_git_commit( 183s + ~~~~~~~~~~~~~~~~~~~~~~^ 183s + command, 183s + ^^^^^^^^ 183s + self.git[commit.sha], 183s + ^^^^^^^^^^^^^^^^^^^^^ 183s + commit.phase, 183s + ^^^^^^^^^^^^^ 183s + ) 183s + ^ 183s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 183s + files, gitlinks, git_renames = self.get_files_changed( 183s + ~~~~~~~~~~~~~~~~~~~~~~^ 183s + commit, detect_renames 183s + ^^^^^^^^^^^^^^^^^^^^^^ 183s + ) 183s + ^ 183s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 183s + oldfile, oldmode, oldsha = change.old 183s + ^^^^^^^^^^^^^^^^^^^^^^^^ 183s + TypeError: cannot unpack non-iterable NoneType object 183s + [1] 183s $ cd hgrepo 183s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 183s $ hg up -q master 183s - $ echo other > thefile 183s - $ fn_hg_commit -m 'change thefile' 183s - $ cd .. 183s - 183s -now remove the git commit from the cache repository used internally by 183s -hg-git — actually, changing `git.intree` is equivalent to this, and how 183s -a user noticed it in #376. 183s - 183s - $ rm -rf hgrepo/.hg/git 183s - 183s -what happens when we push it? 183s - 183s - $ hg -R hgrepo push 183s - pushing to $TESTTMP/repo.git 183s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 183s - abort: cannot push git commit 533d4e670a8b as it is not present locally 183s - (please try pulling first, or as a fallback run git-cleanup to re-export the missing commits) 183s - [255] 183s - 183s -try to follow the hint: 183s - 183s -(and just to see that the warning is useful, try re-resetting first) 183s - 183s - $ rm -rf hgrepo/.hg/git hgrepo/.git 183s - $ hg -R hgrepo pull 183s - pulling from $TESTTMP/repo.git 183s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 183s - no changes found 183s - not updating diverged bookmark master 183s - $ hg -R hgrepo push 183s - pushing to $TESTTMP/repo.git 183s - searching for changes 183s - adding objects 183s - remote: found 0 deltas to reuse 183s - added 1 commits with 1 trees and 1 blobs 183s - updating reference refs/heads/master 183s - 183s -and as an extra test, what if we want to push a commit that's 183s -converted, but gone? 183s - 183s -simply pushing doesn't suffice: 183s - 183s - $ cd hgrepo 183s - $ rm -rf .hg/git 183s - $ hg push 183s - pushing to $TESTTMP/repo.git 183s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 183s - searching for changes 183s - no changes found 183s - [1] 183s - $ cd .. 183s - 183s -but we can't create another commit building on the git history, export 183s -it, and push: 183s - 183s - $ cd hgrepo 183s - $ echo not that > thefile 183s - $ fn_hg_commit -m 'change thefile again' 183s - $ hg gexport 183s - $ rm -rf .hg/git 183s - $ hg push 183s - pushing to $TESTTMP/repo.git 183s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 183s - searching for changes 183s - abort: cannot push git commit 61619410916a as it is not present locally 183s - (please try pulling first, or as a fallback run git-cleanup to re-export the missing commits) 183s - [255] 183s - $ cd .. 183s 183s ERROR: test-push-missing-commit.t output changed 184s ! 184s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-hg-branch.t 184s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-hg-branch.t.err 184s @@ -13,81 +13,100 @@ 184s $ cd .. 184s $ hg clone gitrepo hgrepo 184s importing 1 git commits 184s - new changesets ff7a2f2d8d70 (1 drafts) 184s - updating to bookmark not-master 184s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 184s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 184s + ** which supports versions 6.9 of Mercurial. 184s + ** Please disable "hggit" and try your action again. 184s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 184s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 184s + ** Mercurial Distributed SCM (version 7.0.1) 184s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 184s + Traceback (most recent call last): 184s + File "/usr/bin/hg", line 51, in 184s + dispatch.run() 184s + ~~~~~~~~~~~~^^ 184s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 184s + status = dispatch(req) 184s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 184s + status = _rundispatch(req) 184s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 184s + ret = _runcatch(req) or 0 184s + ~~~~~~~~~^^^^^ 184s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 184s + return _callcatch(ui, _runcatchfunc) 184s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 184s + return scmutil.callcatch(ui, func) 184s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 184s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 184s + return func() 184s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 184s + return _dispatch(req) 184s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 184s + return runcommand( 184s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 184s + ) 184s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 184s + ret = _runcommand(ui, options, cmd, d) 184s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 184s + return cmdfunc() 184s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 184s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 184s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 184s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 184s + return func(*args, **kwargs) 184s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 184s + r = hg.clone( 184s + ui, 184s + ...<11 lines>... 184s + depth=opts.get('depth') or None, 184s + ) 184s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 184s + srcpeer, destpeer = orig(*args, **opts) 184s + ~~~~^^^^^^^^^^^^^^^ 184s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 184s + exchange.pull( 184s + ~~~~~~~~~~~~~^ 184s + local, 184s + ^^^^^^ 184s + ...<5 lines>... 184s + depth=depth, 184s + ^^^^^^^^^^^^ 184s + ) 184s + ^ 184s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 184s + return f(*args, **kwargs) 184s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 184s + pullop.cgresult = repo.githandler.fetch(remote, heads) 184s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 184s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 184s + imported = self.import_git_objects( 184s + b'pull', 184s + ...<2 lines>... 184s + heads=heads, 184s + ) 184s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 184s + self.import_git_commit( 184s + ~~~~~~~~~~~~~~~~~~~~~~^ 184s + command, 184s + ^^^^^^^^ 184s + self.git[commit.sha], 184s + ^^^^^^^^^^^^^^^^^^^^^ 184s + commit.phase, 184s + ^^^^^^^^^^^^^ 184s + ) 184s + ^ 184s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 184s + files, gitlinks, git_renames = self.get_files_changed( 184s + ~~~~~~~~~~~~~~~~~~~~~~^ 184s + commit, detect_renames 184s + ^^^^^^^^^^^^^^^^^^^^^^ 184s + ) 184s + ^ 184s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 184s + oldfile, oldmode, oldsha = change.old 184s + ^^^^^^^^^^^^^^^^^^^^^^^^ 184s + TypeError: cannot unpack non-iterable NoneType object 184s + [1] 184s 184s $ cd hgrepo 184s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 184s $ hg co master 184s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 184s - (activating bookmark master) 184s - $ hg mv alpha beta 184s - $ fn_hg_commit -m 'rename alpha to beta' 184s - $ hg push 184s - pushing to $TESTTMP/gitrepo 184s - searching for changes 184s - adding objects 184s - remote: found 0 deltas to reuse 184s - added 1 commits with 1 trees and 0 blobs 184s - updating reference refs/heads/master 184s - 184s - $ hg branch gamma | grep -v 'permanent and global' 184s - marked working directory as branch gamma 184s - $ fn_hg_commit -m 'started branch gamma' 184s - $ hg push 184s - pushing to $TESTTMP/gitrepo 184s - searching for changes 184s - adding objects 184s - remote: found 0 deltas to reuse 184s - added 1 commits with 1 trees and 0 blobs 184s - updating reference refs/heads/master 184s - 184s - $ hg log --graph 184s - @ changeset: 2:400db38f4f64 184s - | branch: gamma 184s - | bookmark: master 184s - | tag: default/master 184s - | tag: tip 184s - | user: test 184s - | date: Mon Jan 01 00:00:12 2007 +0000 184s - | summary: started branch gamma 184s - | 184s - o changeset: 1:3baa67317a4d 184s - | user: test 184s - | date: Mon Jan 01 00:00:11 2007 +0000 184s - | summary: rename alpha to beta 184s - | 184s - o changeset: 0:ff7a2f2d8d70 184s - bookmark: not-master 184s - tag: default/not-master 184s - user: test 184s - date: Mon Jan 01 00:00:10 2007 +0000 184s - summary: add alpha 184s - 184s - 184s - $ cd .. 184s - $ hg clone -U gitrepo hgrepo2 184s - importing 3 git commits 184s - new changesets ff7a2f2d8d70:400db38f4f64 (3 drafts) 184s - $ hg -R hgrepo2 log --graph 184s - o changeset: 2:400db38f4f64 184s - | branch: gamma 184s - | bookmark: master 184s - | tag: default/master 184s - | tag: tip 184s - | user: test 184s - | date: Mon Jan 01 00:00:12 2007 +0000 184s - | summary: started branch gamma 184s - | 184s - o changeset: 1:3baa67317a4d 184s - | user: test 184s - | date: Mon Jan 01 00:00:11 2007 +0000 184s - | summary: rename alpha to beta 184s - | 184s - o changeset: 0:ff7a2f2d8d70 184s - bookmark: not-master 184s - tag: default/not-master 184s - user: test 184s - date: Mon Jan 01 00:00:10 2007 +0000 184s - summary: add alpha 184s - 184s 184s ERROR: test-hg-branch.t output changed 185s ! 185s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-pull-after-strip.t 185s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-pull-after-strip.t.err 185s @@ -16,81 +16,99 @@ 185s $ cd .. 185s $ hg clone -U gitrepo hgrepo 185s importing 2 git commits 185s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 185s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 185s + ** which supports versions 6.9 of Mercurial. 185s + ** Please disable "hggit" and try your action again. 185s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 185s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 185s + ** Mercurial Distributed SCM (version 7.0.1) 185s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 185s + Traceback (most recent call last): 185s + File "/usr/bin/hg", line 51, in 185s + dispatch.run() 185s + ~~~~~~~~~~~~^^ 185s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 185s + status = dispatch(req) 185s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 185s + status = _rundispatch(req) 185s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 185s + ret = _runcatch(req) or 0 185s + ~~~~~~~~~^^^^^ 185s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 185s + return _callcatch(ui, _runcatchfunc) 185s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 185s + return scmutil.callcatch(ui, func) 185s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 185s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 185s + return func() 185s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 185s + return _dispatch(req) 185s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 185s + return runcommand( 185s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 185s + ) 185s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 185s + ret = _runcommand(ui, options, cmd, d) 185s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 185s + return cmdfunc() 185s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 185s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 185s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 185s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 185s + return func(*args, **kwargs) 185s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 185s + r = hg.clone( 185s + ui, 185s + ...<11 lines>... 185s + depth=opts.get('depth') or None, 185s + ) 185s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 185s + srcpeer, destpeer = orig(*args, **opts) 185s + ~~~~^^^^^^^^^^^^^^^ 185s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 185s + exchange.pull( 185s + ~~~~~~~~~~~~~^ 185s + local, 185s + ^^^^^^ 185s + ...<5 lines>... 185s + depth=depth, 185s + ^^^^^^^^^^^^ 185s + ) 185s + ^ 185s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 185s + return f(*args, **kwargs) 185s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 185s + pullop.cgresult = repo.githandler.fetch(remote, heads) 185s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 185s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 185s + imported = self.import_git_objects( 185s + b'pull', 185s + ...<2 lines>... 185s + heads=heads, 185s + ) 185s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 185s + self.import_git_commit( 185s + ~~~~~~~~~~~~~~~~~~~~~~^ 185s + command, 185s + ^^^^^^^^ 185s + self.git[commit.sha], 185s + ^^^^^^^^^^^^^^^^^^^^^ 185s + commit.phase, 185s + ^^^^^^^^^^^^^ 185s + ) 185s + ^ 185s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 185s + files, gitlinks, git_renames = self.get_files_changed( 185s + ~~~~~~~~~~~~~~~~~~~~~~^ 185s + commit, detect_renames 185s + ^^^^^^^^^^^^^^^^^^^^^^ 185s + ) 185s + ^ 185s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 185s + oldfile, oldmode, oldsha = change.old 185s + ^^^^^^^^^^^^^^^^^^^^^^^^ 185s + TypeError: cannot unpack non-iterable NoneType object 185s + [1] 185s $ cd hgrepo 185s + $TESTTMP.sh: 26: cd: can't cd to hgrepo 185s $ hg up master 185s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 185s - (activating bookmark master) 185s - $ hg log --graph 185s - @ changeset: 1:7fe02317c63d 185s - | bookmark: master 185s - | tag: default/master 185s - | tag: thetag 185s - | tag: tip 185s - | user: test 185s - | date: Mon Jan 01 00:00:11 2007 +0000 185s - | summary: add beta 185s - | 185s - o changeset: 0:ff7a2f2d8d70 185s - user: test 185s - date: Mon Jan 01 00:00:10 2007 +0000 185s - summary: add alpha 185s - 185s - $ cd ../gitrepo 185s - $ echo beta line 2 >> beta 185s - $ git add beta 185s - $ fn_git_commit -m 'add to beta' 185s - 185s - $ cd .. 185s - $ cd hgrepo 185s - $ hg debugstrip --no-backup tip 185s - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 185s - $ hg pull 185s - pulling from $TESTTMP/gitrepo 185s - importing 1 git commits 185s - abort: you appear to have run strip - please run hg git-cleanup 185s - [255] 185s - $ hg tags 185s - tip 0:ff7a2f2d8d70 185s - $ hg git-cleanup 185s - git commit map cleaned 185s - 185s -pull works after 'hg git-cleanup' 185s - 185s - $ hg pull 185s - pulling from $TESTTMP/gitrepo 185s - importing 2 git commits 185s - updating bookmark master 185s - new changesets 7fe02317c63d:cc1e605d90db (2 drafts) 185s - (run 'hg update' to get a working copy) 185s - $ hg log --graph 185s - o changeset: 2:cc1e605d90db 185s - | bookmark: master 185s - | tag: default/master 185s - | tag: tip 185s - | user: test 185s - | date: Mon Jan 01 00:00:12 2007 +0000 185s - | summary: add to beta 185s - | 185s - o changeset: 1:7fe02317c63d 185s - | tag: thetag 185s - | user: test 185s - | date: Mon Jan 01 00:00:11 2007 +0000 185s - | summary: add beta 185s - | 185s - @ changeset: 0:ff7a2f2d8d70 185s - user: test 185s - date: Mon Jan 01 00:00:10 2007 +0000 185s - summary: add alpha 185s - 185s - 185s - $ cd .. 185s - 185s -Check that we also remove bad refs: 185s - 185s - $ cd hgrepo 185s - $ echo e93b671cb24bff41779187edff99178e2597c2 > .hg/git/refs/tags/bad-tag 185s - $ hg git-cleanup 185s - git commit map cleaned 185s - $ test -e .hg/git/refs/tags/bad-tag 185s - [1] 185s 185s ERROR: test-pull-after-strip.t output changed 186s ! 186s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-subrepos-syntax.t 186s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-subrepos-syntax.t.err 186s @@ -39,53 +39,99 @@ 186s 186s $ hg clone -U repo.git hgrepo 186s importing 3 git commits 186s - new changesets e532b2bfda10:3c4fd561cbeb (3 drafts) 186s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 186s + ** which supports versions 6.9 of Mercurial. 186s + ** Please disable "hggit" and try your action again. 186s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 186s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 186s + ** Mercurial Distributed SCM (version 7.0.1) 186s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 186s + Traceback (most recent call last): 186s + File "/usr/bin/hg", line 51, in 186s + dispatch.run() 186s + ~~~~~~~~~~~~^^ 186s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 186s + status = dispatch(req) 186s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 186s + status = _rundispatch(req) 186s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 186s + ret = _runcatch(req) or 0 186s + ~~~~~~~~~^^^^^ 186s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 186s + return _callcatch(ui, _runcatchfunc) 186s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 186s + return scmutil.callcatch(ui, func) 186s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 186s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 186s + return func() 186s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 186s + return _dispatch(req) 186s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 186s + return runcommand( 186s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 186s + ) 186s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 186s + ret = _runcommand(ui, options, cmd, d) 186s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 186s + return cmdfunc() 186s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 186s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 186s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 186s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 186s + return func(*args, **kwargs) 186s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 186s + r = hg.clone( 186s + ui, 186s + ...<11 lines>... 186s + depth=opts.get('depth') or None, 186s + ) 186s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 186s + srcpeer, destpeer = orig(*args, **opts) 186s + ~~~~^^^^^^^^^^^^^^^ 186s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 186s + exchange.pull( 186s + ~~~~~~~~~~~~~^ 186s + local, 186s + ^^^^^^ 186s + ...<5 lines>... 186s + depth=depth, 186s + ^^^^^^^^^^^^ 186s + ) 186s + ^ 186s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 186s + return f(*args, **kwargs) 186s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 186s + pullop.cgresult = repo.githandler.fetch(remote, heads) 186s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 186s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 186s + imported = self.import_git_objects( 186s + b'pull', 186s + ...<2 lines>... 186s + heads=heads, 186s + ) 186s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 186s + self.import_git_commit( 186s + ~~~~~~~~~~~~~~~~~~~~~~^ 186s + command, 186s + ^^^^^^^^ 186s + self.git[commit.sha], 186s + ^^^^^^^^^^^^^^^^^^^^^ 186s + commit.phase, 186s + ^^^^^^^^^^^^^ 186s + ) 186s + ^ 186s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 186s + files, gitlinks, git_renames = self.get_files_changed( 186s + ~~~~~~~~~~~~~~~~~~~~~~^ 186s + commit, detect_renames 186s + ^^^^^^^^^^^^^^^^^^^^^^ 186s + ) 186s + ^ 186s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 186s + oldfile, oldmode, oldsha = change.old 186s + ^^^^^^^^^^^^^^^^^^^^^^^^ 186s + TypeError: cannot unpack non-iterable NoneType object 186s + [1] 186s $ cd hgrepo 186s + $TESTTMP.sh: 42: cd: can't cd to hgrepo 186s $ hg up master 186s - Cloning into '$TESTTMP/hgrepo/subrepo1'... 186s - done. 186s - Cloning into '$TESTTMP/hgrepo/xyz/subrepo2'... 186s - done. 186s - cloning subrepo subrepo1 from $TESTTMP/gitsubrepo 186s - cloning subrepo xyz/subrepo2 from $TESTTMP/gitsubrepo 186s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 186s - (activating bookmark master) 186s - $ cat >> .hgsub < # this is a comment 186s - > [subpaths] 186s - > flaf = blyf 186s - > EOF 186s - $ fn_hg_commit -m 'add comment & subsection' 186s - $ hg push 186s - pushing to $TESTTMP/repo.git 186s - searching for changes 186s - adding objects 186s - remote: found 0 deltas to reuse 186s - added 1 commits with 1 trees and 0 blobs 186s - updating reference refs/heads/master 186s - $ cd .. 186s - 186s - $ cd gitrepo 186s - $ git pull --ff-only 186s - From $TESTTMP/repo 186s - 89c22d7..106b34e master -> origin/master 186s - Updating 89c22d7..106b34e 186s - Fast-forward 186s - $ cat .gitmodules 186s - [submodule "subrepo1"] 186s - path = subrepo1 186s - url = ../gitsubrepo 186s - [submodule "xyz/subrepo2"] 186s - path = xyz/subrepo2 186s - url = ../gitsubrepo 186s - $ cd .. 186s - 186s -We broke bidirectionality: 186s - 186s - $ hg clone -U repo.git hgrepo2 186s - importing 4 git commits 186s - new changesets e532b2bfda10:cbf584fe001b (4 drafts) 186s - $ hg id -r tip hgrepo 186s - c58a542b18bc default/master/tip master 186s - $ hg id -r tip hgrepo2 186s - cbf584fe001b default/master/tip master 186s 186s ERROR: test-subrepos-syntax.t output changed 189s ! 189s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-multiple-remotes.t 189s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-multiple-remotes.t.err 189s @@ -28,50 +28,175 @@ 189s $ hg pull 189s pulling from $TESTTMP/gitrepo 189s importing 1 git commits 189s - adding bookmark master 189s - adding bookmark not-master 189s - new changesets ff7a2f2d8d70 (1 drafts) 189s - (run 'hg update' to get a working copy) 189s - pulling from $TESTTMP/repo.git 189s - no changes found 189s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 189s + ** which supports versions 6.9 of Mercurial. 189s + ** Please disable "hggit" and try your action again. 189s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 189s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 189s + ** Mercurial Distributed SCM (version 7.0.1) 189s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 189s + Traceback (most recent call last): 189s + File "/usr/bin/hg", line 51, in 189s + dispatch.run() 189s + ~~~~~~~~~~~~^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 189s + status = dispatch(req) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 189s + status = _rundispatch(req) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 189s + ret = _runcatch(req) or 0 189s + ~~~~~~~~~^^^^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 189s + return _callcatch(ui, _runcatchfunc) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 189s + return scmutil.callcatch(ui, func) 189s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 189s + return func() 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 189s + return _dispatch(req) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 189s + return runcommand( 189s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 189s + ) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 189s + ret = _runcommand(ui, options, cmd, d) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 189s + return cmdfunc() 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 189s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 189s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 189s + return func(*args, **kwargs) 189s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 189s + modheads = exchange.pull( 189s + ~~~~~~~~~~~~~^ 189s + repo, 189s + ^^^^^ 189s + ...<6 lines>... 189s + confirm=opts.get('confirm'), 189s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 189s + ).cgresult 189s + ^ 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 189s + return f(*args, **kwargs) 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 189s + pullop.cgresult = repo.githandler.fetch(remote, heads) 189s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 189s + imported = self.import_git_objects( 189s + b'pull', 189s + ...<2 lines>... 189s + heads=heads, 189s + ) 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 189s + self.import_git_commit( 189s + ~~~~~~~~~~~~~~~~~~~~~~^ 189s + command, 189s + ^^^^^^^^ 189s + self.git[commit.sha], 189s + ^^^^^^^^^^^^^^^^^^^^^ 189s + commit.phase, 189s + ^^^^^^^^^^^^^ 189s + ) 189s + ^ 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 189s + files, gitlinks, git_renames = self.get_files_changed( 189s + ~~~~~~~~~~~~~~~~~~~~~~^ 189s + commit, detect_renames 189s + ^^^^^^^^^^^^^^^^^^^^^^ 189s + ) 189s + ^ 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 189s + oldfile, oldmode, oldsha = change.old 189s + ^^^^^^^^^^^^^^^^^^^^^^^^ 189s + TypeError: cannot unpack non-iterable NoneType object 189s + [1] 189s $ hg tags 189s - tip 0:ff7a2f2d8d70 189s - git/not-master 0:ff7a2f2d8d70 189s - git/master 0:ff7a2f2d8d70 189s - bare/not-master 0:ff7a2f2d8d70 189s - bare/master 0:ff7a2f2d8d70 189s - also-git/not-master 0:ff7a2f2d8d70 189s - also-git/master 0:ff7a2f2d8d70 189s - also-bare/not-master 0:ff7a2f2d8d70 189s - also-bare/master 0:ff7a2f2d8d70 189s + tip -1:000000000000 189s 189s $ hg up master 189s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 189s - (activating bookmark master) 189s + abort: unknown revision 'master' 189s + [10] 189s $ echo beta > beta 189s $ fn_hg_commit -A -m "add beta" 189s $ hg push 189s pushing to $TESTTMP/gitrepo 189s - searching for changes 189s - adding objects 189s - remote: found 0 deltas to reuse 189s - added 1 commits with 1 trees and 1 blobs 189s - updating reference refs/heads/master 189s - pushing to $TESTTMP/repo.git 189s - searching for changes 189s - adding objects 189s - remote: found 0 deltas to reuse 189s - added 1 commits with 1 trees and 1 blobs 189s - updating reference refs/heads/master 189s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 189s + ** which supports versions 6.9 of Mercurial. 189s + ** Please disable "hggit" and try your action again. 189s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 189s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 189s + ** Mercurial Distributed SCM (version 7.0.1) 189s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 189s + Traceback (most recent call last): 189s + File "/usr/bin/hg", line 51, in 189s + dispatch.run() 189s + ~~~~~~~~~~~~^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 189s + status = dispatch(req) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 189s + status = _rundispatch(req) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 189s + ret = _runcatch(req) or 0 189s + ~~~~~~~~~^^^^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 189s + return _callcatch(ui, _runcatchfunc) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 189s + return scmutil.callcatch(ui, func) 189s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 189s + return func() 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 189s + return _dispatch(req) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 189s + return runcommand( 189s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 189s + ) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 189s + ret = _runcommand(ui, options, cmd, d) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 189s + return cmdfunc() 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 189s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 189s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 189s + return func(*args, **kwargs) 189s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 189s + pushop = exchange.push( 189s + repo, 189s + ...<6 lines>... 189s + opargs=opargs, 189s + ) 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 189s + return f(*args, **kwargs) 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 189s + pushop.cgresult = repo.githandler.push( 189s + ~~~~~~~~~~~~~~~~~~~~^ 189s + remote.path, revs, bookmarks, force 189s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 189s + ) 189s + ^ 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 189s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 189s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 189s + all_exportable = self.export_commits() 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 189s + self.export_git_objects() 189s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 189s + packer.pack(synchronous=True) 189s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 189s + _process_batch(self.ui, self.object_store, todo) 189s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 189s + object_store._remove_loose_object(obj.id) 189s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 189s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 189s + [1] 189s 189s $ hg tags 189s - tip 1:47580592d3d6 189s - git/master 1:47580592d3d6 189s - bare/master 1:47580592d3d6 189s - also-git/master 1:47580592d3d6 189s - also-bare/master 1:47580592d3d6 189s - git/not-master 0:ff7a2f2d8d70 189s - bare/not-master 0:ff7a2f2d8d70 189s - also-git/not-master 0:ff7a2f2d8d70 189s - also-bare/not-master 0:ff7a2f2d8d70 189s - 189s + tip 0:59e1f63242de 189s + 189s 189s ERROR: test-multiple-remotes.t output changed 189s ! 189s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-gitignore.t 189s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-gitignore.t.err 189s @@ -27,6 +27,63 @@ 189s it's gone: 189s 189s $ hg gexport 189s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 189s + ** which supports versions 6.9 of Mercurial. 189s + ** Please disable "hggit" and try your action again. 189s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 189s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 189s + ** Mercurial Distributed SCM (version 7.0.1) 189s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 189s + Traceback (most recent call last): 189s + File "/usr/bin/hg", line 51, in 189s + dispatch.run() 189s + ~~~~~~~~~~~~^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 189s + status = dispatch(req) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 189s + status = _rundispatch(req) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 189s + ret = _runcatch(req) or 0 189s + ~~~~~~~~~^^^^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 189s + return _callcatch(ui, _runcatchfunc) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 189s + return scmutil.callcatch(ui, func) 189s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 189s + return func() 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 189s + return _dispatch(req) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 189s + return runcommand( 189s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 189s + ) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 189s + ret = _runcommand(ui, options, cmd, d) 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 189s + return cmdfunc() 189s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 189s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 189s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 189s + return func(*args, **kwargs) 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 64, in gexport 189s + repo.githandler.export_commits() 189s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 189s + self.export_git_objects() 189s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 189s + packer.pack(synchronous=True) 189s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 189s + _process_batch(self.ui, self.object_store, todo) 189s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 189s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 189s + object_store._remove_loose_object(obj.id) 189s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 189s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 189s + [1] 189s $ hg status 189s ? .gitignore 189s ? bar 189s 189s ERROR: test-gitignore.t output changed 190s ! 190s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-merge.t 190s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-merge.t.err 190s @@ -31,59 +31,101 @@ 190s 190s $ hg clone gitrepo hgrepo 190s importing 4 git commits 190s - new changesets ff7a2f2d8d70:89ca4a68d6b9 (4 drafts) 190s - updating to bookmark master 190s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 190s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 190s + ** which supports versions 6.9 of Mercurial. 190s + ** Please disable "hggit" and try your action again. 190s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 190s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 190s + ** Mercurial Distributed SCM (version 7.0.1) 190s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 190s + Traceback (most recent call last): 190s + File "/usr/bin/hg", line 51, in 190s + dispatch.run() 190s + ~~~~~~~~~~~~^^ 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 190s + status = dispatch(req) 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 190s + status = _rundispatch(req) 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 190s + ret = _runcatch(req) or 0 190s + ~~~~~~~~~^^^^^ 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 190s + return _callcatch(ui, _runcatchfunc) 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 190s + return scmutil.callcatch(ui, func) 190s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 190s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 190s + return func() 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 190s + return _dispatch(req) 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 190s + return runcommand( 190s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 190s + ) 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 190s + ret = _runcommand(ui, options, cmd, d) 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 190s + return cmdfunc() 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 190s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 190s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 190s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 190s + return func(*args, **kwargs) 190s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 190s + r = hg.clone( 190s + ui, 190s + ...<11 lines>... 190s + depth=opts.get('depth') or None, 190s + ) 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 190s + srcpeer, destpeer = orig(*args, **opts) 190s + ~~~~^^^^^^^^^^^^^^^ 190s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 190s + exchange.pull( 190s + ~~~~~~~~~~~~~^ 190s + local, 190s + ^^^^^^ 190s + ...<5 lines>... 190s + depth=depth, 190s + ^^^^^^^^^^^^ 190s + ) 190s + ^ 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 190s + return f(*args, **kwargs) 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 190s + pullop.cgresult = repo.githandler.fetch(remote, heads) 190s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 190s + imported = self.import_git_objects( 190s + b'pull', 190s + ...<2 lines>... 190s + heads=heads, 190s + ) 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 190s + self.import_git_commit( 190s + ~~~~~~~~~~~~~~~~~~~~~~^ 190s + command, 190s + ^^^^^^^^ 190s + self.git[commit.sha], 190s + ^^^^^^^^^^^^^^^^^^^^^ 190s + commit.phase, 190s + ^^^^^^^^^^^^^ 190s + ) 190s + ^ 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 190s + files, gitlinks, git_renames = self.get_files_changed( 190s + ~~~~~~~~~~~~~~~~~~~~~~^ 190s + commit, detect_renames 190s + ^^^^^^^^^^^^^^^^^^^^^^ 190s + ) 190s + ^ 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 190s + oldfile, oldmode, oldsha = change.old 190s + ^^^^^^^^^^^^^^^^^^^^^^^^ 190s + TypeError: cannot unpack non-iterable NoneType object 190s + [1] 190s $ cd hgrepo 190s + $TESTTMP.sh: 40: cd: can't cd to hgrepo 190s 190s clear the cache to be sure it is regenerated correctly 190s $ hg debug-remove-hggit-state 190s - clearing out the git cache data 190s - $ hg push ../repo.git 190s - pushing to ../repo.git 190s - searching for changes 190s - adding objects 190s - remote: found 0 deltas to reuse 190s - added 4 commits with 4 trees and 3 blobs 190s - adding reference refs/heads/beta 190s - adding reference refs/heads/master 190s - 190s - $ cd .. 190s -git log in repo pushed from hg 190s - $ git --git-dir=repo.git log --pretty=medium master | sed 's/\.\.\.//g' 190s - commit 5806851511aaf3bfe813ae3a86c5027165fa9b96 190s - Merge: e5023f9 9497a4e 190s - Author: test 190s - Date: Mon Jan 1 00:00:12 2007 +0000 190s - 190s - Merge branch 'beta' 190s - 190s - commit e5023f9e5cb24fdcec7b6c127cec45d8888e35a9 190s - Author: test 190s - Date: Mon Jan 1 00:00:12 2007 +0000 190s - 190s - add gamma 190s - 190s - commit 9497a4ee62e16ee641860d7677cdb2589ea15554 190s - Author: test 190s - Date: Mon Jan 1 00:00:11 2007 +0000 190s - 190s - add beta 190s - 190s - commit 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 190s - Author: test 190s - Date: Mon Jan 1 00:00:10 2007 +0000 190s - 190s - add alpha 190s - $ git --git-dir=repo.git log --pretty=medium beta | sed 's/\.\.\.//g' 190s - commit 9497a4ee62e16ee641860d7677cdb2589ea15554 190s - Author: test 190s - Date: Mon Jan 1 00:00:11 2007 +0000 190s - 190s - add beta 190s - 190s - commit 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 190s - Author: test 190s - Date: Mon Jan 1 00:00:10 2007 +0000 190s - 190s - add alpha 190s 190s ERROR: test-merge.t output changed 190s ! 190s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-hg-tags.t 190s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-hg-tags.t.err 190s @@ -17,68 +17,100 @@ 190s $ cd .. 190s $ hg clone -U repo.git hgrepo 190s importing 1 git commits 190s - new changesets ff7a2f2d8d70 (1 drafts) 190s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 190s + ** which supports versions 6.9 of Mercurial. 190s + ** Please disable "hggit" and try your action again. 190s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 190s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 190s + ** Mercurial Distributed SCM (version 7.0.1) 190s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 190s + Traceback (most recent call last): 190s + File "/usr/bin/hg", line 51, in 190s + dispatch.run() 190s + ~~~~~~~~~~~~^^ 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 190s + status = dispatch(req) 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 190s + status = _rundispatch(req) 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 190s + ret = _runcatch(req) or 0 190s + ~~~~~~~~~^^^^^ 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 190s + return _callcatch(ui, _runcatchfunc) 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 190s + return scmutil.callcatch(ui, func) 190s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 190s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 190s + return func() 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 190s + return _dispatch(req) 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 190s + return runcommand( 190s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 190s + ) 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 190s + ret = _runcommand(ui, options, cmd, d) 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 190s + return cmdfunc() 190s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 190s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 190s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 190s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 190s + return func(*args, **kwargs) 190s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 190s + r = hg.clone( 190s + ui, 190s + ...<11 lines>... 190s + depth=opts.get('depth') or None, 190s + ) 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 190s + srcpeer, destpeer = orig(*args, **opts) 190s + ~~~~^^^^^^^^^^^^^^^ 190s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 190s + exchange.pull( 190s + ~~~~~~~~~~~~~^ 190s + local, 190s + ^^^^^^ 190s + ...<5 lines>... 190s + depth=depth, 190s + ^^^^^^^^^^^^ 190s + ) 190s + ^ 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 190s + return f(*args, **kwargs) 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 190s + pullop.cgresult = repo.githandler.fetch(remote, heads) 190s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 190s + imported = self.import_git_objects( 190s + b'pull', 190s + ...<2 lines>... 190s + heads=heads, 190s + ) 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 190s + self.import_git_commit( 190s + ~~~~~~~~~~~~~~~~~~~~~~^ 190s + command, 190s + ^^^^^^^^ 190s + self.git[commit.sha], 190s + ^^^^^^^^^^^^^^^^^^^^^ 190s + commit.phase, 190s + ^^^^^^^^^^^^^ 190s + ) 190s + ^ 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 190s + files, gitlinks, git_renames = self.get_files_changed( 190s + ~~~~~~~~~~~~~~~~~~~~~~^ 190s + commit, detect_renames 190s + ^^^^^^^^^^^^^^^^^^^^^^ 190s + ) 190s + ^ 190s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 190s + oldfile, oldmode, oldsha = change.old 190s + ^^^^^^^^^^^^^^^^^^^^^^^^ 190s + TypeError: cannot unpack non-iterable NoneType object 190s + [1] 190s 190s $ cd hgrepo 190s + $TESTTMP.sh: 22: cd: can't cd to hgrepo 190s $ hg co master 190s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 190s - (activating bookmark master) 190s - $ fn_hg_tag alpha 190s - $ hg push 190s - pushing to $TESTTMP/repo.git 190s - searching for changes 190s - adding objects 190s - remote: found 0 deltas to reuse 190s - added 1 commits with 1 trees and 1 blobs 190s - updating reference refs/heads/master 190s - adding reference refs/tags/alpha 190s - 190s - $ hg log --graph 190s - @ changeset: 1:e8b150f84560 190s - | bookmark: master 190s - | tag: default/master 190s - | tag: tip 190s - | user: test 190s - | date: Mon Jan 01 00:00:11 2007 +0000 190s - | summary: Added tag alpha for changeset ff7a2f2d8d70 190s - | 190s - o changeset: 0:ff7a2f2d8d70 190s - tag: alpha 190s - user: test 190s - date: Mon Jan 01 00:00:10 2007 +0000 190s - summary: add alpha 190s - 190s - 190s - $ cd .. 190s - $ cd gitrepo 190s -git should have the tag alpha 190s - $ git fetch origin 190s - From $TESTTMP/repo 190s - 7eeab2e..bbae830 master -> origin/master 190s - * [new tag] alpha -> alpha 190s - $ cd .. 190s - 190s - $ hg clone repo.git hgrepo2 190s - importing 2 git commits 190s - new changesets ff7a2f2d8d70:e8b150f84560 (2 drafts) 190s - updating to bookmark master 190s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 190s - $ hg -R hgrepo2 log --graph 190s - @ changeset: 1:e8b150f84560 190s - | bookmark: master 190s - | tag: default/master 190s - | tag: tip 190s - | user: test 190s - | date: Mon Jan 01 00:00:11 2007 +0000 190s - | summary: Added tag alpha for changeset ff7a2f2d8d70 190s - | 190s - o changeset: 0:ff7a2f2d8d70 190s - tag: alpha 190s - user: test 190s - date: Mon Jan 01 00:00:10 2007 +0000 190s - summary: add alpha 190s - 190s - 190s -the tag should be in .hgtags 190s - $ cat hgrepo2/.hgtags 190s - ff7a2f2d8d7099694ae1e8b03838d40575bebb63 alpha 190s 190s ERROR: test-hg-tags.t output changed 191s ! 191s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push-detached.t 191s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push-detached.t.err 191s @@ -41,36 +41,99 @@ 191s 191s $ hg clone gitrepo hgrepo 191s importing 1 git commits 191s - new changesets ff7a2f2d8d70 (1 drafts) 191s - updating to bookmark master 191s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 191s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 191s + ** which supports versions 6.9 of Mercurial. 191s + ** Please disable "hggit" and try your action again. 191s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 191s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 191s + ** Mercurial Distributed SCM (version 7.0.1) 191s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 191s + Traceback (most recent call last): 191s + File "/usr/bin/hg", line 51, in 191s + dispatch.run() 191s + ~~~~~~~~~~~~^^ 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 191s + status = dispatch(req) 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 191s + status = _rundispatch(req) 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 191s + ret = _runcatch(req) or 0 191s + ~~~~~~~~~^^^^^ 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 191s + return _callcatch(ui, _runcatchfunc) 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 191s + return scmutil.callcatch(ui, func) 191s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 191s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 191s + return func() 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 191s + return _dispatch(req) 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 191s + return runcommand( 191s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 191s + ) 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 191s + ret = _runcommand(ui, options, cmd, d) 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 191s + return cmdfunc() 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 191s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 191s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 191s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 191s + return func(*args, **kwargs) 191s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 191s + r = hg.clone( 191s + ui, 191s + ...<11 lines>... 191s + depth=opts.get('depth') or None, 191s + ) 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 191s + srcpeer, destpeer = orig(*args, **opts) 191s + ~~~~^^^^^^^^^^^^^^^ 191s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 191s + exchange.pull( 191s + ~~~~~~~~~~~~~^ 191s + local, 191s + ^^^^^^ 191s + ...<5 lines>... 191s + depth=depth, 191s + ^^^^^^^^^^^^ 191s + ) 191s + ^ 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 191s + return f(*args, **kwargs) 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 191s + pullop.cgresult = repo.githandler.fetch(remote, heads) 191s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 191s + imported = self.import_git_objects( 191s + b'pull', 191s + ...<2 lines>... 191s + heads=heads, 191s + ) 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 191s + self.import_git_commit( 191s + ~~~~~~~~~~~~~~~~~~~~~~^ 191s + command, 191s + ^^^^^^^^ 191s + self.git[commit.sha], 191s + ^^^^^^^^^^^^^^^^^^^^^ 191s + commit.phase, 191s + ^^^^^^^^^^^^^ 191s + ) 191s + ^ 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 191s + files, gitlinks, git_renames = self.get_files_changed( 191s + ~~~~~~~~~~~~~~~~~~~~~~^ 191s + commit, detect_renames 191s + ^^^^^^^^^^^^^^^^^^^^^^ 191s + ) 191s + ^ 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 191s + oldfile, oldmode, oldsha = change.old 191s + ^^^^^^^^^^^^^^^^^^^^^^^^ 191s + TypeError: cannot unpack non-iterable NoneType object 191s + [1] 191s $ cd hgrepo 191s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 191s $ echo beta > beta 191s - $ hg add beta 191s - $ fn_hg_commit -m "add beta" 191s - 191s -Pushing that changeset, with phases, publishes the detached HEAD. 191s -Whether this should happen is debatable, but it's a side effect from 191s -the fact that pushing to the remote HEAD, with HEAD being the usual 191s -symref, should publish it. 191s - 191s - $ hg push -v --config hggit.usephases=yes 191s - pushing to $TESTTMP/gitrepo 191s - finding unexported changesets 191s - exporting 1 changesets 191s - converting revision 47580592d3d6492421a1e6cebc5c2d701a2e858b 191s - packing 3 loose objects... 191s - searching for changes 191s - remote: counting objects: 5, done. 191s - 1 commits found 191s - adding objects 191s - remote: counting objects: 5, done. 191s - remote: found 0 deltas to reuse 191s - added 1 commits with 1 trees and 1 blobs 191s - updating reference default::refs/heads/master => GIT:0f378ab6 191s - publishing remote HEAD 191s - $ hg phase 'all()' 191s - 0: public 191s - 1: draft 191s - $ cd .. 191s - 191s 191s ERROR: test-push-detached.t output changed 191s ! 191s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-hg-clone.t 191s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-hg-clone.t.err 191s @@ -12,87 +12,106 @@ 191s 191s $ hg clone -U gitrepo hgrepo 191s importing 1 git commits 191s - new changesets ff7a2f2d8d70 (1 drafts) 191s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 191s + ** which supports versions 6.9 of Mercurial. 191s + ** Please disable "hggit" and try your action again. 191s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 191s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 191s + ** Mercurial Distributed SCM (version 7.0.1) 191s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 191s + Traceback (most recent call last): 191s + File "/usr/bin/hg", line 51, in 191s + dispatch.run() 191s + ~~~~~~~~~~~~^^ 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 191s + status = dispatch(req) 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 191s + status = _rundispatch(req) 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 191s + ret = _runcatch(req) or 0 191s + ~~~~~~~~~^^^^^ 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 191s + return _callcatch(ui, _runcatchfunc) 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 191s + return scmutil.callcatch(ui, func) 191s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 191s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 191s + return func() 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 191s + return _dispatch(req) 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 191s + return runcommand( 191s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 191s + ) 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 191s + ret = _runcommand(ui, options, cmd, d) 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 191s + return cmdfunc() 191s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 191s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 191s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 191s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 191s + return func(*args, **kwargs) 191s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 191s + r = hg.clone( 191s + ui, 191s + ...<11 lines>... 191s + depth=opts.get('depth') or None, 191s + ) 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 191s + srcpeer, destpeer = orig(*args, **opts) 191s + ~~~~^^^^^^^^^^^^^^^ 191s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 191s + exchange.pull( 191s + ~~~~~~~~~~~~~^ 191s + local, 191s + ^^^^^^ 191s + ...<5 lines>... 191s + depth=depth, 191s + ^^^^^^^^^^^^ 191s + ) 191s + ^ 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 191s + return f(*args, **kwargs) 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 191s + pullop.cgresult = repo.githandler.fetch(remote, heads) 191s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 191s + imported = self.import_git_objects( 191s + b'pull', 191s + ...<2 lines>... 191s + heads=heads, 191s + ) 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 191s + self.import_git_commit( 191s + ~~~~~~~~~~~~~~~~~~~~~~^ 191s + command, 191s + ^^^^^^^^ 191s + self.git[commit.sha], 191s + ^^^^^^^^^^^^^^^^^^^^^ 191s + commit.phase, 191s + ^^^^^^^^^^^^^ 191s + ) 191s + ^ 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 191s + files, gitlinks, git_renames = self.get_files_changed( 191s + ~~~~~~~~~~~~~~~~~~~~~~^ 191s + commit, detect_renames 191s + ^^^^^^^^^^^^^^^^^^^^^^ 191s + ) 191s + ^ 191s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 191s + oldfile, oldmode, oldsha = change.old 191s + ^^^^^^^^^^^^^^^^^^^^^^^^ 191s + TypeError: cannot unpack non-iterable NoneType object 191s + [1] 191s 191s By default, the Git state isn't preserved across a copying/linking 191s clone 191s 191s $ hg clone -U hgrepo otherhgrepo 191s + abort: repository hgrepo not found 191s + [255] 191s $ cd otherhgrepo 191s + $TESTTMP.sh: 22: cd: can't cd to otherhgrepo 191s $ find .hg -name 'git*' | sort 191s - $ hg tags -v 191s - tip 0:ff7a2f2d8d70 191s - $ hg log -r 'fromgit()' -T '{rev}:{node|short} {gitnode|short}\n' 191s - $ cd .. 191s - $ rm -r otherhgrepo 191s - 191s -Nor using a pull clone 191s - 191s - $ hg clone -U --pull hgrepo otherhgrepo 191s - requesting all changes 191s - adding changesets 191s - adding manifests 191s - adding file changes 191s - added 1 changesets with 1 changes to 1 files 191s - new changesets ff7a2f2d8d70 191s - $ cd otherhgrepo 191s - $ find .hg -name 'git*' | sort 191s - $ hg tags -v 191s - tip 0:ff7a2f2d8d70 191s - $ hg log -r 'fromgit()' -T '{rev}:{node|short} {gitnode|short}\n' 191s - $ cd .. 191s - $ rm -r otherhgrepo 191s - 191s -But we can enable it! 191s - 191s - $ cat >> $HGRCPATH < [experimental] 191s - > hg-git-serve = yes 191s - > EOF 191s - 191s -Check transferring between Mercurial repositories using a 191s -copying/linking clone 191s - 191s - $ hg clone -U hgrepo otherhgrepo 191s - $ cd otherhgrepo 191s - $ find .hg -name 'git*' | sort 191s - $ hg tags -q 191s - tip 191s - $ hg log -r 'fromgit()' -T '{rev}:{node|short} {gitnode|short}\n' 191s - $ cd .. 191s - 191s -Checking using a pull clone 191s - 191s - $ rm -rf otherhgrepo 191s - $ hg clone -U --pull hgrepo otherhgrepo 191s - requesting all changes 191s - adding changesets 191s - adding manifests 191s - adding file changes 191s - added 1 changesets with 1 changes to 1 files 191s - new changesets ff7a2f2d8d70 191s - $ cd otherhgrepo 191s - $ hg tags -q 191s - tip 191s - alpha 191s - $ hg log -r 'fromgit()' -T '{rev}:{node|short} {gitnode|short}\n' 191s - 0:ff7a2f2d8d70 7eeab2ea75ec 191s - $ cd .. 191s - 191s -Can we repopulate the state from a Mercurial repository? 191s - 191s - $ cd otherhgrepo 191s - $ hg debug-remove-hggit-state 191s - clearing out the git cache data 191s - $ hg log -qr 'fromgit()' 191s - $ hg tags 191s - tip 0:ff7a2f2d8d70 191s - $ hg pull 191s - pulling from $TESTTMP/hgrepo 191s - searching for changes 191s - no changes found 191s - $ hg log -qr 'fromgit()' 191s - $ hg tags 191s - tip 0:ff7a2f2d8d70 191s - 191s -Sadly, no. 191s 191s ERROR: test-hg-clone.t output changed 193s ! 193s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-serve-git.t 193s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-serve-git.t.err 193s @@ -48,13 +48,104 @@ 193s \r (no-eol) (esc) 193s \r (no-eol) (esc) 193s importing commits 1/2 b23744d34f97 [======> ]\r (no-eol) (esc) 193s - importing commits 2/2 3af9773036a9 [=============>]\r (no-eol) (esc) 193s \r (no-eol) (esc) 193s importing 2 git commits 193s - new changesets c4d188f6e13d:221dd250e933 193s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 193s + ** which supports versions 6.9 of Mercurial. 193s + ** Please disable "hggit" and try your action again. 193s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 193s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 193s + ** Mercurial Distributed SCM (version 7.0.1) 193s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 193s + Traceback (most recent call last): 193s + File "/usr/bin/hg", line 51, in 193s + dispatch.run() 193s + ~~~~~~~~~~~~^^ 193s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 193s + status = dispatch(req) 193s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 193s + status = _rundispatch(req) 193s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 193s + ret = _runcatch(req) or 0 193s + ~~~~~~~~~^^^^^ 193s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 193s + return _callcatch(ui, _runcatchfunc) 193s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 193s + return scmutil.callcatch(ui, func) 193s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 193s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 193s + return func() 193s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 193s + return _dispatch(req) 193s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 193s + return runcommand( 193s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 193s + ) 193s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 193s + ret = _runcommand(ui, options, cmd, d) 193s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 193s + return cmdfunc() 193s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 193s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 193s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 193s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 193s + return func(*args, **kwargs) 193s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 193s + r = hg.clone( 193s + ui, 193s + ...<11 lines>... 193s + depth=opts.get('depth') or None, 193s + ) 193s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 193s + srcpeer, destpeer = orig(*args, **opts) 193s + ~~~~^^^^^^^^^^^^^^^ 193s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 193s + exchange.pull( 193s + ~~~~~~~~~~~~~^ 193s + local, 193s + ^^^^^^ 193s + ...<5 lines>... 193s + depth=depth, 193s + ^^^^^^^^^^^^ 193s + ) 193s + ^ 193s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 193s + return f(*args, **kwargs) 193s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 193s + pullop.cgresult = repo.githandler.fetch(remote, heads) 193s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 193s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 193s + imported = self.import_git_objects( 193s + b'pull', 193s + ...<2 lines>... 193s + heads=heads, 193s + ) 193s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 193s + self.import_git_commit( 193s + ~~~~~~~~~~~~~~~~~~~~~~^ 193s + command, 193s + ^^^^^^^^ 193s + self.git[commit.sha], 193s + ^^^^^^^^^^^^^^^^^^^^^ 193s + commit.phase, 193s + ^^^^^^^^^^^^^ 193s + ) 193s + ^ 193s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 193s + files, gitlinks, git_renames = self.get_files_changed( 193s + ~~~~~~~~~~~~~~~~~~~~~~^ 193s + commit, detect_renames 193s + ^^^^^^^^^^^^^^^^^^^^^^ 193s + ) 193s + ^ 193s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 193s + oldfile, oldmode, oldsha = change.old 193s + ^^^^^^^^^^^^^^^^^^^^^^^^ 193s + TypeError: cannot unpack non-iterable NoneType object 193s + [1] 193s $ hg log -T 'HG:{node|short} GIT:{gitnode|short}\n' -R copy 193s - HG:221dd250e933 GIT:3af9773036a9 193s - HG:c4d188f6e13d GIT:b23744d34f97 193s + abort: repository copy not found 193s + [255] 193s $ hg tags -v -R copy 193s - tip 1:221dd250e933 193s - default/master 1:221dd250e933 git-remote 193s + abort: repository copy not found 193s + [255] 193s 193s ERROR: test-serve-git.t output changed 197s ! 197s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-convergedmerge.t 197s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-convergedmerge.t.err 197s @@ -49,34 +49,88 @@ 197s $ hg bookmark -r4 master 197s $ hg push -r master ../repo.git 197s pushing to ../repo.git 197s - searching for changes 197s - adding objects 197s - remote: found 0 deltas to reuse 197s - added 5 commits with 3 trees and 3 blobs 197s - adding reference refs/heads/master 197s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 197s + ** which supports versions 6.9 of Mercurial. 197s + ** Please disable "hggit" and try your action again. 197s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 197s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 197s + ** Mercurial Distributed SCM (version 7.0.1) 197s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 197s + Traceback (most recent call last): 197s + File "/usr/bin/hg", line 51, in 197s + dispatch.run() 197s + ~~~~~~~~~~~~^^ 197s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 197s + status = dispatch(req) 197s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 197s + status = _rundispatch(req) 197s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 197s + ret = _runcatch(req) or 0 197s + ~~~~~~~~~^^^^^ 197s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 197s + return _callcatch(ui, _runcatchfunc) 197s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 197s + return scmutil.callcatch(ui, func) 197s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 197s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 197s + return func() 197s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 197s + return _dispatch(req) 197s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 197s + return runcommand( 197s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 197s + ) 197s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 197s + ret = _runcommand(ui, options, cmd, d) 197s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 197s + return cmdfunc() 197s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 197s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 197s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 197s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 197s + return func(*args, **kwargs) 197s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 197s + pushop = exchange.push( 197s + repo, 197s + ...<6 lines>... 197s + opargs=opargs, 197s + ) 197s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 197s + pushop.cgresult = repo.githandler.push( 197s + ~~~~~~~~~~~~~~~~~~~~^ 197s + remote.path, revs, bookmarks, force 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 197s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 197s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 197s + all_exportable = self.export_commits() 197s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 197s + self.export_git_objects() 197s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 197s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 197s + packer.pack(synchronous=True) 197s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 197s + _process_batch(self.ui, self.object_store, todo) 197s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 197s + object_store._remove_loose_object(obj.id) 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 197s + [1] 197s $ cd .. 197s 197s $ hg clone repo.git hgrepo2 197s - importing 5 git commits 197s - new changesets 5d1a6b64f9d0:eaa21d002113 (5 drafts) 197s - updating to bookmark master 197s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 197s + updating to branch default 197s + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 197s expect the same revision ids as above 197s $ hg -R hgrepo2 log --graph --style compact | sed 's/\[.*\]//g' 197s - @ 4:1,3 eaa21d002113 1970-01-01 00:00 +0000 test 197s - |\ merge 197s - | | 197s - | o 3 0dbe4ac1a758 1970-01-01 00:00 +0000 test 197s - | | B->C 197s - | | 197s - | o 2:0 7205e83b5a3f 1970-01-01 00:00 +0000 test 197s - | | A->B 197s - | | 197s - o | 1 ea82b67264a1 1970-01-01 00:00 +0000 test 197s - |/ A->C 197s - | 197s - o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test 197s - origin 197s - 197s $ hg -R hgrepo2 gverify 197s - verifying rev eaa21d002113 against git commit fb8c9e2afe5418cfff337eeed79fad5dd58826f0 197s + abort: no git commit found for rev 000000000000 197s + (if this is an octopus merge, verify against the last rev) 197s + [255] 197s 197s ERROR: test-convergedmerge.t output changed 199s ! 199s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-conflict-2.t 199s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-conflict-2.t.err 199s @@ -47,29 +47,84 @@ 199s $ hg bookmark -r tip master 199s $ hg push -r master ../repo.git 199s pushing to ../repo.git 199s - searching for changes 199s - adding objects 199s - remote: found 0 deltas to reuse 199s - added 4 commits with 3 trees and 3 blobs 199s - adding reference refs/heads/master 199s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 199s + ** which supports versions 6.9 of Mercurial. 199s + ** Please disable "hggit" and try your action again. 199s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 199s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 199s + ** Mercurial Distributed SCM (version 7.0.1) 199s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 199s + Traceback (most recent call last): 199s + File "/usr/bin/hg", line 51, in 199s + dispatch.run() 199s + ~~~~~~~~~~~~^^ 199s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 199s + status = dispatch(req) 199s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 199s + status = _rundispatch(req) 199s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 199s + ret = _runcatch(req) or 0 199s + ~~~~~~~~~^^^^^ 199s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 199s + return _callcatch(ui, _runcatchfunc) 199s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 199s + return scmutil.callcatch(ui, func) 199s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 199s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 199s + return func() 199s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 199s + return _dispatch(req) 199s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 199s + return runcommand( 199s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 199s + ) 199s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 199s + ret = _runcommand(ui, options, cmd, d) 199s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 199s + return cmdfunc() 199s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 199s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 199s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 199s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 199s + return func(*args, **kwargs) 199s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 199s + pushop = exchange.push( 199s + repo, 199s + ...<6 lines>... 199s + opargs=opargs, 199s + ) 199s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 199s + return f(*args, **kwargs) 199s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 199s + pushop.cgresult = repo.githandler.push( 199s + ~~~~~~~~~~~~~~~~~~~~^ 199s + remote.path, revs, bookmarks, force 199s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 199s + ) 199s + ^ 199s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 199s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 199s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 199s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 199s + all_exportable = self.export_commits() 199s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 199s + self.export_git_objects() 199s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 199s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 199s + packer.pack(synchronous=True) 199s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 199s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 199s + _process_batch(self.ui, self.object_store, todo) 199s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 199s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 199s + object_store._remove_loose_object(obj.id) 199s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 199s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 199s + [1] 199s $ cd .. 199s 199s $ hg clone repo.git hgrepo2 199s - importing 4 git commits 199s - new changesets 5d1a6b64f9d0:120385945d08 (4 drafts) 199s - updating to bookmark master 199s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 199s + updating to branch default 199s + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 199s expect the same revision ids as above 199s $ hg -R hgrepo2 log --graph --style compact | sed 's/\[.*\]//g' 199s - @ 3:1,2 120385945d08 1970-01-01 00:00 +0000 test 199s - |\ merge to B 199s - | | 199s - | o 2:0 7205e83b5a3f 1970-01-01 00:00 +0000 test 199s - | | A->B 199s - | | 199s - o | 1 ea82b67264a1 1970-01-01 00:00 +0000 test 199s - |/ A->C 199s - | 199s - o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test 199s - origin 199s - 199s 199s ERROR: test-conflict-2.t output changed 200s ! 200s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-phases-draft.t 200s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-phases-draft.t.err 200s @@ -12,73 +12,100 @@ 200s cloning without hggit.usephases does not publish local changesets 200s $ cd .. 200s $ hg clone gitrepo hgrepo | grep -v '^updating' 200s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 200s + ** which supports versions 6.9 of Mercurial. 200s + ** Please disable "hggit" and try your action again. 200s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 200s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 200s + ** Mercurial Distributed SCM (version 7.0.1) 200s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 200s + Traceback (most recent call last): 200s + File "/usr/bin/hg", line 51, in 200s + dispatch.run() 200s + ~~~~~~~~~~~~^^ 200s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 200s + status = dispatch(req) 200s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 200s + status = _rundispatch(req) 200s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 200s + ret = _runcatch(req) or 0 200s + ~~~~~~~~~^^^^^ 200s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 200s + return _callcatch(ui, _runcatchfunc) 200s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 200s + return scmutil.callcatch(ui, func) 200s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 200s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 200s + return func() 200s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 200s + return _dispatch(req) 200s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 200s + return runcommand( 200s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 200s + ) 200s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 200s + ret = _runcommand(ui, options, cmd, d) 200s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 200s + return cmdfunc() 200s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 200s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 200s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 200s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 200s + return func(*args, **kwargs) 200s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 200s + r = hg.clone( 200s + ui, 200s + ...<11 lines>... 200s + depth=opts.get('depth') or None, 200s + ) 200s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 200s + srcpeer, destpeer = orig(*args, **opts) 200s + ~~~~^^^^^^^^^^^^^^^ 200s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 200s + exchange.pull( 200s + ~~~~~~~~~~~~~^ 200s + local, 200s + ^^^^^^ 200s + ...<5 lines>... 200s + depth=depth, 200s + ^^^^^^^^^^^^ 200s + ) 200s + ^ 200s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 200s + return f(*args, **kwargs) 200s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 200s + pullop.cgresult = repo.githandler.fetch(remote, heads) 200s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 200s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 200s + imported = self.import_git_objects( 200s + b'pull', 200s + ...<2 lines>... 200s + heads=heads, 200s + ) 200s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 200s + self.import_git_commit( 200s + ~~~~~~~~~~~~~~~~~~~~~~^ 200s + command, 200s + ^^^^^^^^ 200s + self.git[commit.sha], 200s + ^^^^^^^^^^^^^^^^^^^^^ 200s + commit.phase, 200s + ^^^^^^^^^^^^^ 200s + ) 200s + ^ 200s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 200s + files, gitlinks, git_renames = self.get_files_changed( 200s + ~~~~~~~~~~~~~~~~~~~~~~^ 200s + commit, detect_renames 200s + ^^^^^^^^^^^^^^^^^^^^^^ 200s + ) 200s + ^ 200s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 200s + oldfile, oldmode, oldsha = change.old 200s + ^^^^^^^^^^^^^^^^^^^^^^^^ 200s + TypeError: cannot unpack non-iterable NoneType object 200s importing 1 git commits 200s - new changesets ff7a2f2d8d70 (1 drafts) 200s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 200s 200s $ cd hgrepo 200s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 200s $ hg phase -r master 200s - 0: draft 200s - 200s -pulling advances the draft phase, though 200s - 200s - $ hg phase -fs 0 200s - $ hg pull 200s - pulling from $TESTTMP/gitrepo 200s - no changes found 200s - $ hg phase tip 200s - 0: draft 200s - 200s -even if we don't have a name? 200s - 200s - $ hg phase -fs 0 200s - $ mv .hg/hgrc .hg/hgrc.bak 200s - $ hg pull ../gitrepo 200s - pulling from ../gitrepo 200s - no changes found 200s - $ hg phase tip 200s - 0: draft 200s - $ mv .hg/hgrc.bak .hg/hgrc 200s - $ cd .. 200s - 200s - 200s -pulling without hggit.usephases does not publish local changesets 200s - $ cd gitrepo 200s - $ git checkout -q master 200s - $ echo beta > beta 200s - $ git add beta 200s - $ fn_git_commit -m 'add beta' 200s - $ cd .. 200s - 200s - $ cd hgrepo 200s - $ hg pull 200s - pulling from $TESTTMP/gitrepo 200s - importing 1 git commits 200s - updating bookmark master 200s - new changesets 7fe02317c63d (1 drafts) 200s - (run 'hg update' to get a working copy) 200s - $ hg phase -r master 200s - 1: draft 200s - 200s -pulling with git.public does not publish local changesets 200s - $ hg --config git.public=master pull 200s - pulling from $TESTTMP/gitrepo 200s - no changes found 200s - $ hg phase -r master 200s - 1: draft 200s - 200s -pushing without hggit.usephases does not publish local changesets 200s - $ hg update master 200s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 200s - $ echo gamma > gamma 200s - $ hg add gamma 200s - $ hg commit -m 'gamma' 200s - $ hg push 200s - pushing to $TESTTMP/gitrepo 200s - searching for changes 200s - adding objects 200s - remote: found 0 deltas to reuse 200s - added 1 commits with 1 trees and 1 blobs 200s - updating reference refs/heads/master 200s - $ hg phase -r master 200s - 2: draft 200s 200s ERROR: test-phases-draft.t output changed 203s ! 203s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-conflict-1.t 203s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-conflict-1.t.err 203s @@ -47,29 +47,84 @@ 203s $ hg bookmark -r tip master 203s $ hg push -r master ../repo.git 203s pushing to ../repo.git 203s - searching for changes 203s - adding objects 203s - remote: found 0 deltas to reuse 203s - added 4 commits with 3 trees and 3 blobs 203s - adding reference refs/heads/master 203s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 203s + ** which supports versions 6.9 of Mercurial. 203s + ** Please disable "hggit" and try your action again. 203s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 203s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 203s + ** Mercurial Distributed SCM (version 7.0.1) 203s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 203s + Traceback (most recent call last): 203s + File "/usr/bin/hg", line 51, in 203s + dispatch.run() 203s + ~~~~~~~~~~~~^^ 203s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 203s + status = dispatch(req) 203s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 203s + status = _rundispatch(req) 203s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 203s + ret = _runcatch(req) or 0 203s + ~~~~~~~~~^^^^^ 203s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 203s + return _callcatch(ui, _runcatchfunc) 203s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 203s + return scmutil.callcatch(ui, func) 203s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 203s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 203s + return func() 203s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 203s + return _dispatch(req) 203s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 203s + return runcommand( 203s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 203s + ) 203s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 203s + ret = _runcommand(ui, options, cmd, d) 203s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 203s + return cmdfunc() 203s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 203s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 203s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 203s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 203s + return func(*args, **kwargs) 203s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 203s + pushop = exchange.push( 203s + repo, 203s + ...<6 lines>... 203s + opargs=opargs, 203s + ) 203s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 203s + return f(*args, **kwargs) 203s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 203s + pushop.cgresult = repo.githandler.push( 203s + ~~~~~~~~~~~~~~~~~~~~^ 203s + remote.path, revs, bookmarks, force 203s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 203s + ) 203s + ^ 203s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 203s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 203s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 203s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 203s + all_exportable = self.export_commits() 203s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 203s + self.export_git_objects() 203s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 203s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 203s + packer.pack(synchronous=True) 203s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 203s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 203s + _process_batch(self.ui, self.object_store, todo) 203s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 203s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 203s + object_store._remove_loose_object(obj.id) 203s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 203s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 203s + [1] 203s $ cd .. 203s 203s $ hg clone repo.git hgrepo2 203s - importing 4 git commits 203s - new changesets 5d1a6b64f9d0:6c53bc0f062f (4 drafts) 203s - updating to bookmark master 203s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 203s + updating to branch default 203s + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 203s expect the same revision ids as above 203s $ hg -R hgrepo2 log --graph --style compact | sed 's/\[.*\]//g' 203s - @ 3:1,2 6c53bc0f062f 1970-01-01 00:00 +0000 test 203s - |\ merge to C 203s - | | 203s - | o 2:0 7205e83b5a3f 1970-01-01 00:00 +0000 test 203s - | | A->B 203s - | | 203s - o | 1 ea82b67264a1 1970-01-01 00:00 +0000 test 203s - |/ A->C 203s - | 203s - o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test 203s - origin 203s - 203s 203s ERROR: test-conflict-1.t output changed 205s ! 205s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-subrepos-push.t 205s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-subrepos-push.t.err 205s @@ -41,11 +41,80 @@ 205s pushing subrepo hg to $TESTTMP/hgsubrepo 205s searching for changes 205s no changes found 205s - searching for changes 205s - adding objects 205s - remote: found 0 deltas to reuse 205s - added 4 commits with 2 trees and 2 blobs 205s - adding reference refs/heads/master 205s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 205s + ** which supports versions 6.9 of Mercurial. 205s + ** Please disable "hggit" and try your action again. 205s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 205s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 205s + ** Mercurial Distributed SCM (version 7.0.1) 205s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 205s + Traceback (most recent call last): 205s + File "/usr/bin/hg", line 51, in 205s + dispatch.run() 205s + ~~~~~~~~~~~~^^ 205s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 205s + status = dispatch(req) 205s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 205s + status = _rundispatch(req) 205s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 205s + ret = _runcatch(req) or 0 205s + ~~~~~~~~~^^^^^ 205s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 205s + return _callcatch(ui, _runcatchfunc) 205s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 205s + return scmutil.callcatch(ui, func) 205s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 205s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 205s + return func() 205s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 205s + return _dispatch(req) 205s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 205s + return runcommand( 205s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 205s + ) 205s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 205s + ret = _runcommand(ui, options, cmd, d) 205s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 205s + return cmdfunc() 205s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 205s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 205s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 205s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 205s + return func(*args, **kwargs) 205s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 205s + pushop = exchange.push( 205s + repo, 205s + ...<6 lines>... 205s + opargs=opargs, 205s + ) 205s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 205s + return f(*args, **kwargs) 205s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 205s + pushop.cgresult = repo.githandler.push( 205s + ~~~~~~~~~~~~~~~~~~~~^ 205s + remote.path, revs, bookmarks, force 205s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 205s + ) 205s + ^ 205s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 205s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 205s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 205s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 205s + all_exportable = self.export_commits() 205s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 205s + self.export_git_objects() 205s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 205s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 205s + packer.pack(synchronous=True) 205s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 205s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 205s + _process_batch(self.ui, self.object_store, todo) 205s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 205s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 205s + object_store._remove_loose_object(obj.id) 205s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 205s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 205s + [1] 205s $ cat .hgsub 205s hg = ../hgsubrepo 205s git = [git]../gitsubrepo 205s @@ -58,21 +127,14 @@ 205s 205s $ git clone --recurse-submodules repo.git gitrepo 205s Cloning into 'gitrepo'... 205s + warning: You appear to have cloned an empty repository. 205s done. 205s - Submodule 'git' ($TESTTMP/gitsubrepo) registered for path 'git' 205s - Cloning into '$TESTTMP/gitrepo/git'... 205s - done. 205s - Submodule path 'git': checked out 'aaae5224095dca7403147c0e20cbac1f450b0e95' 205s $ cd gitrepo 205s $ ls -A 205s .git 205s - .gitmodules 205s - alpha 205s - git 205s $ cat .gitmodules 205s - [submodule "git"] 205s - path = git 205s - url = ../gitsubrepo 205s + cat: .gitmodules: No such file or directory (os error 2) 205s + [1] 205s $ ls -A git 205s - .git 205s - thefile 205s + ls: cannot access 'git': No such file or directory 205s + [2] 205s 205s ERROR: test-subrepos-push.t output changed 206s ! 206s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-pull-after-obsolete.t 206s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-pull-after-obsolete.t.err 206s @@ -21,51 +21,99 @@ 206s $ cd .. 206s $ hg clone -U gitrepo hgrepo 206s importing 2 git commits 206s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 206s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 206s + ** which supports versions 6.9 of Mercurial. 206s + ** Please disable "hggit" and try your action again. 206s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 206s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 206s + ** Mercurial Distributed SCM (version 7.0.1) 206s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 206s + Traceback (most recent call last): 206s + File "/usr/bin/hg", line 51, in 206s + dispatch.run() 206s + ~~~~~~~~~~~~^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 206s + status = dispatch(req) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 206s + status = _rundispatch(req) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 206s + ret = _runcatch(req) or 0 206s + ~~~~~~~~~^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 206s + return _callcatch(ui, _runcatchfunc) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 206s + return scmutil.callcatch(ui, func) 206s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 206s + return func() 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 206s + return _dispatch(req) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 206s + return runcommand( 206s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 206s + ) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 206s + ret = _runcommand(ui, options, cmd, d) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 206s + return cmdfunc() 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 206s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 206s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 206s + return func(*args, **kwargs) 206s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 206s + r = hg.clone( 206s + ui, 206s + ...<11 lines>... 206s + depth=opts.get('depth') or None, 206s + ) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 206s + srcpeer, destpeer = orig(*args, **opts) 206s + ~~~~^^^^^^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 206s + exchange.pull( 206s + ~~~~~~~~~~~~~^ 206s + local, 206s + ^^^^^^ 206s + ...<5 lines>... 206s + depth=depth, 206s + ^^^^^^^^^^^^ 206s + ) 206s + ^ 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 206s + return f(*args, **kwargs) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 206s + pullop.cgresult = repo.githandler.fetch(remote, heads) 206s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 206s + imported = self.import_git_objects( 206s + b'pull', 206s + ...<2 lines>... 206s + heads=heads, 206s + ) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 206s + self.import_git_commit( 206s + ~~~~~~~~~~~~~~~~~~~~~~^ 206s + command, 206s + ^^^^^^^^ 206s + self.git[commit.sha], 206s + ^^^^^^^^^^^^^^^^^^^^^ 206s + commit.phase, 206s + ^^^^^^^^^^^^^ 206s + ) 206s + ^ 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 206s + files, gitlinks, git_renames = self.get_files_changed( 206s + ~~~~~~~~~~~~~~~~~~~~~~^ 206s + commit, detect_renames 206s + ^^^^^^^^^^^^^^^^^^^^^^ 206s + ) 206s + ^ 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 206s + oldfile, oldmode, oldsha = change.old 206s + ^^^^^^^^^^^^^^^^^^^^^^^^ 206s + TypeError: cannot unpack non-iterable NoneType object 206s + [1] 206s $ cd hgrepo 206s + $TESTTMP.sh: 31: cd: can't cd to hgrepo 206s $ hg up master 206s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 206s - (activating bookmark master) 206s - $ hg log --graph 206s - @ changeset: 1:7fe02317c63d 206s - | bookmark: master 206s - | tag: default/master 206s - | tag: thetag 206s - | tag: tip 206s - | user: test 206s - | date: Mon Jan 01 00:00:11 2007 +0000 206s - | summary: add beta 206s - | 206s - o changeset: 0:ff7a2f2d8d70 206s - user: test 206s - date: Mon Jan 01 00:00:10 2007 +0000 206s - summary: add alpha 206s - 206s - $ cd ../gitrepo 206s - $ echo beta line 2 >> beta 206s - $ git add beta 206s - $ fn_git_commit -m 'add to beta' 206s - 206s -Create a commit, obsolete it, and pull, to ensure that we can pull if 206s -the tipmost commit is hidden. 206s - 206s - $ cd ../hgrepo 206s - $ hg bookmark --inactive 206s - $ echo gamma > gamma 206s - $ hg add gamma 206s - $ fn_hg_commit -m 'add gamma' 206s - $ hg up master 206s - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 206s - (activating bookmark master) 206s - $ hg log -T '{rev}:{node} {desc}\n' -r tip 206s - 2:4090a1266584bc1a47ce562e9349b1e0f1b44611 add gamma 206s - $ hg debugobsolete 4090a1266584bc1a47ce562e9349b1e0f1b44611 206s - 1 new obsolescence markers 206s - obsoleted 1 changesets 206s - 206s - $ hg pull 206s - pulling from $TESTTMP/gitrepo 206s - importing 1 git commits 206s - updating bookmark master 206s - new changesets cc1e605d90db (1 drafts) 206s - (run 'hg update' to get a working copy) 206s 206s ERROR: test-pull-after-obsolete.t output changed 206s ! 206s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-git-clone.t 206s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-git-clone.t.err 206s @@ -15,29 +15,110 @@ 206s 206s $ hg clone gitrepo hgrepo 206s importing 2 git commits 206s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 206s - updating to bookmark master 206s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 206s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 206s + ** which supports versions 6.9 of Mercurial. 206s + ** Please disable "hggit" and try your action again. 206s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 206s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 206s + ** Mercurial Distributed SCM (version 7.0.1) 206s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 206s + Traceback (most recent call last): 206s + File "/usr/bin/hg", line 51, in 206s + dispatch.run() 206s + ~~~~~~~~~~~~^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 206s + status = dispatch(req) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 206s + status = _rundispatch(req) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 206s + ret = _runcatch(req) or 0 206s + ~~~~~~~~~^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 206s + return _callcatch(ui, _runcatchfunc) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 206s + return scmutil.callcatch(ui, func) 206s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 206s + return func() 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 206s + return _dispatch(req) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 206s + return runcommand( 206s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 206s + ) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 206s + ret = _runcommand(ui, options, cmd, d) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 206s + return cmdfunc() 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 206s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 206s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 206s + return func(*args, **kwargs) 206s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 206s + r = hg.clone( 206s + ui, 206s + ...<11 lines>... 206s + depth=opts.get('depth') or None, 206s + ) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 206s + srcpeer, destpeer = orig(*args, **opts) 206s + ~~~~^^^^^^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 206s + exchange.pull( 206s + ~~~~~~~~~~~~~^ 206s + local, 206s + ^^^^^^ 206s + ...<5 lines>... 206s + depth=depth, 206s + ^^^^^^^^^^^^ 206s + ) 206s + ^ 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 206s + return f(*args, **kwargs) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 206s + pullop.cgresult = repo.githandler.fetch(remote, heads) 206s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 206s + imported = self.import_git_objects( 206s + b'pull', 206s + ...<2 lines>... 206s + heads=heads, 206s + ) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 206s + self.import_git_commit( 206s + ~~~~~~~~~~~~~~~~~~~~~~^ 206s + command, 206s + ^^^^^^^^ 206s + self.git[commit.sha], 206s + ^^^^^^^^^^^^^^^^^^^^^ 206s + commit.phase, 206s + ^^^^^^^^^^^^^ 206s + ) 206s + ^ 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 206s + files, gitlinks, git_renames = self.get_files_changed( 206s + ~~~~~~~~~~~~~~~~~~~~~~^ 206s + commit, detect_renames 206s + ^^^^^^^^^^^^^^^^^^^^^^ 206s + ) 206s + ^ 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 206s + oldfile, oldmode, oldsha = change.old 206s + ^^^^^^^^^^^^^^^^^^^^^^^^ 206s + TypeError: cannot unpack non-iterable NoneType object 206s + [1] 206s $ hg -R hgrepo log --graph 206s - @ changeset: 1:7fe02317c63d 206s - | bookmark: master 206s - | tag: default/master 206s - | tag: tip 206s - | user: test 206s - | date: Mon Jan 01 00:00:11 2007 +0000 206s - | summary: add beta 206s - | 206s - o changeset: 0:ff7a2f2d8d70 206s - user: test 206s - date: Mon Jan 01 00:00:10 2007 +0000 206s - summary: add alpha 206s - 206s + abort: repository hgrepo not found 206s + [255] 206s 206s we should have some bookmarks 206s $ hg -R hgrepo book 206s - * master 1:7fe02317c63d 206s + abort: repository hgrepo not found 206s + [255] 206s $ hg -R hgrepo gverify 206s - verifying rev 7fe02317c63d against git commit 9497a4ee62e16ee641860d7677cdb2589ea15554 206s + abort: repository hgrepo not found 206s + [255] 206s 206s test for ssh vulnerability 206s 206s @@ -53,10 +134,180 @@ 206s abort: potentially unsafe hostname: '-oProxyCommand=rm${IFS}nonexistent' 206s [255] 206s $ hg clone -q 'git+ssh://fakehost|rm${IFS}nonexistent/path' 206s - ssh: * fakehost%7?rm%24%7????%7?nonexistent* (glob) 206s - abort: git remote error: The remote server unexpectedly closed the connection. 206s - [255] 206s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 206s + ** which supports versions 6.9 of Mercurial. 206s + ** Please disable "hggit" and try your action again. 206s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 206s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 206s + ** Mercurial Distributed SCM (version 7.0.1) 206s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 206s + Traceback (most recent call last): 206s + File "/usr/bin/hg", line 51, in 206s + dispatch.run() 206s + ~~~~~~~~~~~~^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 206s + status = dispatch(req) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 206s + status = _rundispatch(req) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 206s + ret = _runcatch(req) or 0 206s + ~~~~~~~~~^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 206s + return _callcatch(ui, _runcatchfunc) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 206s + return scmutil.callcatch(ui, func) 206s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 206s + return func() 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 206s + return _dispatch(req) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 206s + return runcommand( 206s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 206s + ) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 206s + ret = _runcommand(ui, options, cmd, d) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 206s + return cmdfunc() 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 206s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 206s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 206s + return func(*args, **kwargs) 206s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 206s + r = hg.clone( 206s + ui, 206s + ...<11 lines>... 206s + depth=opts.get('depth') or None, 206s + ) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 206s + srcpeer, destpeer = orig(*args, **opts) 206s + ~~~~^^^^^^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 206s + exchange.pull( 206s + ~~~~~~~~~~~~~^ 206s + local, 206s + ^^^^^^ 206s + ...<5 lines>... 206s + depth=depth, 206s + ^^^^^^^^^^^^ 206s + ) 206s + ^ 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 206s + return f(*args, **kwargs) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 206s + pullop.cgresult = repo.githandler.fetch(remote, heads) 206s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 391, in fetch 206s + result = self.fetch_pack(remote.path, heads) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1644, in fetch_pack 206s + ret = self._call_client( 206s + remote, 206s + ...<4 lines>... 206s + progress.progress, 206s + ) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1680, in _call_client 206s + ret = func(path, *args, **kwargs) 206s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 1599, in fetch_pack 206s + proto, can_read, stderr = self._connect(b"upload-pack", path, protocol_version) 206s + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 3139, in _connect 206s + con = self.ssh_vendor.run_command( 206s + self.host, 206s + ...<4 lines>... 206s + **kwargs, 206s + ) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/_ssh.py", line 23, in run_command 206s + assert isinstance(command, str) 206s + ~~~~~~~~~~^^^^^^^^^^^^^^ 206s + AssertionError 206s + [1] 206s $ hg clone -q 'git+ssh://fakehost%7Crm${IFS}nonexistent/path' 206s - ssh: * fakehost%7?rm%24%7????%7?nonexistent* (glob) 206s - abort: git remote error: The remote server unexpectedly closed the connection. 206s - [255] 206s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 206s + ** which supports versions 6.9 of Mercurial. 206s + ** Please disable "hggit" and try your action again. 206s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 206s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 206s + ** Mercurial Distributed SCM (version 7.0.1) 206s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 206s + Traceback (most recent call last): 206s + File "/usr/bin/hg", line 51, in 206s + dispatch.run() 206s + ~~~~~~~~~~~~^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 206s + status = dispatch(req) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 206s + status = _rundispatch(req) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 206s + ret = _runcatch(req) or 0 206s + ~~~~~~~~~^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 206s + return _callcatch(ui, _runcatchfunc) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 206s + return scmutil.callcatch(ui, func) 206s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 206s + return func() 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 206s + return _dispatch(req) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 206s + return runcommand( 206s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 206s + ) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 206s + ret = _runcommand(ui, options, cmd, d) 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 206s + return cmdfunc() 206s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 206s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 206s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 206s + return func(*args, **kwargs) 206s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 206s + r = hg.clone( 206s + ui, 206s + ...<11 lines>... 206s + depth=opts.get('depth') or None, 206s + ) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 206s + srcpeer, destpeer = orig(*args, **opts) 206s + ~~~~^^^^^^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 206s + exchange.pull( 206s + ~~~~~~~~~~~~~^ 206s + local, 206s + ^^^^^^ 206s + ...<5 lines>... 206s + depth=depth, 206s + ^^^^^^^^^^^^ 206s + ) 206s + ^ 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 206s + return f(*args, **kwargs) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 206s + pullop.cgresult = repo.githandler.fetch(remote, heads) 206s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 391, in fetch 206s + result = self.fetch_pack(remote.path, heads) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1644, in fetch_pack 206s + ret = self._call_client( 206s + remote, 206s + ...<4 lines>... 206s + progress.progress, 206s + ) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1680, in _call_client 206s + ret = func(path, *args, **kwargs) 206s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 1599, in fetch_pack 206s + proto, can_read, stderr = self._connect(b"upload-pack", path, protocol_version) 206s + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 3139, in _connect 206s + con = self.ssh_vendor.run_command( 206s + self.host, 206s + ...<4 lines>... 206s + **kwargs, 206s + ) 206s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/_ssh.py", line 23, in run_command 206s + assert isinstance(command, str) 206s + ~~~~~~~~~~^^^^^^^^^^^^^^ 206s + AssertionError 206s + [1] 206s 206s ERROR: test-git-clone.t output changed 208s ! 208s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-git-gpg.t 208s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-git-gpg.t.err 208s @@ -56,22 +56,100 @@ 208s 208s $ hg clone gitrepo hgrepo 208s importing 2 git commits 208s - new changesets ab60c5e55bd6:[0-9a-f]{12,12} \(2 drafts\) (re) 208s - updating to bookmark signed 208s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 208s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 208s + ** which supports versions 6.9 of Mercurial. 208s + ** Please disable "hggit" and try your action again. 208s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 208s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 208s + ** Mercurial Distributed SCM (version 7.0.1) 208s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 208s + Traceback (most recent call last): 208s + File "/usr/bin/hg", line 51, in 208s + dispatch.run() 208s + ~~~~~~~~~~~~^^ 208s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 208s + status = dispatch(req) 208s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 208s + status = _rundispatch(req) 208s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 208s + ret = _runcatch(req) or 0 208s + ~~~~~~~~~^^^^^ 208s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 208s + return _callcatch(ui, _runcatchfunc) 208s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 208s + return scmutil.callcatch(ui, func) 208s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 208s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 208s + return func() 208s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 208s + return _dispatch(req) 208s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 208s + return runcommand( 208s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 208s + ) 208s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 208s + ret = _runcommand(ui, options, cmd, d) 208s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 208s + return cmdfunc() 208s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 208s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 208s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 208s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 208s + return func(*args, **kwargs) 208s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 208s + r = hg.clone( 208s + ui, 208s + ...<11 lines>... 208s + depth=opts.get('depth') or None, 208s + ) 208s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 208s + srcpeer, destpeer = orig(*args, **opts) 208s + ~~~~^^^^^^^^^^^^^^^ 208s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 208s + exchange.pull( 208s + ~~~~~~~~~~~~~^ 208s + local, 208s + ^^^^^^ 208s + ...<5 lines>... 208s + depth=depth, 208s + ^^^^^^^^^^^^ 208s + ) 208s + ^ 208s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 208s + return f(*args, **kwargs) 208s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 208s + pullop.cgresult = repo.githandler.fetch(remote, heads) 208s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 208s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 208s + imported = self.import_git_objects( 208s + b'pull', 208s + ...<2 lines>... 208s + heads=heads, 208s + ) 208s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 208s + self.import_git_commit( 208s + ~~~~~~~~~~~~~~~~~~~~~~^ 208s + command, 208s + ^^^^^^^^ 208s + self.git[commit.sha], 208s + ^^^^^^^^^^^^^^^^^^^^^ 208s + commit.phase, 208s + ^^^^^^^^^^^^^ 208s + ) 208s + ^ 208s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 208s + files, gitlinks, git_renames = self.get_files_changed( 208s + ~~~~~~~~~~~~~~~~~~~~~~^ 208s + commit, detect_renames 208s + ^^^^^^^^^^^^^^^^^^^^^^ 208s + ) 208s + ^ 208s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 208s + oldfile, oldmode, oldsha = change.old 208s + ^^^^^^^^^^^^^^^^^^^^^^^^ 208s + TypeError: cannot unpack non-iterable NoneType object 208s + [1] 208s 208s $ cd hgrepo 208s + $TESTTMP.sh: 46: cd: can't cd to hgrepo 208s $ hg push ../gitrepo2 -B signed 208s - pushing to ../gitrepo2 208s - searching for changes 208s - adding objects 208s - remote: found 0 deltas to reuse 208s - added 1 commits with 1 trees and 0 blobs 208s - adding reference refs/heads/signed 208s - $ cd .. 208s - 208s -Verify the commit 208s - 208s - $ cd gitrepo2 208s - $ git show --show-signature signed | grep "Good signature from" 208s - gpg: Good signature from "hgtest" [ultimate] 208s 208s ERROR: test-git-gpg.t output changed 212s ! 212s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-annotate.t 212s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-annotate.t.err 212s @@ -46,6 +46,63 @@ 212s 0* a 212s 212s $ hg gexport 212s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 212s + ** which supports versions 6.9 of Mercurial. 212s + ** Please disable "hggit" and try your action again. 212s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 212s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 212s + ** Mercurial Distributed SCM (version 7.0.1) 212s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 212s + Traceback (most recent call last): 212s + File "/usr/bin/hg", line 51, in 212s + dispatch.run() 212s + ~~~~~~~~~~~~^^ 212s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 212s + status = dispatch(req) 212s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 212s + status = _rundispatch(req) 212s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 212s + ret = _runcatch(req) or 0 212s + ~~~~~~~~~^^^^^ 212s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 212s + return _callcatch(ui, _runcatchfunc) 212s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 212s + return scmutil.callcatch(ui, func) 212s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 212s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 212s + return func() 212s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 212s + return _dispatch(req) 212s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 212s + return runcommand( 212s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 212s + ) 212s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 212s + ret = _runcommand(ui, options, cmd, d) 212s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 212s + return cmdfunc() 212s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 212s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 212s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 212s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 212s + return func(*args, **kwargs) 212s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 64, in gexport 212s + repo.githandler.export_commits() 212s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 212s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 212s + self.export_git_objects() 212s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 212s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 212s + packer.pack(synchronous=True) 212s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 212s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 212s + _process_batch(self.ui, self.object_store, todo) 212s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 212s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 212s + object_store._remove_loose_object(obj.id) 212s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 212s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 212s + [1] 212s $ hg log -T '{rev}:{node} {gitnode}\n' 212s 2:beb139b96eec386addc02d48db524b7646ef1605 19388575d02e71e917e7013aa854d4a21c509819 212s 1:a9a255d66663f9216bdcf8dda69211d7280f7278 debec50a14cc4830584dd4fa1507c51cce1c098f 212s 212s ERROR: test-annotate.t output changed 213s ! 213s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push-phases.t 213s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push-phases.t.err 213s @@ -26,12 +26,80 @@ 213s $ hg book -r . secret 213s $ hg push 213s pushing to $TESTTMP/repo.git 213s - warning: not exporting secret bookmark 'secret' 213s - searching for changes 213s - adding objects 213s - remote: found 0 deltas to reuse 213s - added 1 commits with 1 trees and 1 blobs 213s - adding reference refs/heads/master 213s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 213s + ** which supports versions 6.9 of Mercurial. 213s + ** Please disable "hggit" and try your action again. 213s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 213s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 213s + ** Mercurial Distributed SCM (version 7.0.1) 213s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 213s + Traceback (most recent call last): 213s + File "/usr/bin/hg", line 51, in 213s + dispatch.run() 213s + ~~~~~~~~~~~~^^ 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 213s + status = dispatch(req) 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 213s + status = _rundispatch(req) 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 213s + ret = _runcatch(req) or 0 213s + ~~~~~~~~~^^^^^ 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 213s + return _callcatch(ui, _runcatchfunc) 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 213s + return scmutil.callcatch(ui, func) 213s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 213s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 213s + return func() 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 213s + return _dispatch(req) 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 213s + return runcommand( 213s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 213s + ) 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 213s + ret = _runcommand(ui, options, cmd, d) 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 213s + return cmdfunc() 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 213s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 213s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 213s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 213s + return func(*args, **kwargs) 213s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 213s + pushop = exchange.push( 213s + repo, 213s + ...<6 lines>... 213s + opargs=opargs, 213s + ) 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 213s + return f(*args, **kwargs) 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 213s + pushop.cgresult = repo.githandler.push( 213s + ~~~~~~~~~~~~~~~~~~~~^ 213s + remote.path, revs, bookmarks, force 213s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 213s + ) 213s + ^ 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 213s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 213s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 213s + all_exportable = self.export_commits() 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 213s + self.export_git_objects() 213s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 213s + packer.pack(synchronous=True) 213s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 213s + _process_batch(self.ui, self.object_store, todo) 213s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 213s + object_store._remove_loose_object(obj.id) 213s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 213s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 213s + [1] 213s $ cd .. 213s $ hg -R hgrepo log --graph --template phases 213s @ changeset: 1:62966756ea96 213s @@ -44,8 +112,7 @@ 213s | 213s o changeset: 0:d4b83afc35d1 213s bookmark: master 213s - tag: default/master 213s - phase: public 213s + phase: draft 213s user: test 213s date: Mon Jan 01 00:00:10 2007 +0000 213s summary: alpha 213s @@ -63,14 +130,9 @@ 213s Only one changeset was pushed: 213s 213s $ GIT_DIR=repo.git git log --graph --all --decorate=short 213s - * commit 2cc4e3d19551e459a0dd606f4cf890de571c7d33 (HEAD -> master) 213s - Author: test 213s - Date: Mon Jan 1 00:00:10 2007 +0000 213s - 213s - alpha 213s 213s And this published the remote head: 213s 213s $ hg -R hgrepo phase 'all()' 213s - 0: public 213s + 0: draft 213s 1: secret 213s 213s ERROR: test-push-phases.t output changed 213s ! 213s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-keywords.t 213s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-keywords.t.err 213s @@ -22,28 +22,99 @@ 213s 213s $ hg clone gitrepo hgrepo 213s importing 3 git commits 213s - new changesets ff7a2f2d8d70:8e3f0ecc9aef (3 drafts) 213s - updating to bookmark master 213s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 213s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 213s + ** which supports versions 6.9 of Mercurial. 213s + ** Please disable "hggit" and try your action again. 213s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 213s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 213s + ** Mercurial Distributed SCM (version 7.0.1) 213s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 213s + Traceback (most recent call last): 213s + File "/usr/bin/hg", line 51, in 213s + dispatch.run() 213s + ~~~~~~~~~~~~^^ 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 213s + status = dispatch(req) 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 213s + status = _rundispatch(req) 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 213s + ret = _runcatch(req) or 0 213s + ~~~~~~~~~^^^^^ 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 213s + return _callcatch(ui, _runcatchfunc) 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 213s + return scmutil.callcatch(ui, func) 213s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 213s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 213s + return func() 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 213s + return _dispatch(req) 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 213s + return runcommand( 213s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 213s + ) 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 213s + ret = _runcommand(ui, options, cmd, d) 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 213s + return cmdfunc() 213s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 213s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 213s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 213s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 213s + return func(*args, **kwargs) 213s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 213s + r = hg.clone( 213s + ui, 213s + ...<11 lines>... 213s + depth=opts.get('depth') or None, 213s + ) 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 213s + srcpeer, destpeer = orig(*args, **opts) 213s + ~~~~^^^^^^^^^^^^^^^ 213s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 213s + exchange.pull( 213s + ~~~~~~~~~~~~~^ 213s + local, 213s + ^^^^^^ 213s + ...<5 lines>... 213s + depth=depth, 213s + ^^^^^^^^^^^^ 213s + ) 213s + ^ 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 213s + return f(*args, **kwargs) 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 213s + pullop.cgresult = repo.githandler.fetch(remote, heads) 213s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 213s + imported = self.import_git_objects( 213s + b'pull', 213s + ...<2 lines>... 213s + heads=heads, 213s + ) 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 213s + self.import_git_commit( 213s + ~~~~~~~~~~~~~~~~~~~~~~^ 213s + command, 213s + ^^^^^^^^ 213s + self.git[commit.sha], 213s + ^^^^^^^^^^^^^^^^^^^^^ 213s + commit.phase, 213s + ^^^^^^^^^^^^^ 213s + ) 213s + ^ 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 213s + files, gitlinks, git_renames = self.get_files_changed( 213s + ~~~~~~~~~~~~~~~~~~~~~~^ 213s + commit, detect_renames 213s + ^^^^^^^^^^^^^^^^^^^^^^ 213s + ) 213s + ^ 213s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 213s + oldfile, oldmode, oldsha = change.old 213s + ^^^^^^^^^^^^^^^^^^^^^^^^ 213s + TypeError: cannot unpack non-iterable NoneType object 213s + [1] 213s $ cd hgrepo 213s + $TESTTMP.sh: 30: cd: can't cd to hgrepo 213s $ echo gamma > gamma 213s - $ hg add gamma 213s - $ hg commit -m 'add gamma' 213s - 213s - $ hg log --template "{rev} {node} {node|short} {gitnode} {gitnode|short}\n" 213s - 3 965bf7d08d3ac847dd8eb9e72ee0bf547d1a65d9 965bf7d08d3a 213s - 2 8e3f0ecc9aefd4ea2fdf8e2d5299cac548762a1c 8e3f0ecc9aef 7e2a5465ff4e3b992c429bb87a392620a0ac97b7 7e2a5465ff4e 213s - 1 7fe02317c63d9ee324d4b5df7c9296085162da1b 7fe02317c63d 9497a4ee62e16ee641860d7677cdb2589ea15554 9497a4ee62e1 213s - 0 ff7a2f2d8d7099694ae1e8b03838d40575bebb63 ff7a2f2d8d70 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 7eeab2ea75ec 213s - $ hg log --template "fromgit {rev}\n" --rev "fromgit()" 213s - fromgit 0 213s - fromgit 1 213s - fromgit 2 213s - $ hg log --template "gitnode_existsA {rev}\n" --rev "gitnode(9497a4ee62e16ee641860d7677cdb2589ea15554)" 213s - gitnode_existsA 1 213s - $ hg log --template "gitnode_existsB {rev}\n" --rev "gitnode(7eeab)" 213s - gitnode_existsB 0 213s - $ hg log --rev "gitnode(7e)" 213s - abort: git-mapfile@7e: ambiguous identifier!? (re) 213s - [50] 213s - $ hg log --template "gitnode_notexists {rev}\n" --rev "gitnode(1234567890ab)" 213s 213s ERROR: test-keywords.t output changed 214s ! 214s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-subrepos-delete.t 214s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-subrepos-delete.t.err 214s @@ -53,21 +53,99 @@ 214s 214s $ hg clone -U repo.git hgrepo 214s importing 3 git commits 214s - new changesets e532b2bfda10:cc611d35fb62 (3 drafts) 214s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 214s + ** which supports versions 6.9 of Mercurial. 214s + ** Please disable "hggit" and try your action again. 214s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 214s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 214s + ** Mercurial Distributed SCM (version 7.0.1) 214s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 214s + Traceback (most recent call last): 214s + File "/usr/bin/hg", line 51, in 214s + dispatch.run() 214s + ~~~~~~~~~~~~^^ 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 214s + status = dispatch(req) 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 214s + status = _rundispatch(req) 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 214s + ret = _runcatch(req) or 0 214s + ~~~~~~~~~^^^^^ 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 214s + return _callcatch(ui, _runcatchfunc) 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 214s + return scmutil.callcatch(ui, func) 214s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 214s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 214s + return func() 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 214s + return _dispatch(req) 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 214s + return runcommand( 214s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 214s + ) 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 214s + ret = _runcommand(ui, options, cmd, d) 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 214s + return cmdfunc() 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 214s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 214s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 214s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 214s + return func(*args, **kwargs) 214s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 214s + r = hg.clone( 214s + ui, 214s + ...<11 lines>... 214s + depth=opts.get('depth') or None, 214s + ) 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 214s + srcpeer, destpeer = orig(*args, **opts) 214s + ~~~~^^^^^^^^^^^^^^^ 214s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 214s + exchange.pull( 214s + ~~~~~~~~~~~~~^ 214s + local, 214s + ^^^^^^ 214s + ...<5 lines>... 214s + depth=depth, 214s + ^^^^^^^^^^^^ 214s + ) 214s + ^ 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 214s + return f(*args, **kwargs) 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 214s + pullop.cgresult = repo.githandler.fetch(remote, heads) 214s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 214s + imported = self.import_git_objects( 214s + b'pull', 214s + ...<2 lines>... 214s + heads=heads, 214s + ) 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 214s + self.import_git_commit( 214s + ~~~~~~~~~~~~~~~~~~~~~~^ 214s + command, 214s + ^^^^^^^^ 214s + self.git[commit.sha], 214s + ^^^^^^^^^^^^^^^^^^^^^ 214s + commit.phase, 214s + ^^^^^^^^^^^^^ 214s + ) 214s + ^ 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 214s + files, gitlinks, git_renames = self.get_files_changed( 214s + ~~~~~~~~~~~~~~~~~~~~~~^ 214s + commit, detect_renames 214s + ^^^^^^^^^^^^^^^^^^^^^^ 214s + ) 214s + ^ 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 214s + oldfile, oldmode, oldsha = change.old 214s + ^^^^^^^^^^^^^^^^^^^^^^^^ 214s + TypeError: cannot unpack non-iterable NoneType object 214s + [1] 214s $ cd hgrepo 214s + $TESTTMP.sh: 50: cd: can't cd to hgrepo 214s $ hg log --graph --template info 214s - o 214s - | commit: 2:cc611d35fb62 delete subrepo 214s - | added: 214s - | removed: .hgsub .hgsubstate 214s - o 214s - | commit: 1:8d549bcc5179 add subrepo 214s - | added: .hgsub .hgsubstate 214s - | removed: 214s - o 214s - commit: 0:e532b2bfda10 add alpha 214s - added: alpha 214s - removed: 214s - $ hg manifest -r tip 214s - alpha 214s - $ cd .. 214s 214s ERROR: test-subrepos-delete.t output changed 214s ! 214s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-tree-decomposition.t 214s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-tree-decomposition.t.err 214s @@ -25,44 +25,99 @@ 214s 214s $ hg clone gitrepo hgrepo 214s importing 3 git commits 214s - new changesets d4d3d2417141:541f27994b81 (3 drafts) 214s - updating to bookmark master 214s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 214s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 214s + ** which supports versions 6.9 of Mercurial. 214s + ** Please disable "hggit" and try your action again. 214s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 214s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 214s + ** Mercurial Distributed SCM (version 7.0.1) 214s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 214s + Traceback (most recent call last): 214s + File "/usr/bin/hg", line 51, in 214s + dispatch.run() 214s + ~~~~~~~~~~~~^^ 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 214s + status = dispatch(req) 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 214s + status = _rundispatch(req) 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 214s + ret = _runcatch(req) or 0 214s + ~~~~~~~~~^^^^^ 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 214s + return _callcatch(ui, _runcatchfunc) 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 214s + return scmutil.callcatch(ui, func) 214s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 214s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 214s + return func() 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 214s + return _dispatch(req) 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 214s + return runcommand( 214s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 214s + ) 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 214s + ret = _runcommand(ui, options, cmd, d) 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 214s + return cmdfunc() 214s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 214s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 214s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 214s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 214s + return func(*args, **kwargs) 214s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 214s + r = hg.clone( 214s + ui, 214s + ...<11 lines>... 214s + depth=opts.get('depth') or None, 214s + ) 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 214s + srcpeer, destpeer = orig(*args, **opts) 214s + ~~~~^^^^^^^^^^^^^^^ 214s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 214s + exchange.pull( 214s + ~~~~~~~~~~~~~^ 214s + local, 214s + ^^^^^^ 214s + ...<5 lines>... 214s + depth=depth, 214s + ^^^^^^^^^^^^ 214s + ) 214s + ^ 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 214s + return f(*args, **kwargs) 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 214s + pullop.cgresult = repo.githandler.fetch(remote, heads) 214s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 214s + imported = self.import_git_objects( 214s + b'pull', 214s + ...<2 lines>... 214s + heads=heads, 214s + ) 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 214s + self.import_git_commit( 214s + ~~~~~~~~~~~~~~~~~~~~~~^ 214s + command, 214s + ^^^^^^^^ 214s + self.git[commit.sha], 214s + ^^^^^^^^^^^^^^^^^^^^^ 214s + commit.phase, 214s + ^^^^^^^^^^^^^ 214s + ) 214s + ^ 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 214s + files, gitlinks, git_renames = self.get_files_changed( 214s + ~~~~~~~~~~~~~~~~~~~~~~^ 214s + commit, detect_renames 214s + ^^^^^^^^^^^^^^^^^^^^^^ 214s + ) 214s + ^ 214s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 214s + oldfile, oldmode, oldsha = change.old 214s + ^^^^^^^^^^^^^^^^^^^^^^^^ 214s + TypeError: cannot unpack non-iterable NoneType object 214s + [1] 214s $ cd hgrepo 214s + $TESTTMP.sh: 38: cd: can't cd to hgrepo 214s $ hg log --template 'adds: {file_adds}\ndels: {file_dels}\n' 214s - adds: d1 214s - dels: d1/f1 214s - adds: d2/f2 214s - dels: d1/f2 214s - adds: d1/f1 d1/f2 214s - dels: 214s - 214s - $ hg debug-remove-hggit-state 214s - clearing out the git cache data 214s - $ hg push ../repo.git 214s - pushing to ../repo.git 214s - searching for changes 214s - adding objects 214s - remote: found 0 deltas to reuse 214s - added 3 commits with 6 trees and 3 blobs 214s - adding reference refs/heads/master 214s - $ cd .. 214s - 214s - $ git --git-dir=repo.git log --pretty=medium 214s - commit 6e0dbd8cd92ed4823c69cb48d8a2b81f904e6e69 214s - Author: test 214s - Date: Mon Jan 1 00:00:12 2007 +0000 214s - 214s - replace a dir with a file 214s - 214s - commit a1874d5cd0b1549ed729e36f0da4a93ed36259ee 214s - Author: test 214s - Date: Mon Jan 1 00:00:11 2007 +0000 214s - 214s - rename 214s - 214s - commit 102c17a5deda49db3f10ec5573f9378867098b7c 214s - Author: test 214s - Date: Mon Jan 1 00:00:10 2007 +0000 214s - 214s - initial 214s 214s ERROR: test-tree-decomposition.t output changed 215s ! 215s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push-anonymous.t 215s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-push-anonymous.t.err 215s @@ -26,27 +26,99 @@ 215s 215s $ hg clone -U gitrepo hgrepo 215s importing 1 git commits 215s - new changesets ff7a2f2d8d70 (1 drafts) 215s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 215s + ** which supports versions 6.9 of Mercurial. 215s + ** Please disable "hggit" and try your action again. 215s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 215s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 215s + ** Mercurial Distributed SCM (version 7.0.1) 215s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 215s + Traceback (most recent call last): 215s + File "/usr/bin/hg", line 51, in 215s + dispatch.run() 215s + ~~~~~~~~~~~~^^ 215s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 215s + status = dispatch(req) 215s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 215s + status = _rundispatch(req) 215s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 215s + ret = _runcatch(req) or 0 215s + ~~~~~~~~~^^^^^ 215s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 215s + return _callcatch(ui, _runcatchfunc) 215s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 215s + return scmutil.callcatch(ui, func) 215s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 215s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 215s + return func() 215s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 215s + return _dispatch(req) 215s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 215s + return runcommand( 215s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 215s + ) 215s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 215s + ret = _runcommand(ui, options, cmd, d) 215s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 215s + return cmdfunc() 215s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 215s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 215s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 215s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 215s + return func(*args, **kwargs) 215s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 215s + r = hg.clone( 215s + ui, 215s + ...<11 lines>... 215s + depth=opts.get('depth') or None, 215s + ) 215s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 215s + srcpeer, destpeer = orig(*args, **opts) 215s + ~~~~^^^^^^^^^^^^^^^ 215s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 215s + exchange.pull( 215s + ~~~~~~~~~~~~~^ 215s + local, 215s + ^^^^^^ 215s + ...<5 lines>... 215s + depth=depth, 215s + ^^^^^^^^^^^^ 215s + ) 215s + ^ 215s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 215s + return f(*args, **kwargs) 215s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 215s + pullop.cgresult = repo.githandler.fetch(remote, heads) 215s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 215s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 215s + imported = self.import_git_objects( 215s + b'pull', 215s + ...<2 lines>... 215s + heads=heads, 215s + ) 215s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 215s + self.import_git_commit( 215s + ~~~~~~~~~~~~~~~~~~~~~~^ 215s + command, 215s + ^^^^^^^^ 215s + self.git[commit.sha], 215s + ^^^^^^^^^^^^^^^^^^^^^ 215s + commit.phase, 215s + ^^^^^^^^^^^^^ 215s + ) 215s + ^ 215s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 215s + files, gitlinks, git_renames = self.get_files_changed( 215s + ~~~~~~~~~~~~~~~~~~~~~~^ 215s + commit, detect_renames 215s + ^^^^^^^^^^^^^^^^^^^^^^ 215s + ) 215s + ^ 215s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 215s + oldfile, oldmode, oldsha = change.old 215s + ^^^^^^^^^^^^^^^^^^^^^^^^ 215s + TypeError: cannot unpack non-iterable NoneType object 215s + [1] 215s $ cd hgrepo 215s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 215s $ hg up tip 215s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 215s - $ echo beta > beta 215s - $ hg add beta 215s - $ fn_hg_commit -m "add beta" 215s - 215s -Pushing that changeset should print a helpful message: 215s - 215s - $ hg push 215s - pushing to $TESTTMP/gitrepo 215s - searching for changes 215s - no changes found (ignoring 1 changesets without bookmarks or tags) 215s - [1] 215s - 215s -But what about untagged, but secret changesets? 215s - 215s - $ hg phase -fs tip 215s - $ hg push 215s - pushing to $TESTTMP/gitrepo 215s - searching for changes 215s - no changes found 215s - [1] 215s 215s ERROR: test-push-anonymous.t output changed 217s ! 217s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-subrepos-drop.t 217s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-subrepos-drop.t.err 217s @@ -37,11 +37,80 @@ 217s $ hg -R hgrepo push 217s pushing to $TESTTMP/repo.git 217s warning: ignoring modifications to '.gitmodules' file; please use '.hgsub' instead 217s - searching for changes 217s - adding objects 217s - remote: found 0 deltas to reuse 217s - added 2 commits with 1 trees and 1 blobs 217s - adding reference refs/heads/master 217s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 217s + ** which supports versions 6.9 of Mercurial. 217s + ** Please disable "hggit" and try your action again. 217s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 217s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 217s + ** Mercurial Distributed SCM (version 7.0.1) 217s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 217s + Traceback (most recent call last): 217s + File "/usr/bin/hg", line 51, in 217s + dispatch.run() 217s + ~~~~~~~~~~~~^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 217s + status = dispatch(req) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 217s + status = _rundispatch(req) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 217s + ret = _runcatch(req) or 0 217s + ~~~~~~~~~^^^^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 217s + return _callcatch(ui, _runcatchfunc) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 217s + return scmutil.callcatch(ui, func) 217s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 217s + return func() 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 217s + return _dispatch(req) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 217s + return runcommand( 217s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 217s + ) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 217s + ret = _runcommand(ui, options, cmd, d) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 217s + return cmdfunc() 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 217s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 217s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 217s + return func(*args, **kwargs) 217s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 217s + pushop = exchange.push( 217s + repo, 217s + ...<6 lines>... 217s + opargs=opargs, 217s + ) 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 217s + return f(*args, **kwargs) 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 217s + pushop.cgresult = repo.githandler.push( 217s + ~~~~~~~~~~~~~~~~~~~~^ 217s + remote.path, revs, bookmarks, force 217s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + ) 217s + ^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 217s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 217s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 217s + all_exportable = self.export_commits() 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 217s + self.export_git_objects() 217s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 217s + packer.pack(synchronous=True) 217s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 217s + _process_batch(self.ui, self.object_store, todo) 217s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 217s + object_store._remove_loose_object(obj.id) 217s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 217s + [1] 217s 217s But we don't get a warning if we don't touch .gitmodules: 217s 217s @@ -50,19 +119,87 @@ 217s $ fn_hg_commit -A -m 'add that' 217s $ hg push 217s pushing to $TESTTMP/repo.git 217s - searching for changes 217s - adding objects 217s - remote: found 0 deltas to reuse 217s - added 1 commits with 1 trees and 0 blobs 217s - updating reference refs/heads/master 217s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 217s + ** which supports versions 6.9 of Mercurial. 217s + ** Please disable "hggit" and try your action again. 217s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 217s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 217s + ** Mercurial Distributed SCM (version 7.0.1) 217s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 217s + Traceback (most recent call last): 217s + File "/usr/bin/hg", line 51, in 217s + dispatch.run() 217s + ~~~~~~~~~~~~^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 217s + status = dispatch(req) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 217s + status = _rundispatch(req) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 217s + ret = _runcatch(req) or 0 217s + ~~~~~~~~~^^^^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 217s + return _callcatch(ui, _runcatchfunc) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 217s + return scmutil.callcatch(ui, func) 217s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 217s + return func() 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 217s + return _dispatch(req) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 217s + return runcommand( 217s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 217s + ) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 217s + ret = _runcommand(ui, options, cmd, d) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 217s + return cmdfunc() 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 217s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 217s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 217s + return func(*args, **kwargs) 217s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 217s + pushop = exchange.push( 217s + repo, 217s + ...<6 lines>... 217s + opargs=opargs, 217s + ) 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 217s + return f(*args, **kwargs) 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 217s + pushop.cgresult = repo.githandler.push( 217s + ~~~~~~~~~~~~~~~~~~~~^ 217s + remote.path, revs, bookmarks, force 217s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + ) 217s + ^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 217s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 217s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 217s + all_exportable = self.export_commits() 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 217s + self.export_git_objects() 217s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 217s + packer.pack(synchronous=True) 217s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 217s + _process_batch(self.ui, self.object_store, todo) 217s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 217s + object_store._remove_loose_object(obj.id) 217s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 217s + [1] 217s $ cd .. 217s 217s Check that it didn't silenty come through, or something: 217s 217s $ git clone repo.git gitrepo 217s Cloning into 'gitrepo'... 217s + warning: You appear to have cloned an empty repository. 217s done. 217s $ ls -A gitrepo 217s .git 217s - that 217s - this 217s 217s ERROR: test-subrepos-drop.t output changed 217s ! 217s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-empty-working-tree.t 217s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-empty-working-tree.t.err 217s @@ -24,15 +24,81 @@ 217s clearing out the git cache data 217s $ hg push ../repo.git 217s pushing to ../repo.git 217s - searching for changes 217s - adding objects 217s - remote: found 0 deltas to reuse 217s - added 1 commits with 1 trees and 0 blobs 217s - adding reference refs/heads/master 217s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 217s + ** which supports versions 6.9 of Mercurial. 217s + ** Please disable "hggit" and try your action again. 217s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 217s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 217s + ** Mercurial Distributed SCM (version 7.0.1) 217s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 217s + Traceback (most recent call last): 217s + File "/usr/bin/hg", line 51, in 217s + dispatch.run() 217s + ~~~~~~~~~~~~^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 217s + status = dispatch(req) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 217s + status = _rundispatch(req) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 217s + ret = _runcatch(req) or 0 217s + ~~~~~~~~~^^^^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 217s + return _callcatch(ui, _runcatchfunc) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 217s + return scmutil.callcatch(ui, func) 217s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 217s + return func() 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 217s + return _dispatch(req) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 217s + return runcommand( 217s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 217s + ) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 217s + ret = _runcommand(ui, options, cmd, d) 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 217s + return cmdfunc() 217s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 217s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 217s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 217s + return func(*args, **kwargs) 217s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 217s + pushop = exchange.push( 217s + repo, 217s + ...<6 lines>... 217s + opargs=opargs, 217s + ) 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 217s + return f(*args, **kwargs) 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 217s + pushop.cgresult = repo.githandler.push( 217s + ~~~~~~~~~~~~~~~~~~~~^ 217s + remote.path, revs, bookmarks, force 217s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + ) 217s + ^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 217s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 217s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 217s + all_exportable = self.export_commits() 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 217s + self.export_git_objects() 217s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 217s + packer.pack(synchronous=True) 217s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 217s + _process_batch(self.ui, self.object_store, todo) 217s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 217s + object_store._remove_loose_object(obj.id) 217s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 217s + [1] 217s $ cd .. 217s $ git --git-dir=repo.git log --pretty=medium 217s - commit 678256865a8c85ae925bf834369264193c88f8de 217s - Author: test 217s - Date: Mon Jan 1 00:00:00 2007 +0000 217s - 217s - empty 217s + fatal: your current branch 'master' does not have any commits yet 217s + [128] 217s 217s ERROR: test-empty-working-tree.t output changed 220s ! 220s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-gitignore-permissions.t 220s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-gitignore-permissions.t.err 220s @@ -18,6 +18,63 @@ 220s $ hg add thefile 220s $ hg ci -A -m commit 220s $ hg gexport 220s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 220s + ** which supports versions 6.9 of Mercurial. 220s + ** Please disable "hggit" and try your action again. 220s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 220s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 220s + ** Mercurial Distributed SCM (version 7.0.1) 220s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 220s + Traceback (most recent call last): 220s + File "/usr/bin/hg", line 51, in 220s + dispatch.run() 220s + ~~~~~~~~~~~~^^ 220s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 220s + status = dispatch(req) 220s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 220s + status = _rundispatch(req) 220s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 220s + ret = _runcatch(req) or 0 220s + ~~~~~~~~~^^^^^ 220s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 220s + return _callcatch(ui, _runcatchfunc) 220s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 220s + return scmutil.callcatch(ui, func) 220s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 220s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 220s + return func() 220s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 220s + return _dispatch(req) 220s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 220s + return runcommand( 220s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 220s + ) 220s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 220s + ret = _runcommand(ui, options, cmd, d) 220s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 220s + return cmdfunc() 220s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 220s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 220s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 220s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 220s + return func(*args, **kwargs) 220s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 64, in gexport 220s + repo.githandler.export_commits() 220s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 220s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 220s + self.export_git_objects() 220s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 220s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 220s + packer.pack(synchronous=True) 220s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 220s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 220s + _process_batch(self.ui, self.object_store, todo) 220s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 220s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 220s + object_store._remove_loose_object(obj.id) 220s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 220s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 220s + [1] 220s 220s Create a file that we can ignore 220s 220s 220s ERROR: test-gitignore-permissions.t output changed 221s ! 221s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-gitignore-share.t 221s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-gitignore-share.t.err 221s @@ -20,11 +20,80 @@ 221s $ hg book master 221s $ hg push 221s pushing to $TESTTMP/repo.git 221s - searching for changes 221s - adding objects 221s - remote: found 0 deltas to reuse 221s - added 1 commits with 1 trees and 1 blobs 221s - adding reference refs/heads/master 221s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 221s + ** which supports versions 6.9 of Mercurial. 221s + ** Please disable "hggit" and try your action again. 221s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 221s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 221s + ** Mercurial Distributed SCM (version 7.0.1) 221s + ** Extensions loaded: hggit unknown (dulwich 0.24.10), share 221s + Traceback (most recent call last): 221s + File "/usr/bin/hg", line 51, in 221s + dispatch.run() 221s + ~~~~~~~~~~~~^^ 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 221s + status = dispatch(req) 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 221s + status = _rundispatch(req) 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 221s + ret = _runcatch(req) or 0 221s + ~~~~~~~~~^^^^^ 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 221s + return _callcatch(ui, _runcatchfunc) 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 221s + return scmutil.callcatch(ui, func) 221s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 221s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 221s + return func() 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 221s + return _dispatch(req) 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 221s + return runcommand( 221s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 221s + ) 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 221s + ret = _runcommand(ui, options, cmd, d) 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 221s + return cmdfunc() 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 221s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 221s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 221s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 221s + return func(*args, **kwargs) 221s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 221s + pushop = exchange.push( 221s + repo, 221s + ...<6 lines>... 221s + opargs=opargs, 221s + ) 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 221s + return f(*args, **kwargs) 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 232, in exchangepush 221s + pushop.cgresult = repo.githandler.push( 221s + ~~~~~~~~~~~~~~~~~~~~^ 221s + remote.path, revs, bookmarks, force 221s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 221s + ) 221s + ^ 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 520, in push 221s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 221s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1421, in upload_pack 221s + all_exportable = self.export_commits() 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 221s + self.export_git_objects() 221s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 221s + packer.pack(synchronous=True) 221s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 221s + _process_batch(self.ui, self.object_store, todo) 221s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 221s + object_store._remove_loose_object(obj.id) 221s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 221s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 221s + [1] 221s $ cd .. 221s 221s We should also ignore the file in a shared repository: 221s 221s ERROR: test-gitignore-share.t output changed 221s ! 221s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-ambiguousprefix.t 221s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-ambiguousprefix.t.err 221s @@ -22,12 +22,101 @@ 221s 221s $ hg clone gitrepo hgrepo 221s importing 3 git commits 221s - new changesets ff7a2f2d8d70:8e3f0ecc9aef (3 drafts) 221s - updating to bookmark master 221s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 221s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 221s + ** which supports versions 6.9 of Mercurial. 221s + ** Please disable "hggit" and try your action again. 221s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 221s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 221s + ** Mercurial Distributed SCM (version 7.0.1) 221s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 221s + Traceback (most recent call last): 221s + File "/usr/bin/hg", line 51, in 221s + dispatch.run() 221s + ~~~~~~~~~~~~^^ 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 221s + status = dispatch(req) 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 221s + status = _rundispatch(req) 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 221s + ret = _runcatch(req) or 0 221s + ~~~~~~~~~^^^^^ 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 221s + return _callcatch(ui, _runcatchfunc) 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 221s + return scmutil.callcatch(ui, func) 221s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 221s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 221s + return func() 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 221s + return _dispatch(req) 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 221s + return runcommand( 221s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 221s + ) 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 221s + ret = _runcommand(ui, options, cmd, d) 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 221s + return cmdfunc() 221s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 221s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 221s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 221s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 221s + return func(*args, **kwargs) 221s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 221s + r = hg.clone( 221s + ui, 221s + ...<11 lines>... 221s + depth=opts.get('depth') or None, 221s + ) 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/schemes.py", line 116, in clone 221s + srcpeer, destpeer = orig(*args, **opts) 221s + ~~~~^^^^^^^^^^^^^^^ 221s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 221s + exchange.pull( 221s + ~~~~~~~~~~~~~^ 221s + local, 221s + ^^^^^^ 221s + ...<5 lines>... 221s + depth=depth, 221s + ^^^^^^^^^^^^ 221s + ) 221s + ^ 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/util.py", line 98, in inner 221s + return f(*args, **kwargs) 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gitrepo.py", line 195, in exchangepull 221s + pullop.cgresult = repo.githandler.fetch(remote, heads) 221s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 397, in fetch 221s + imported = self.import_git_objects( 221s + b'pull', 221s + ...<2 lines>... 221s + heads=heads, 221s + ) 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1085, in import_git_objects 221s + self.import_git_commit( 221s + ~~~~~~~~~~~~~~~~~~~~~~^ 221s + command, 221s + ^^^^^^^^ 221s + self.git[commit.sha], 221s + ^^^^^^^^^^^^^^^^^^^^^ 221s + commit.phase, 221s + ^^^^^^^^^^^^^ 221s + ) 221s + ^ 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 1145, in import_git_commit 221s + files, gitlinks, git_renames = self.get_files_changed( 221s + ~~~~~~~~~~~~~~~~~~~~~~^ 221s + commit, detect_renames 221s + ^^^^^^^^^^^^^^^^^^^^^^ 221s + ) 221s + ^ 221s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 2130, in get_files_changed 221s + oldfile, oldmode, oldsha = change.old 221s + ^^^^^^^^^^^^^^^^^^^^^^^^ 221s + TypeError: cannot unpack non-iterable NoneType object 221s + [1] 221s 221s $ cd hgrepo 221s + $TESTTMP.sh: 30: cd: can't cd to hgrepo 221s 221s $ hg log -r 'gitnode(7e)' 221s - abort: git-mapfile@7e: ambiguous identifier!? (re) 221s - [50] 221s 221s ERROR: test-ambiguousprefix.t output changed 223s ! 223s --- /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-timezone.t 223s +++ /tmp/autopkgtest.xNnmEa/build.DIT/src/tests/test-timezone.t.err 223s @@ -30,3 +30,60 @@ 223s $ hg import patch2 223s applying patch2 223s $ hg gexport 223s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 223s + ** which supports versions 6.9 of Mercurial. 223s + ** Please disable "hggit" and try your action again. 223s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 223s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 223s + ** Mercurial Distributed SCM (version 7.0.1) 223s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 223s + Traceback (most recent call last): 223s + File "/usr/bin/hg", line 51, in 223s + dispatch.run() 223s + ~~~~~~~~~~~~^^ 223s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 223s + status = dispatch(req) 223s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 223s + status = _rundispatch(req) 223s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 223s + ret = _runcatch(req) or 0 223s + ~~~~~~~~~^^^^^ 223s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 223s + return _callcatch(ui, _runcatchfunc) 223s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 223s + return scmutil.callcatch(ui, func) 223s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 223s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 223s + return func() 223s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 223s + return _dispatch(req) 223s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 223s + return runcommand( 223s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 223s + ) 223s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 223s + ret = _runcommand(ui, options, cmd, d) 223s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 223s + return cmdfunc() 223s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 223s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 223s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 223s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 223s + return func(*args, **kwargs) 223s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/commands.py", line 64, in gexport 223s + repo.githandler.export_commits() 223s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 223s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 465, in export_commits 223s + self.export_git_objects() 223s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 223s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/git_handler.py", line 715, in export_git_objects 223s + packer.pack(synchronous=True) 223s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 223s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 121, in pack 223s + _process_batch(self.ui, self.object_store, todo) 223s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s + File "/tmp/autopkgtest.xNnmEa/build.DIT/src/hggit/gc.py", line 59, in _process_batch 223s + object_store._remove_loose_object(obj.id) 223s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 223s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 223s + [1] 223s 223s ERROR: test-timezone.t output changed 227s !.s... 227s Skipped test-check-black.t: missing feature: the black formatter for python (>= 22.3) 227s Skipped test-check-commit.t: missing feature: running tests from repository 227s Skipped test-check-pyflakes.t: missing feature: Pyflakes python linter 227s Skipped test-check-pylint.t: missing feature: Pylint python linter 227s Skipped test-encoding.t: blacklisted 227s Skipped test-gitignore-windows.t: missing feature: Windows 227s Skipped test-incoming.t: blacklisted 227s Skipped test-serve-ci.t: skipped 227s Skipped test-serve-dulwich.t: blacklisted 227s Failed test-ambiguousprefix.t: output changed and returned error code 1 227s Failed test-annotate.t: output changed 227s Failed test-bookmark-workflow.t: output changed and returned error code 1 227s Failed test-branch-bookmark-suffix.t#with-path: output changed and returned error code 1 227s Failed test-branch-bookmark-suffix.t#without-path: output changed and returned error code 1 227s Failed test-bundle.t: output changed and returned error code 1 227s Failed test-clone.t#draft: output changed 227s Failed test-clone.t#secret: output changed 227s Failed test-conflict-1.t: output changed 227s Failed test-conflict-2.t: output changed 227s Failed test-convergedmerge.t: output changed 227s Failed test-empty-working-tree.t: output changed 227s Failed test-extra.t: output changed and returned error code 1 227s Failed test-file-removal.t: output changed and returned error code 1 227s Failed test-gc.t: output changed and returned error code 1 227s Failed test-git-clone.t: output changed 227s Failed test-git-gpg.t: output changed and returned error code 1 227s Failed test-git-submodules.t: output changed and returned error code 1 227s Failed test-git-tags.t#draft: output changed and returned error code 1 227s Failed test-git-tags.t#secret: output changed and returned error code 1 227s Failed test-git-workflow.t: output changed 227s Failed test-gitignore-permissions.t: output changed 227s Failed test-gitignore-share.t: output changed 227s Failed test-gitignore.t: output changed 227s Failed test-hg-author.t: output changed and returned error code 1 227s Failed test-hg-branch.t: output changed and returned error code 1 227s Failed test-hg-clone.t: output changed and returned error code 1 227s Failed test-hg-tags.t: output changed and returned error code 1 227s Failed test-hook.t: output changed 227s Failed test-illegal-contents.t: output changed 227s Failed test-invalid-refs.t: output changed and returned error code 1 227s Failed test-keywords.t: output changed and returned error code 1 227s Failed test-merge.t: output changed and returned error code 1 227s Failed test-multiple-remotes.t: output changed 227s Failed test-octopus.t: output changed and returned error code 1 227s Failed test-orphan-tags.t: output changed and returned error code 1 227s Failed test-outgoing.t: output changed and returned error code 1 227s Failed test-phases-draft.t: output changed and returned error code 1 227s Failed test-phases-public.t#publish-defaults: output changed and returned error code 1 227s Failed test-phases-public.t#publish-specific: output changed and returned error code 1 227s Failed test-phases-remote.t: output changed and returned error code 1 227s Failed test-pull-after-obsolete.t: output changed and returned error code 1 227s Failed test-pull-after-rebase.t: output changed and returned error code 1 227s Failed test-pull-after-strip.t: output changed and returned error code 1 227s Failed test-pull.t#draft: output changed 227s Failed test-pull.t#secret: output changed 227s Failed test-push-anonymous.t: output changed and returned error code 1 227s Failed test-push-authors.t: output changed 227s Failed test-push-detached.t: output changed and returned error code 1 227s Failed test-push-missing-commit.t: output changed and returned error code 1 227s Failed test-push-phases.t: output changed 227s Failed test-push-to-head.t: output changed and returned error code 1 227s Failed test-push.t: output changed and returned error code 1 227s Failed test-renames.t: output changed and returned error code 1 227s Failed test-serve-git.t: output changed 227s Failed test-serve-hg.t#with-hggit: output changed and returned error code 1 227s Failed test-serve-hg.t#without-hggit: output changed and returned error code 1 227s Failed test-subrepos-delete.t: output changed and returned error code 1 227s Failed test-subrepos-drop.t: output changed 227s Failed test-subrepos-push.t: output changed 227s Failed test-subrepos-syntax.t: output changed and returned error code 1 227s Failed test-subrepos.t: output changed and returned error code 1 227s Failed test-timezone.t: output changed 227s Failed test-transactions.t: output changed 227s Failed test-tree-decomposition.t: output changed and returned error code 1 227s Failed test-verify-fail.t: output changed 227s # Ran 73 tests, 9 skipped, 66 failed. 227s python hash seed: 1063099203 227s make: *** [Makefile:15: tests] Error 1 227s autopkgtest [16:38:17]: test testsuite: -----------------------] 228s autopkgtest [16:38:18]: test testsuite: - - - - - - - - - - results - - - - - - - - - - 228s testsuite FAIL non-zero exit status 2 229s autopkgtest [16:38:19]: test mercurial-git: preparing testbed 249s Creating nova instance adt-resolute-arm64-hg-git-20251117-162836-juju-7f2275-prod-proposed-migration-environment-20-3ba78750-6a25-4d77-a12a-0b1d954eef3c from image adt/ubuntu-resolute-arm64-server-20251117.img (UUID 1cd33fbb-18df-4c5a-b8f0-2dcb25269485)... 308s autopkgtest [16:39:38]: testbed dpkg architecture: arm64 308s autopkgtest [16:39:38]: testbed apt version: 3.1.11 308s autopkgtest [16:39:38]: @@@@@@@@@@@@@@@@@@@@ test bed setup 309s autopkgtest [16:39:39]: testbed release detected to be: resolute 309s autopkgtest [16:39:39]: updating testbed package index (apt update) 310s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 310s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 310s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 310s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 310s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [9848 B] 310s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [22.9 kB] 310s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [81.5 kB] 310s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [839 kB] 311s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [149 kB] 311s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [3084 B] 311s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 Packages [107 kB] 311s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [324 B] 311s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [557 kB] 311s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [17.3 kB] 311s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [12.5 kB] 311s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [576 B] 312s Fetched 1888 kB in 1s (1633 kB/s) 313s Reading package lists... 314s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 314s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 314s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 314s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 315s Reading package lists... 315s Reading package lists... 315s Building dependency tree... 315s Reading state information... 315s Calculating upgrade... 316s The following packages will be upgraded: 316s usbutils 316s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 316s Need to get 81.7 kB of archives. 316s After this operation, 0 B of additional disk space will be used. 316s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 usbutils arm64 1:019-1 [81.7 kB] 317s dpkg-preconfigure: unable to re-open stdin: No such file or directory 317s Fetched 81.7 kB in 0s (275 kB/s) 317s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 88137 files and directories currently installed.) 317s Preparing to unpack .../usbutils_1%3a019-1_arm64.deb ... 317s Unpacking usbutils (1:019-1) over (1:018-2) ... 317s Setting up usbutils (1:019-1) ... 317s Processing triggers for man-db (2.13.1-1) ... 319s autopkgtest [16:39:49]: upgrading testbed (apt dist-upgrade and autopurge) 319s Reading package lists... 319s Building dependency tree... 319s Reading state information... 319s Calculating upgrade... 320s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 320s Reading package lists... 320s Building dependency tree... 320s Reading state information... 320s Solving dependencies... 321s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 324s Reading package lists... 324s Building dependency tree... 324s Reading state information... 324s Solving dependencies... 325s The following NEW packages will be installed: 325s git git-man liberror-perl mercurial mercurial-common mercurial-git 325s python3-dulwich 325s 0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. 325s Need to get 9254 kB of archives. 325s After this operation, 48.2 MB of additional disk space will be used. 325s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 liberror-perl all 0.17030-1 [23.5 kB] 325s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 git-man all 1:2.51.0-1ubuntu1 [1179 kB] 325s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 git arm64 1:2.51.0-1ubuntu1 [4431 kB] 326s Get:4 http://ftpmaster.internal/ubuntu resolute/universe arm64 mercurial-common all 7.0.1-2 [2783 kB] 326s Get:5 http://ftpmaster.internal/ubuntu resolute/universe arm64 mercurial arm64 7.0.1-2 [393 kB] 326s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 python3-dulwich arm64 0.24.10-1 [383 kB] 327s Get:7 http://ftpmaster.internal/ubuntu resolute/universe arm64 mercurial-git all 1.2.0-1 [60.9 kB] 327s Fetched 9254 kB in 2s (5106 kB/s) 327s Selecting previously unselected package liberror-perl. 327s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 88137 files and directories currently installed.) 327s Preparing to unpack .../0-liberror-perl_0.17030-1_all.deb ... 327s Unpacking liberror-perl (0.17030-1) ... 327s Selecting previously unselected package git-man. 327s Preparing to unpack .../1-git-man_1%3a2.51.0-1ubuntu1_all.deb ... 327s Unpacking git-man (1:2.51.0-1ubuntu1) ... 327s Selecting previously unselected package git. 327s Preparing to unpack .../2-git_1%3a2.51.0-1ubuntu1_arm64.deb ... 327s Unpacking git (1:2.51.0-1ubuntu1) ... 328s Selecting previously unselected package mercurial-common. 328s Preparing to unpack .../3-mercurial-common_7.0.1-2_all.deb ... 328s Unpacking mercurial-common (7.0.1-2) ... 328s Selecting previously unselected package mercurial. 328s Preparing to unpack .../4-mercurial_7.0.1-2_arm64.deb ... 328s Unpacking mercurial (7.0.1-2) ... 328s Selecting previously unselected package python3-dulwich. 328s Preparing to unpack .../5-python3-dulwich_0.24.10-1_arm64.deb ... 328s Unpacking python3-dulwich (0.24.10-1) ... 328s Selecting previously unselected package mercurial-git. 328s Preparing to unpack .../6-mercurial-git_1.2.0-1_all.deb ... 328s Unpacking mercurial-git (1.2.0-1) ... 328s Setting up mercurial-common (7.0.1-2) ... 331s Setting up liberror-perl (0.17030-1) ... 331s Setting up python3-dulwich (0.24.10-1) ... 331s Setting up git-man (1:2.51.0-1ubuntu1) ... 331s Setting up mercurial (7.0.1-2) ... 331s Creating config file /etc/mercurial/hgrc.d/hgext.rc with new version 331s Setting up mercurial-git (1.2.0-1) ... 331s mercurial-git extension is disabled by default. 331s You can follow the instructions in /usr/share/doc/mercurial-git/README.Debian to enable it. 332s Setting up git (1:2.51.0-1ubuntu1) ... 332s Processing triggers for man-db (2.13.1-1) ... 335s autopkgtest [16:40:05]: test mercurial-git: [----------------------- 335s Initialized empty Git repository in /tmp/autopkgtest.xNnmEa/build.DIT/src/git_server/ 335s Cloning into 'git_clone'... 335s warning: You appear to have cloned an empty repository. 335s done. 335s [master (root-commit) c59d31f] a 335s 1 file changed, 1 insertion(+) 335s create mode 100644 a 335s To /tmp/autopkgtest.xNnmEa/build.DIT/src/git_server 335s * [new branch] master -> master 336s importing 1 git commits 336s ** Unknown exception encountered with possibly-broken third-party extension "hggit" 1.2.0 (dulwich 0.24.10) 336s ** which supports versions 6.9 of Mercurial. 336s ** Please disable "hggit" and try your action again. 336s ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 336s ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 336s ** Mercurial Distributed SCM (version 7.0.1) 336s ** Extensions loaded: hggit 1.2.0 (dulwich 0.24.10) 338s Traceback (most recent call last): 338s File "/usr/bin/hg", line 51, in 338s dispatch.run() 338s ~~~~~~~~~~~~^^ 338s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 338s status = dispatch(req) 338s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 338s status = _rundispatch(req) 338s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 338s ret = _runcatch(req) or 0 338s ~~~~~~~~~^^^^^ 338s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 338s return _callcatch(ui, _runcatchfunc) 338s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 338s return scmutil.callcatch(ui, func) 338s ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 338s File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 338s return func() 338s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 338s return _dispatch(req) 338s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 338s return runcommand( 338s lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 338s ) 338s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 338s ret = _runcommand(ui, options, cmd, d) 338s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 338s return cmdfunc() 338s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 338s d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 338s ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 338s File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 338s return func(*args, **kwargs) 338s File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 338s r = hg.clone( 338s ui, 338s ...<11 lines>... 338s depth=opts.get('depth') or None, 338s ) 338s File "/usr/lib/python3/dist-packages/hggit/schemes.py", line 116, in clone 338s srcpeer, destpeer = orig(*args, **opts) 338s ~~~~^^^^^^^^^^^^^^^ 338s File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 338s exchange.pull( 338s ~~~~~~~~~~~~~^ 338s local, 338s ^^^^^^ 338s ...<5 lines>... 338s depth=depth, 338s ^^^^^^^^^^^^ 338s ) 338s ^ 338s File "/usr/lib/python3/dist-packages/hggit/util.py", line 98, in inner 338s return f(*args, **kwargs) 338s File "/usr/lib/python3/dist-packages/hggit/gitrepo.py", line 195, in exchangepull 338s pullop.cgresult = repo.githandler.fetch(remote, heads) 338s ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 338s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 397, in fetch 338s imported = self.import_git_objects( 338s b'pull', 338s ...<2 lines>... 338s heads=heads, 338s ) 338s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 1085, in import_git_objects 338s self.import_git_commit( 338s ~~~~~~~~~~~~~~~~~~~~~~^ 338s command, 338s ^^^^^^^^ 338s self.git[commit.sha], 338s ^^^^^^^^^^^^^^^^^^^^^ 338s commit.phase, 338s ^^^^^^^^^^^^^ 338s ) 338s ^ 338s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 1145, in import_git_commit 338s files, gitlinks, git_renames = self.get_files_changed( 338s ~~~~~~~~~~~~~~~~~~~~~~^ 338s commit, detect_renames 338s ^^^^^^^^^^^^^^^^^^^^^^ 338s ) 338s ^ 338s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 2130, in get_files_changed 338s oldfile, oldmode, oldsha = change.old 338s ^^^^^^^^^^^^^^^^^^^^^^^^ 338s TypeError: cannot unpack non-iterable NoneType object 339s autopkgtest [16:40:09]: test mercurial-git: -----------------------] 339s autopkgtest [16:40:09]: test mercurial-git: - - - - - - - - - - results - - - - - - - - - - 339s mercurial-git FAIL non-zero exit status 1 339s autopkgtest [16:40:09]: test mercurial-git: - - - - - - - - - - stderr - - - - - - - - - - 339s ** Unknown exception encountered with possibly-broken third-party extension "hggit" 1.2.0 (dulwich 0.24.10) 339s ** which supports versions 6.9 of Mercurial. 339s ** Please disable "hggit" and try your action again. 339s ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 339s ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 339s ** Mercurial Distributed SCM (version 7.0.1) 339s ** Extensions loaded: hggit 1.2.0 (dulwich 0.24.10) 339s Traceback (most recent call last): 339s File "/usr/bin/hg", line 51, in 339s dispatch.run() 339s ~~~~~~~~~~~~^^ 339s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 339s status = dispatch(req) 339s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 339s status = _rundispatch(req) 339s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 339s ret = _runcatch(req) or 0 339s ~~~~~~~~~^^^^^ 339s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 339s return _callcatch(ui, _runcatchfunc) 339s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 339s return scmutil.callcatch(ui, func) 339s ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 339s File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 339s return func() 339s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 339s return _dispatch(req) 339s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 339s return runcommand( 339s lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 339s ) 339s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 339s ret = _runcommand(ui, options, cmd, d) 339s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 339s return cmdfunc() 339s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 339s d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 339s ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 339s File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 339s return func(*args, **kwargs) 339s File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 339s r = hg.clone( 339s ui, 339s ...<11 lines>... 339s depth=opts.get('depth') or None, 339s ) 339s File "/usr/lib/python3/dist-packages/hggit/schemes.py", line 116, in clone 339s srcpeer, destpeer = orig(*args, **opts) 339s ~~~~^^^^^^^^^^^^^^^ 339s File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 339s exchange.pull( 339s ~~~~~~~~~~~~~^ 339s local, 339s ^^^^^^ 339s ...<5 lines>... 339s depth=depth, 339s ^^^^^^^^^^^^ 339s ) 339s ^ 339s File "/usr/lib/python3/dist-packages/hggit/util.py", line 98, in inner 339s return f(*args, **kwargs) 339s File "/usr/lib/python3/dist-packages/hggit/gitrepo.py", line 195, in exchangepull 339s pullop.cgresult = repo.githandler.fetch(remote, heads) 339s ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 339s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 397, in fetch 339s imported = self.import_git_objects( 339s b'pull', 339s ...<2 lines>... 339s heads=heads, 339s ) 339s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 1085, in import_git_objects 339s self.import_git_commit( 339s ~~~~~~~~~~~~~~~~~~~~~~^ 339s command, 339s ^^^^^^^^ 339s self.git[commit.sha], 339s ^^^^^^^^^^^^^^^^^^^^^ 339s commit.phase, 339s ^^^^^^^^^^^^^ 339s ) 339s ^ 339s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 1145, in import_git_commit 339s files, gitlinks, git_renames = self.get_files_changed( 339s ~~~~~~~~~~~~~~~~~~~~~~^ 339s commit, detect_renames 339s ^^^^^^^^^^^^^^^^^^^^^^ 339s ) 339s ^ 339s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 2130, in get_files_changed 339s oldfile, oldmode, oldsha = change.old 339s ^^^^^^^^^^^^^^^^^^^^^^^^ 339s TypeError: cannot unpack non-iterable NoneType object 340s autopkgtest [16:40:10]: @@@@@@@@@@@@@@@@@@@@ summary 340s testsuite FAIL non-zero exit status 2 340s mercurial-git FAIL non-zero exit status 1