0s autopkgtest [16:24:29]: starting date and time: 2025-11-17 16:24:29+0000 0s autopkgtest [16:24:29]: git checkout: 508d4a25 a-v-ssh wait_for_ssh: demote "ssh connection failed" to a debug message 0s autopkgtest [16:24:29]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.vvrmgge5/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --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 -- lxd -r lxd-armhf-10.145.243.188 lxd-armhf-10.145.243.188:autopkgtest/ubuntu/resolute/armhf 25s autopkgtest [16:24:54]: testbed dpkg architecture: armhf 27s autopkgtest [16:24:56]: testbed apt version: 3.1.11 31s autopkgtest [16:25:00]: @@@@@@@@@@@@@@@@@@@@ test bed setup 33s autopkgtest [16:25:02]: testbed release detected to be: None 42s autopkgtest [16:25:11]: updating testbed package index (apt update) 44s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 44s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [87.8 kB] 44s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 44s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 45s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [81.5 kB] 45s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [839 kB] 45s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [9848 B] 45s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [22.9 kB] 45s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [138 kB] 45s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted armhf Packages [940 B] 45s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [515 kB] 45s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [9684 B] 45s Get:13 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 45s Get:14 http://ftpmaster.internal/ubuntu resolute/main Sources [1416 kB] 46s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1369 kB] 46s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [15.2 MB] 49s Fetched 41.1 MB in 5s (7834 kB/s) 50s Reading package lists... 57s autopkgtest [16:25:26]: upgrading testbed (apt dist-upgrade and autopurge) 59s Reading package lists... 59s Building dependency tree... 59s Reading state information... 59s Calculating upgrade... 60s The following packages will be upgraded: 60s usbutils 60s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 60s Need to get 77.7 kB of archives. 60s After this operation, 0 B of additional disk space will be used. 60s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf usbutils armhf 1:019-1 [77.7 kB] 61s Fetched 77.7 kB in 0s (233 kB/s) 61s (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 ... 65904 files and directories currently installed.) 61s Preparing to unpack .../usbutils_1%3a019-1_armhf.deb ... 61s Unpacking usbutils (1:019-1) over (1:018-2) ... 61s Setting up usbutils (1:019-1) ... 61s Processing triggers for man-db (2.13.1-1) ... 64s Reading package lists... 65s Building dependency tree... 65s Reading state information... 65s Solving dependencies... 66s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 67s autopkgtest [16:25:36]: rebooting testbed after setup commands that affected boot 110s autopkgtest [16:26:19]: testbed running kernel: Linux 6.8.0-86-generic #87~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 29 09:26:46 UTC 2 137s autopkgtest [16:26:46]: @@@@@@@@@@@@@@@@@@@@ apt-source hg-git 148s Get:1 http://ftpmaster.internal/ubuntu resolute/universe hg-git 1.2.0-1 (dsc) [2142 B] 148s Get:2 http://ftpmaster.internal/ubuntu resolute/universe hg-git 1.2.0-1 (tar) [222 kB] 148s Get:3 http://ftpmaster.internal/ubuntu resolute/universe hg-git 1.2.0-1 (diff) [6816 B] 148s gpgv: Signature made Sun Feb 16 14:22:41 2025 UTC 148s gpgv: using RSA key 8F6DE104377F3B11E741748731F3144544A1741A 148s gpgv: issuer "tchet@debian.org" 148s gpgv: Can't check signature: No public key 148s dpkg-source: warning: cannot verify inline signature for ./hg-git_1.2.0-1.dsc: no acceptable signature found 148s autopkgtest [16:26:57]: testing package hg-git version 1.2.0-1 150s autopkgtest [16:26:59]: build not needed 152s autopkgtest [16:27:01]: test testsuite: preparing testbed 154s Reading package lists... 155s Building dependency tree... 155s Reading state information... 155s Solving dependencies... 155s The following NEW packages will be installed: 155s git git-man liberror-perl mercurial mercurial-common mercurial-git 155s python3-dulwich unzip 155s 0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded. 155s Need to get 9684 kB of archives. 155s After this operation, 50.5 MB of additional disk space will be used. 155s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf liberror-perl all 0.17030-1 [23.5 kB] 156s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf git-man all 1:2.51.0-1ubuntu1 [1179 kB] 156s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf git armhf 1:2.51.0-1ubuntu1 [4649 kB] 158s Get:4 http://ftpmaster.internal/ubuntu resolute/universe armhf mercurial-common all 7.0.1-2 [2783 kB] 158s Get:5 http://ftpmaster.internal/ubuntu resolute/universe armhf mercurial armhf 7.0.1-2 [437 kB] 158s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf python3-dulwich armhf 0.24.10-1 [383 kB] 158s Get:7 http://ftpmaster.internal/ubuntu resolute/universe armhf mercurial-git all 1.2.0-1 [60.9 kB] 159s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf unzip armhf 6.0-28ubuntu7 [168 kB] 159s Fetched 9684 kB in 3s (2976 kB/s) 159s Selecting previously unselected package liberror-perl. 159s (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 ... 65904 files and directories currently installed.) 159s Preparing to unpack .../0-liberror-perl_0.17030-1_all.deb ... 159s Unpacking liberror-perl (0.17030-1) ... 159s Selecting previously unselected package git-man. 159s Preparing to unpack .../1-git-man_1%3a2.51.0-1ubuntu1_all.deb ... 159s Unpacking git-man (1:2.51.0-1ubuntu1) ... 159s Selecting previously unselected package git. 159s Preparing to unpack .../2-git_1%3a2.51.0-1ubuntu1_armhf.deb ... 159s Unpacking git (1:2.51.0-1ubuntu1) ... 160s Selecting previously unselected package mercurial-common. 160s Preparing to unpack .../3-mercurial-common_7.0.1-2_all.deb ... 160s Unpacking mercurial-common (7.0.1-2) ... 160s Selecting previously unselected package mercurial. 160s Preparing to unpack .../4-mercurial_7.0.1-2_armhf.deb ... 160s Unpacking mercurial (7.0.1-2) ... 160s Selecting previously unselected package python3-dulwich. 160s Preparing to unpack .../5-python3-dulwich_0.24.10-1_armhf.deb ... 160s Unpacking python3-dulwich (0.24.10-1) ... 160s Selecting previously unselected package mercurial-git. 160s Preparing to unpack .../6-mercurial-git_1.2.0-1_all.deb ... 160s Unpacking mercurial-git (1.2.0-1) ... 160s Selecting previously unselected package unzip. 160s Preparing to unpack .../7-unzip_6.0-28ubuntu7_armhf.deb ... 160s Unpacking unzip (6.0-28ubuntu7) ... 160s Setting up mercurial-common (7.0.1-2) ... 162s Setting up unzip (6.0-28ubuntu7) ... 162s Setting up liberror-perl (0.17030-1) ... 162s Setting up python3-dulwich (0.24.10-1) ... 163s Setting up git-man (1:2.51.0-1ubuntu1) ... 163s Setting up mercurial (7.0.1-2) ... 163s Creating config file /etc/mercurial/hgrc.d/hgext.rc with new version 163s Setting up mercurial-git (1.2.0-1) ... 163s mercurial-git extension is disabled by default. 163s You can follow the instructions in /usr/share/doc/mercurial-git/README.Debian to enable it. 164s Setting up git (1:2.51.0-1ubuntu1) ... 164s Processing triggers for man-db (2.13.1-1) ... 174s autopkgtest [16:27:23]: test testsuite: [----------------------- 176s no username found, using 'ubuntu@autopkgtest-lxd-wvwnri.lxd' instead 176s cd tests && /usr/bin/python3 run-tests.py --with-hg=/usr/bin/hg --blacklist=/tmp/autopkgtest.o3VBq3/build.GHT/src/debian/hg-git.test_blacklist 177s sssrunning 82 tests using 8 parallel processes 178s ssss 178s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-git-tags.t 178s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-git-tags.t#draft.err 178s @@ -42,336 +42,103 @@ 178s 178s $ hg clone repo.git hgrepo 178s importing 2 git commits 178s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 178s - updating to bookmark master 178s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 178s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 178s + ** which supports versions 6.9 of Mercurial. 178s + ** Please disable "hggit" and try your action again. 178s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 178s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 178s + ** Mercurial Distributed SCM (version 7.0.1) 178s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 178s + Traceback (most recent call last): 178s + File "/usr/bin/hg", line 51, in 178s + dispatch.run() 178s + ~~~~~~~~~~~~^^ 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 178s + status = dispatch(req) 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 178s + status = _rundispatch(req) 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 178s + ret = _runcatch(req) or 0 178s + ~~~~~~~~~^^^^^ 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 178s + return _callcatch(ui, _runcatchfunc) 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 178s + return scmutil.callcatch(ui, func) 178s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 178s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 178s + return func() 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 178s + return _dispatch(req) 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 178s + return runcommand( 178s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 178s + ) 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 178s + ret = _runcommand(ui, options, cmd, d) 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 178s + return cmdfunc() 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 178s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 178s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 178s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 178s + return func(*args, **kwargs) 178s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 178s + r = hg.clone( 178s + ui, 178s + ...<11 lines>... 178s + depth=opts.get('depth') or None, 178s + ) 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 178s + srcpeer, destpeer = orig(*args, **opts) 178s + ~~~~^^^^^^^^^^^^^^^ 178s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 178s + exchange.pull( 178s + ~~~~~~~~~~~~~^ 178s + local, 178s + ^^^^^^ 178s + ...<5 lines>... 178s + depth=depth, 178s + ^^^^^^^^^^^^ 178s + ) 178s + ^ 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 178s + return f(*args, **kwargs) 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 178s + pullop.cgresult = repo.githandler.fetch(remote, heads) 178s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 178s + imported = self.import_git_objects( 178s + b'pull', 178s + ...<2 lines>... 178s + heads=heads, 178s + ) 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 178s + self.import_git_commit( 178s + ~~~~~~~~~~~~~~~~~~~~~~^ 178s + command, 178s + ^^^^^^^^ 178s + self.git[commit.sha], 178s + ^^^^^^^^^^^^^^^^^^^^^ 178s + commit.phase, 178s + ^^^^^^^^^^^^^ 178s + ) 178s + ^ 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 178s + files, gitlinks, git_renames = self.get_files_changed( 178s + ~~~~~~~~~~~~~~~~~~~~~~^ 178s + commit, detect_renames 178s + ^^^^^^^^^^^^^^^^^^^^^^ 178s + ) 178s + ^ 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 178s + oldfile, oldmode, oldsha = change.old 178s + ^^^^^^^^^^^^^^^^^^^^^^^^ 178s + TypeError: cannot unpack non-iterable NoneType object 178s + [1] 178s 178s $ cd hgrepo 178s + $TESTTMP.sh: 39: cd: can't cd to hgrepo 178s 178s Verify that annotated tags are unaffected by reexports: 178s 178s $ GIT_DIR=.hg/git git tag -ln 178s - beta added tag beta 178s - $ hg gexport 178s - $ GIT_DIR=.hg/git git tag -ln 178s - beta added tag beta 178s - 178s -Error checking on tag creation 178s - 178s - $ hg tag --git beta --remove 178s - abort: cannot remove git tags 178s - (the git documentation heavily discourages editing tags) 178s - [255] 178s - $ hg tag --git beta -r null 178s - abort: cannot remove git tags 178s - (the git documentation heavily discourages editing tags) 178s - [255] 178s - $ hg tag --git beta --remove -r 0 178s - abort: cannot specify both --rev and --remove 178s - [10] 178s - $ hg tag --git alpha 178s - abort: git tags require an explicit revision 178s - (please specify -r/--rev) 178s - [255] 178s - $ hg tag --git alpha alpha -r 0 178s - abort: tag names must be unique 178s - [255] 178s - $ hg tag --git alpha -r 0 -e 178s - abort: cannot specify both --git and --edit 178s - [10] 178s - $ hg tag --git alpha -r 0 -m 42 178s - abort: cannot specify both --git and --message 178s - [10] 178s - $ hg tag --git alpha -r 0 -d 42 178s - abort: cannot specify both --git and --date 178s - [10] 178s - $ hg tag --git alpha -r 0 -u user@example.com 178s - abort: cannot specify both --git and --user 178s - [10] 178s - $ hg tag --git 'with space' -r 0 178s - abort: the name 'with space' is not a valid git tag 178s - [255] 178s - $ hg tag --git ' beta' -r 0 178s - abort: the name 'beta' already exists 178s - [255] 178s - $ hg tag --git master -r 0 178s - abort: the name 'master' already exists 178s - [255] 178s - $ hg tag --git tip -r 0 178s - abort: the name 'tip' is reserved 178s - [10] 178s - 178s -Create a git tag from hg 178s - 178s - $ hg tag --git alpha --debug -r 0 178s - finding unexported changesets 178s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 178s - adding git tag alpha 178s - $ hg log --graph 178s - @ changeset: 1:7fe02317c63d 178s - | bookmark: master 178s - | tag: beta 178s - | tag: default/master 178s - | tag: tip 178s - | user: test 178s - | date: Mon Jan 01 00:00:11 2007 +0000 178s - | summary: add beta 178s - | 178s - o changeset: 0:ff7a2f2d8d70 178s - tag: alpha 178s - user: test 178s - date: Mon Jan 01 00:00:10 2007 +0000 178s - summary: add alpha 178s - 178s - $ echo beta-fix >> beta 178s - $ fn_hg_commit -m 'fix for beta' 178s -#if secret 178s - $ hg phase -d 178s -#endif 178s - $ hg push 178s - pushing to $TESTTMP/repo.git 178s - searching for changes 178s - adding objects 178s - remote: found 0 deltas to reuse 178s - added 1 commits with 1 trees and 1 blobs 178s - updating reference refs/heads/master 178s - adding reference refs/tags/alpha 178s - 178s -Verify that amending commits known to remotes doesn't break anything 178s - 178s - $ cat >> $HGRCPATH << EOF 178s - > [experimental] 178s - > evolution = createmarkers 178s - > evolution.createmarkers = yes 178s - > EOF 178s - $ hg tags 178s - tip 2:61175962e488 178s - default/master 2:61175962e488 178s - beta 1:7fe02317c63d 178s - alpha 0:ff7a2f2d8d70 178s - $ echo beta-fix-again >> beta 178s - $ fn_hg_commit --amend 178s - $ hg log -T shorttags 178s - 3:3094b9e8da41 draft tip 178s - 2:61175962e488 draft default/master X 178s - 1:7fe02317c63d draft beta 178s - 0:ff7a2f2d8d70 draft alpha 178s - $ hg tags 178s - tip 3:3094b9e8da41 178s - default/master 2:61175962e488 178s - beta 1:7fe02317c63d 178s - alpha 0:ff7a2f2d8d70 178s - $ hg push 178s - pushing to $TESTTMP/repo.git 178s - searching for changes 178s - abort: pushing refs/heads/master overwrites 3094b9e8da41 178s - [255] 178s - $ hg push -f 178s - pushing to $TESTTMP/repo.git 178s - searching for changes 178s - adding objects 178s - remote: found 0 deltas to reuse 178s - added 1 commits with 1 trees and 1 blobs 178s - updating reference refs/heads/master 178s - 178s -Now create a tag for the old, obsolete master 178s - 178s - $ cd ../repo.git 178s - $ git tag detached $(hg log -R ../hgrepo --hidden -r 2 -T '{gitnode}\n') 178s - $ git tag 178s - alpha 178s - beta 178s - detached 178s - $ cd ../hgrepo 178s - $ hg pull 178s - pulling from $TESTTMP/repo.git 178s - no changes found 178s - $ hg log -T shorttags 178s - 3:3094b9e8da41 draft default/master tip 178s - 2:61175962e488 draft detached X 178s - 1:7fe02317c63d draft beta 178s - 0:ff7a2f2d8d70 draft alpha 178s - $ hg tags 178s - tip 3:3094b9e8da41 178s - default/master 3:3094b9e8da41 178s - detached 2:61175962e488 178s - beta 1:7fe02317c63d 178s - alpha 0:ff7a2f2d8d70 178s - $ hg push 178s - pushing to $TESTTMP/repo.git 178s - searching for changes 178s - no changes found 178s - [1] 178s - 178s - $ cd .. 178s - 178s -Verify that revsets can point out git tags; for that we need an 178s -untagged commit. 178s - 178s - $ cd hgrepo 178s - $ touch gamma 178s - $ fn_hg_commit -A -m 'add gamma' 178s -#if secret 178s - $ hg phase -d 178s -#endif 178s - $ hg log -T shorttags -r 'gittag()' 178s - 0:ff7a2f2d8d70 draft alpha 178s - 1:7fe02317c63d draft beta 178s - 2:61175962e488 draft detached X 178s - $ hg log -T shorttags -r 'gittag(detached)' 178s - 2:61175962e488 draft detached X 178s - $ hg log -T shorttags -r 'gittag("re:a$")' 178s - 0:ff7a2f2d8d70 draft alpha 178s - 1:7fe02317c63d draft beta 178s - 178s -Create a git tag from hg, but pointing to a new commit: 178s - 178s - $ hg tag --git gamma --debug -r tip 178s - invalid branch cache (visible): tip differs (?) 178s - finding unexported changesets 178s - exporting 1 changesets 178s - converting revision 0eb1ab0073a885a498d4ae3dc5cf0c26e750fa3d 178s - packing 3 loose objects... 178s - packed 3 loose objects! 178s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 178s - adding git tag gamma 178s - $ hg push 178s - pushing to $TESTTMP/repo.git 178s - searching for changes 178s - adding objects 178s - remote: found 0 deltas to reuse 178s - added 1 commits with 1 trees and 1 blobs 178s - updating reference refs/heads/master 178s - adding reference refs/tags/gamma 178s - $ cd ../gitrepo 178s - $ git fetch --quiet --tags 178s - $ git tag 178s - alpha 178s - beta 178s - detached 178s - gamma 178s - $ cd .. 178s - 178s -Try to overwrite an annotated tag: 178s - 178s - $ cd hgrepo 178s - $ hg tags -v 178s - tip 4:0eb1ab0073a8 178s - gamma 4:0eb1ab0073a8 git 178s - default/master 4:0eb1ab0073a8 git-remote 178s - detached 2:61175962e488 git 178s - beta 1:7fe02317c63d git 178s - alpha 0:ff7a2f2d8d70 git 178s - $ hg book not-master 178s - $ hg tag beta 178s - abort: tag 'beta' already exists (use -f to force) 178s - [10] 178s - $ hg tag -f beta 178s -#if secret 178s - $ hg phase -d 178s -#endif 178s - $ hg push 178s - pushing to $TESTTMP/repo.git 178s - warning: not overwriting annotated tag 'beta' 178s - searching for changes 178s - adding objects 178s - remote: found 0 deltas to reuse 178s - added 1 commits with 1 trees and 1 blobs 178s - adding reference refs/heads/not-master 178s - $ hg tags 178s - tip 5:c49682c7cba4 178s - default/not-master 5:c49682c7cba4 178s - gamma 4:0eb1ab0073a8 178s - default/master 4:0eb1ab0073a8 178s - beta 4:0eb1ab0073a8 178s - detached 2:61175962e488 178s - alpha 0:ff7a2f2d8d70 178s - $ cd .. 178s - 178s -Check whether `gimport` handles tags 178s - 178s - $ cd hgrepo 178s - $ rm .hg/git-tags .hg/git-mapfile 178s - $ hg gimport 178s - importing 6 git commits 178s - $ hg tags -q 178s - tip 178s - default/not-master 178s - gamma 178s - default/master 178s - beta 178s - detached 178s - alpha 178s - $ cd .. 178s - 178s -Test how pulling an explicit branch with an annotated tag: 178s - 178s - $ hg clone -r master repo.git hgrepo-2 178s - importing 4 git commits 178s - new changesets ff7a2f2d8d70:0eb1ab0073a8 (4 drafts) 178s - updating to branch default 178s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 178s - $ hg log -r 'ancestors(master) and tagged()' -T shorttags -R hgrepo-2 178s - 0:ff7a2f2d8d70 draft alpha 178s - 1:7fe02317c63d draft beta 178s - 3:0eb1ab0073a8 draft default/master gamma tip 178s - $ hg tags -v -R hgrepo-2 178s - tip 3:0eb1ab0073a8 178s - gamma 3:0eb1ab0073a8 git 178s - default/master 3:0eb1ab0073a8 git-remote 178s - beta 1:7fe02317c63d git 178s - alpha 0:ff7a2f2d8d70 git 178s - $ GIT_DIR=hgrepo-2/.hg/git git fetch --quiet repo.git 178s - $ rm -rf hgrepo-2 178s - 178s - $ hg clone -r master repo.git hgrepo-2 178s - importing 4 git commits 178s - new changesets ff7a2f2d8d70:0eb1ab0073a8 (4 drafts) 178s - updating to branch default 178s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 178s - $ hg log -r 'tagged()' -T shorttags -R hgrepo-2 178s - 0:ff7a2f2d8d70 draft alpha 178s - 1:7fe02317c63d draft beta 178s - 3:0eb1ab0073a8 draft default/master gamma tip 178s -This used to die: 178s - $ hg -R hgrepo-2 gexport 178s -This used to fail, since we didn't actually pull the annotated tag: 178s - $ hg -R hgrepo-2 push 178s - pushing to $TESTTMP/repo.git 178s - searching for changes 178s - no changes found 178s - [1] 178s - $ rm -rf hgrepo-2 178s - 178s -Check that pulling will update phases only: 178s - 178s - $ cd hgrepo 178s - $ hg phase -fs gamma detached 178s - $ hg pull 178s - pulling from $TESTTMP/repo.git 178s - no changes found 178s - $ hg log -T shorttags -r gamma -r detached 178s - 4:0eb1ab0073a8 draft beta default/master gamma 178s - 2:61175962e488 draft detached X 178s - $ cd .. 178s - 178s -Check that we pull new tags to existing commits: 178s - $ cd gitrepo 178s - $ git tag 178s - alpha 178s - beta 178s - detached 178s - gamma 178s - $ fn_git_tag extra-simple-tag 178s - $ fn_git_tag -m annotated extra-annotated-tag 178s - $ git push --tags 178s - To $TESTTMP/repo.git 178s - * [new tag] extra-annotated-tag -> extra-annotated-tag 178s - * [new tag] extra-simple-tag -> extra-simple-tag 178s - $ cd ../hgrepo 178s - $ hg pull -r master 178s - pulling from $TESTTMP/repo.git 178s - no changes found 178s - $ hg tags -v | grep extra 178s - extra-simple-tag 1:7fe02317c63d git 178s - extra-annotated-tag 1:7fe02317c63d git 178s 178s ERROR: test-git-tags.t#draft output changed 178s ! 178s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-pull-after-rebase.t 178s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-pull-after-rebase.t.err 178s @@ -39,274 +39,99 @@ 178s 178s $ hg clone -U repo.git hgrepo 178s importing 3 git commits 178s - new changesets ff7a2f2d8d70:205a004356ef (3 drafts) 178s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 178s + ** which supports versions 6.9 of Mercurial. 178s + ** Please disable "hggit" and try your action again. 178s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 178s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 178s + ** Mercurial Distributed SCM (version 7.0.1) 178s + ** Extensions loaded: hggit unknown (dulwich 0.24.10), rebase 178s + Traceback (most recent call last): 178s + File "/usr/bin/hg", line 51, in 178s + dispatch.run() 178s + ~~~~~~~~~~~~^^ 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 178s + status = dispatch(req) 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 178s + status = _rundispatch(req) 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 178s + ret = _runcatch(req) or 0 178s + ~~~~~~~~~^^^^^ 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 178s + return _callcatch(ui, _runcatchfunc) 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 178s + return scmutil.callcatch(ui, func) 178s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 178s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 178s + return func() 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 178s + return _dispatch(req) 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 178s + return runcommand( 178s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 178s + ) 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 178s + ret = _runcommand(ui, options, cmd, d) 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 178s + return cmdfunc() 178s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 178s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 178s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 178s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 178s + return func(*args, **kwargs) 178s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 178s + r = hg.clone( 178s + ui, 178s + ...<11 lines>... 178s + depth=opts.get('depth') or None, 178s + ) 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 178s + srcpeer, destpeer = orig(*args, **opts) 178s + ~~~~^^^^^^^^^^^^^^^ 178s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 178s + exchange.pull( 178s + ~~~~~~~~~~~~~^ 178s + local, 178s + ^^^^^^ 178s + ...<5 lines>... 178s + depth=depth, 178s + ^^^^^^^^^^^^ 178s + ) 178s + ^ 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 178s + return f(*args, **kwargs) 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 178s + pullop.cgresult = repo.githandler.fetch(remote, heads) 178s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 178s + imported = self.import_git_objects( 178s + b'pull', 178s + ...<2 lines>... 178s + heads=heads, 178s + ) 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 178s + self.import_git_commit( 178s + ~~~~~~~~~~~~~~~~~~~~~~^ 178s + command, 178s + ^^^^^^^^ 178s + self.git[commit.sha], 178s + ^^^^^^^^^^^^^^^^^^^^^ 178s + commit.phase, 178s + ^^^^^^^^^^^^^ 178s + ) 178s + ^ 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 178s + files, gitlinks, git_renames = self.get_files_changed( 178s + ~~~~~~~~~~~~~~~~~~~~~~^ 178s + commit, detect_renames 178s + ^^^^^^^^^^^^^^^^^^^^^^ 178s + ) 178s + ^ 178s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 178s + oldfile, oldmode, oldsha = change.old 178s + ^^^^^^^^^^^^^^^^^^^^^^^^ 178s + TypeError: cannot unpack non-iterable NoneType object 178s + [1] 178s $ cd hgrepo 178s + $TESTTMP.sh: 48: cd: can't cd to hgrepo 178s $ hg state 178s - o branch default/branch tip 2:205a004356ef32b8da782afb89d9179d12ca31e9 178s - | add gamma 178s - | o master default/master 1:7fe02317c63d9ee324d4b5df7c9296085162da1b 178s - |/ add beta 178s - o 0:ff7a2f2d8d7099694ae1e8b03838d40575bebb63 178s - add alpha 178s - $ hg up branch 178s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 178s - (activating bookmark branch) 178s - $ hg rebase --quiet -d master 178s - $ hg state 178s - @ branch tip 3:52def9937d74e43b83dfded6ce0e5adf731b9d22 178s - | add gamma 178s - | x default/branch 2:205a004356ef32b8da782afb89d9179d12ca31e9 178s - | | add gamma 178s - o | master default/master 1:7fe02317c63d9ee324d4b5df7c9296085162da1b 178s - |/ add beta 178s - o 0:ff7a2f2d8d7099694ae1e8b03838d40575bebb63 178s - add alpha 178s - 178s - $ hg push -fr tip 178s - pushing to $TESTTMP/repo.git 178s - searching for changes 178s - adding objects 178s - remote: found 0 deltas to reuse 178s - added 1 commits with 1 trees and 1 blobs 178s - updating reference refs/heads/branch 178s - $ cd .. 178s - 178s -Now switch back to git and create a new commit based on what we just rebased 178s - 178s - $ cd gitrepo 178s - $ git checkout --quiet -b otherbranch branch 178s - $ git log --oneline --graph --all --decorate 178s - * e5023f9 (HEAD -> otherbranch, origin/branch, branch) add gamma 178s - | * 9497a4e (origin/master, master) add beta 178s - |/ 178s - * 7eeab2e add alpha 178s - $ echo delta > delta 178s - $ git add delta 178s - $ fn_git_commit -m 'add delta' 178s - $ git push --quiet --set-upstream origin otherbranch 178s - Branch 'otherbranch' set up to track remote branch 'otherbranch' from 'origin'. (?) 178s - $ git log --oneline --graph --all --decorate 178s - * bba0011 (HEAD -> otherbranch, origin/otherbranch) add delta 178s - * e5023f9 (origin/branch, branch) add gamma 178s - | * 9497a4e (origin/master, master) add beta 178s - |/ 178s - * 7eeab2e add alpha 178s - $ cd .. 178s - 178s -Pull that 178s - 178s - $ cd hgrepo 178s - $ hg pull 178s - pulling from $TESTTMP/repo.git 178s - importing 1 git commits 178s - adding bookmark otherbranch 178s - 1 new orphan changesets 178s - new changesets 075302705298 (1 drafts) 178s - (run 'hg heads' to see heads, 'hg merge' to merge) 178s - $ hg state 178s - * otherbranch default/otherbranch tip 4:0753027052980aef9c9c37adb7d76d5719e8d818 178s - | add delta 178s - | @ branch default/branch 3:52def9937d74e43b83dfded6ce0e5adf731b9d22 178s - | | add gamma 178s - x | 2:205a004356ef32b8da782afb89d9179d12ca31e9 178s - | | add gamma 178s - | o master default/master 1:7fe02317c63d9ee324d4b5df7c9296085162da1b 178s - |/ add beta 178s - o 0:ff7a2f2d8d7099694ae1e8b03838d40575bebb63 178s - add alpha 178s - 178s - $ cd .. 178s - 178s -To reproduce bug #386, do like github and save the old commit in a 178s -ref, and create a clone containing just the converted git commits: 178s - 178s - $ cd repo.git 178s - $ git update-ref refs/pr/1 otherbranch 178s - $ cd .. 178s - $ hg clone -U repo.git hgrepo-issue386 178s - importing 5 git commits 178s - new changesets ff7a2f2d8d70:075302705298 (5 drafts) 178s - 178s -Now try rebasing that branch, from the Git side of things 178s - 178s - $ cd gitrepo 178s - $ git checkout -q otherbranch 178s - $ git log --oneline --graph --all --decorate 178s - * bba0011 (HEAD -> otherbranch, origin/otherbranch) add delta 178s - * e5023f9 (origin/branch, branch) add gamma 178s - | * 9497a4e (origin/master, master) add beta 178s - |/ 178s - * 7eeab2e add alpha 178s - $ fn_git_rebase --onto master branch otherbranch 178s - $ git log --oneline --graph --all --decorate 178s - * 9c58139 (HEAD -> otherbranch) add delta 178s - * 9497a4e (origin/master, master) add beta 178s - | * bba0011 (origin/otherbranch) add delta 178s - | * e5023f9 (origin/branch, branch) add gamma 178s - |/ 178s - * 7eeab2e add alpha 178s - $ git push -f 178s - To $TESTTMP/repo.git 178s - + bba0011...9c58139 otherbranch -> otherbranch (forced update) 178s - $ git log --oneline --graph --all --decorate 178s - * 9c58139 (HEAD -> otherbranch, origin/otherbranch) add delta 178s - * 9497a4e (origin/master, master) add beta 178s - | * e5023f9 (origin/branch, branch) add gamma 178s - |/ 178s - * 7eeab2e add alpha 178s - $ cd .. 178s - 178s -Now strip the old commit 178s - 178s - $ cd hgrepo-issue386 178s - $ hg up null 178s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 178s - $ hg id -qr otherbranch 178s - 075302705298 178s - $ hg pull 178s - pulling from $TESTTMP/repo.git 178s - importing 1 git commits 178s - not updating diverged bookmark otherbranch 178s - new changesets d64bf0521af6 (1 drafts) 178s - (run 'hg heads .' to see heads, 'hg merge' to merge) 178s - $ hg debugstrip --hidden --no-backup otherbranch 178s - $ hg book -d otherbranch 178s - $ hg git-cleanup 178s - git commit map cleaned 178s - $ hg pull 178s - pulling from $TESTTMP/repo.git 178s - no changes found 178s - adding bookmark otherbranch 178s - $ cd .. 178s - 178s -And check that pulling something else doesn't delete that branch. 178s - 178s - $ cd hgrepo 178s - $ hg pull -r master 178s - pulling from $TESTTMP/repo.git 178s - no changes found 178s - $ cd .. 178s - 178s -A special case, is that we can pull into a repository, where a commit 178s -corresponding to the new branch exists, but that commit is obsolete. 178s -In order to avoid “pinning” the obsolete commit, and thereby making it 178s -visible, we first pull from Git as an unnamed remote. 178s - 178s - $ hg clone --config phases.publish=no hgrepo hgrepo-clone 178s - updating to branch default 178s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 178s - $ cd hgrepo-clone 178s - $ hg pull ../repo.git 178s - pulling from ../repo.git 178s - importing 4 git commits 178s - not updating diverged bookmark otherbranch 178s - new changesets d64bf0521af6 (1 drafts) 178s - (run 'hg heads .' to see heads, 'hg merge' to merge) 178s - $ hg debugobsolete d64bf0521af68fe2160791a1b4ab9baf282a3879 178s - 1 new obsolescence markers 178s - obsoleted 1 changesets 178s - $ cp ../hgrepo/.hg/hgrc .hg 178s - $ hg pull 178s - pulling from $TESTTMP/repo.git 178s - no changes found 178s - not updating diverged bookmark otherbranch 178s - $ cd .. 178s - $ rm -rf hgrepo-clone 178s - 178s -Another special case, is that we should update commits over obsolete boundaries: 178s - 178s - $ hg clone --config phases.publish=no hgrepo hgrepo-clone 178s - updating to branch default 178s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 178s - $ cd hgrepo-clone 178s - $ hg pull ../repo.git 178s - pulling from ../repo.git 178s - importing 4 git commits 178s - not updating diverged bookmark otherbranch 178s - new changesets d64bf0521af6 (1 drafts) 178s - (run 'hg heads .' to see heads, 'hg merge' to merge) 178s - $ hg debugobsolete 0753027052980aef9c9c37adb7d76d5719e8d818 d64bf0521af68fe2160791a1b4ab9baf282a3879 178s - 1 new obsolescence markers 178s - obsoleted 1 changesets 178s - $ hg book -r 075302705298 otherbranch 178s - $ cp ../hgrepo/.hg/hgrc .hg 178s - $ hg pull 178s - pulling from $TESTTMP/repo.git 178s - no changes found 178s - updating bookmark otherbranch 178s - $ cd .. 178s - $ rm -rf hgrepo-clone 178s - 178s -Now just pull it: 178s - 178s - $ cd hgrepo 178s - $ hg pull 178s - pulling from $TESTTMP/repo.git 178s - importing 1 git commits 178s - not updating diverged bookmark otherbranch 178s - new changesets d64bf0521af6 (1 drafts) 178s - (run 'hg heads .' to see heads, 'hg merge' to merge) 178s - $ hg state 178s - o default/otherbranch tip 5:d64bf0521af68fe2160791a1b4ab9baf282a3879 178s - | add delta 178s - | * otherbranch 4:0753027052980aef9c9c37adb7d76d5719e8d818 178s - | | add delta 178s - +---@ branch default/branch 3:52def9937d74e43b83dfded6ce0e5adf731b9d22 178s - | | add gamma 178s - | x 2:205a004356ef32b8da782afb89d9179d12ca31e9 178s - | | add gamma 178s - o | master default/master 1:7fe02317c63d9ee324d4b5df7c9296085162da1b 178s - |/ add beta 178s - o 0:ff7a2f2d8d7099694ae1e8b03838d40575bebb63 178s - add alpha 178s - $ cd .. 178s - 178s -And finally, delete it: 178s - 178s - $ cd gitrepo 178s - $ git push origin :otherbranch 178s - To $TESTTMP/repo.git 178s - - [deleted] otherbranch 178s - $ cd .. 178s - 178s -And pull that: 178s - 178s - $ cd hgrepo 178s - $ hg pull 178s - pulling from $TESTTMP/repo.git 178s - no changes found 178s - not deleting diverged bookmark otherbranch 178s - $ hg state 178s - o tip 5:d64bf0521af68fe2160791a1b4ab9baf282a3879 178s - | add delta 178s - | * otherbranch 4:0753027052980aef9c9c37adb7d76d5719e8d818 178s - | | add delta 178s - +---@ branch default/branch 3:52def9937d74e43b83dfded6ce0e5adf731b9d22 178s - | | add gamma 178s - | x 2:205a004356ef32b8da782afb89d9179d12ca31e9 178s - | | add gamma 178s - o | master default/master 1:7fe02317c63d9ee324d4b5df7c9296085162da1b 178s - |/ add beta 178s - o 0:ff7a2f2d8d7099694ae1e8b03838d40575bebb63 178s - add alpha 178s - $ cd .. 178s - 178s -We only get that message once: 178s - 178s - $ hg -R hgrepo pull 178s - pulling from $TESTTMP/repo.git 178s - no changes found 178s - 178s -Now try deleting one already gone locally, which shouldn't output 178s -anything: 178s - 178s - $ cd gitrepo 178s - $ git push origin :branch 178s - To $TESTTMP/repo.git 178s - - [deleted] branch 178s - $ cd ../hgrepo 178s - $ hg book -d branch 178s - $ hg pull 178s - pulling from $TESTTMP/repo.git 178s - no changes found 178s - $ cd .. 178s 178s ERROR: test-pull-after-rebase.t output changed 179s ! 179s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-git-tags.t 179s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-git-tags.t#secret.err 179s @@ -42,336 +42,103 @@ 179s 179s $ hg clone repo.git hgrepo 179s importing 2 git commits 179s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 179s - updating to bookmark master 179s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 179s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 179s + ** which supports versions 6.9 of Mercurial. 179s + ** Please disable "hggit" and try your action again. 179s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 179s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 179s + ** Mercurial Distributed SCM (version 7.0.1) 179s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 179s + Traceback (most recent call last): 179s + File "/usr/bin/hg", line 51, in 179s + dispatch.run() 179s + ~~~~~~~~~~~~^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 179s + status = dispatch(req) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 179s + status = _rundispatch(req) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 179s + ret = _runcatch(req) or 0 179s + ~~~~~~~~~^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 179s + return _callcatch(ui, _runcatchfunc) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 179s + return scmutil.callcatch(ui, func) 179s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 179s + return func() 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 179s + return _dispatch(req) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 179s + return runcommand( 179s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 179s + ) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 179s + ret = _runcommand(ui, options, cmd, d) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 179s + return cmdfunc() 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 179s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 179s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 179s + return func(*args, **kwargs) 179s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 179s + r = hg.clone( 179s + ui, 179s + ...<11 lines>... 179s + depth=opts.get('depth') or None, 179s + ) 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 179s + srcpeer, destpeer = orig(*args, **opts) 179s + ~~~~^^^^^^^^^^^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 179s + exchange.pull( 179s + ~~~~~~~~~~~~~^ 179s + local, 179s + ^^^^^^ 179s + ...<5 lines>... 179s + depth=depth, 179s + ^^^^^^^^^^^^ 179s + ) 179s + ^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 179s + return f(*args, **kwargs) 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 179s + pullop.cgresult = repo.githandler.fetch(remote, heads) 179s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 179s + imported = self.import_git_objects( 179s + b'pull', 179s + ...<2 lines>... 179s + heads=heads, 179s + ) 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 179s + self.import_git_commit( 179s + ~~~~~~~~~~~~~~~~~~~~~~^ 179s + command, 179s + ^^^^^^^^ 179s + self.git[commit.sha], 179s + ^^^^^^^^^^^^^^^^^^^^^ 179s + commit.phase, 179s + ^^^^^^^^^^^^^ 179s + ) 179s + ^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 179s + files, gitlinks, git_renames = self.get_files_changed( 179s + ~~~~~~~~~~~~~~~~~~~~~~^ 179s + commit, detect_renames 179s + ^^^^^^^^^^^^^^^^^^^^^^ 179s + ) 179s + ^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 179s + oldfile, oldmode, oldsha = change.old 179s + ^^^^^^^^^^^^^^^^^^^^^^^^ 179s + TypeError: cannot unpack non-iterable NoneType object 179s + [1] 179s 179s $ cd hgrepo 179s + $TESTTMP.sh: 44: cd: can't cd to hgrepo 179s 179s Verify that annotated tags are unaffected by reexports: 179s 179s $ GIT_DIR=.hg/git git tag -ln 179s - beta added tag beta 179s - $ hg gexport 179s - $ GIT_DIR=.hg/git git tag -ln 179s - beta added tag beta 179s - 179s -Error checking on tag creation 179s - 179s - $ hg tag --git beta --remove 179s - abort: cannot remove git tags 179s - (the git documentation heavily discourages editing tags) 179s - [255] 179s - $ hg tag --git beta -r null 179s - abort: cannot remove git tags 179s - (the git documentation heavily discourages editing tags) 179s - [255] 179s - $ hg tag --git beta --remove -r 0 179s - abort: cannot specify both --rev and --remove 179s - [10] 179s - $ hg tag --git alpha 179s - abort: git tags require an explicit revision 179s - (please specify -r/--rev) 179s - [255] 179s - $ hg tag --git alpha alpha -r 0 179s - abort: tag names must be unique 179s - [255] 179s - $ hg tag --git alpha -r 0 -e 179s - abort: cannot specify both --git and --edit 179s - [10] 179s - $ hg tag --git alpha -r 0 -m 42 179s - abort: cannot specify both --git and --message 179s - [10] 179s - $ hg tag --git alpha -r 0 -d 42 179s - abort: cannot specify both --git and --date 179s - [10] 179s - $ hg tag --git alpha -r 0 -u user@example.com 179s - abort: cannot specify both --git and --user 179s - [10] 179s - $ hg tag --git 'with space' -r 0 179s - abort: the name 'with space' is not a valid git tag 179s - [255] 179s - $ hg tag --git ' beta' -r 0 179s - abort: the name 'beta' already exists 179s - [255] 179s - $ hg tag --git master -r 0 179s - abort: the name 'master' already exists 179s - [255] 179s - $ hg tag --git tip -r 0 179s - abort: the name 'tip' is reserved 179s - [10] 179s - 179s -Create a git tag from hg 179s - 179s - $ hg tag --git alpha --debug -r 0 179s - finding unexported changesets 179s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 179s - adding git tag alpha 179s - $ hg log --graph 179s - @ changeset: 1:7fe02317c63d 179s - | bookmark: master 179s - | tag: beta 179s - | tag: default/master 179s - | tag: tip 179s - | user: test 179s - | date: Mon Jan 01 00:00:11 2007 +0000 179s - | summary: add beta 179s - | 179s - o changeset: 0:ff7a2f2d8d70 179s - tag: alpha 179s - user: test 179s - date: Mon Jan 01 00:00:10 2007 +0000 179s - summary: add alpha 179s - 179s - $ echo beta-fix >> beta 179s - $ fn_hg_commit -m 'fix for beta' 179s -#if secret 179s - $ hg phase -d 179s -#endif 179s - $ hg push 179s - pushing to $TESTTMP/repo.git 179s - searching for changes 179s - adding objects 179s - remote: found 0 deltas to reuse 179s - added 1 commits with 1 trees and 1 blobs 179s - updating reference refs/heads/master 179s - adding reference refs/tags/alpha 179s - 179s -Verify that amending commits known to remotes doesn't break anything 179s - 179s - $ cat >> $HGRCPATH << EOF 179s - > [experimental] 179s - > evolution = createmarkers 179s - > evolution.createmarkers = yes 179s - > EOF 179s - $ hg tags 179s - tip 2:61175962e488 179s - default/master 2:61175962e488 179s - beta 1:7fe02317c63d 179s - alpha 0:ff7a2f2d8d70 179s - $ echo beta-fix-again >> beta 179s - $ fn_hg_commit --amend 179s - $ hg log -T shorttags 179s - 3:3094b9e8da41 draft tip 179s - 2:61175962e488 draft default/master X 179s - 1:7fe02317c63d draft beta 179s - 0:ff7a2f2d8d70 draft alpha 179s - $ hg tags 179s - tip 3:3094b9e8da41 179s - default/master 2:61175962e488 179s - beta 1:7fe02317c63d 179s - alpha 0:ff7a2f2d8d70 179s - $ hg push 179s - pushing to $TESTTMP/repo.git 179s - searching for changes 179s - abort: pushing refs/heads/master overwrites 3094b9e8da41 179s - [255] 179s - $ hg push -f 179s - pushing to $TESTTMP/repo.git 179s - searching for changes 179s - adding objects 179s - remote: found 0 deltas to reuse 179s - added 1 commits with 1 trees and 1 blobs 179s - updating reference refs/heads/master 179s - 179s -Now create a tag for the old, obsolete master 179s - 179s - $ cd ../repo.git 179s - $ git tag detached $(hg log -R ../hgrepo --hidden -r 2 -T '{gitnode}\n') 179s - $ git tag 179s - alpha 179s - beta 179s - detached 179s - $ cd ../hgrepo 179s - $ hg pull 179s - pulling from $TESTTMP/repo.git 179s - no changes found 179s - $ hg log -T shorttags 179s - 3:3094b9e8da41 draft default/master tip 179s - 2:61175962e488 draft detached X 179s - 1:7fe02317c63d draft beta 179s - 0:ff7a2f2d8d70 draft alpha 179s - $ hg tags 179s - tip 3:3094b9e8da41 179s - default/master 3:3094b9e8da41 179s - detached 2:61175962e488 179s - beta 1:7fe02317c63d 179s - alpha 0:ff7a2f2d8d70 179s - $ hg push 179s - pushing to $TESTTMP/repo.git 179s - searching for changes 179s - no changes found 179s - [1] 179s - 179s - $ cd .. 179s - 179s -Verify that revsets can point out git tags; for that we need an 179s -untagged commit. 179s - 179s - $ cd hgrepo 179s - $ touch gamma 179s - $ fn_hg_commit -A -m 'add gamma' 179s -#if secret 179s - $ hg phase -d 179s -#endif 179s - $ hg log -T shorttags -r 'gittag()' 179s - 0:ff7a2f2d8d70 draft alpha 179s - 1:7fe02317c63d draft beta 179s - 2:61175962e488 draft detached X 179s - $ hg log -T shorttags -r 'gittag(detached)' 179s - 2:61175962e488 draft detached X 179s - $ hg log -T shorttags -r 'gittag("re:a$")' 179s - 0:ff7a2f2d8d70 draft alpha 179s - 1:7fe02317c63d draft beta 179s - 179s -Create a git tag from hg, but pointing to a new commit: 179s - 179s - $ hg tag --git gamma --debug -r tip 179s - invalid branch cache (visible): tip differs (?) 179s - finding unexported changesets 179s - exporting 1 changesets 179s - converting revision 0eb1ab0073a885a498d4ae3dc5cf0c26e750fa3d 179s - packing 3 loose objects... 179s - packed 3 loose objects! 179s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 179s - adding git tag gamma 179s - $ hg push 179s - pushing to $TESTTMP/repo.git 179s - searching for changes 179s - adding objects 179s - remote: found 0 deltas to reuse 179s - added 1 commits with 1 trees and 1 blobs 179s - updating reference refs/heads/master 179s - adding reference refs/tags/gamma 179s - $ cd ../gitrepo 179s - $ git fetch --quiet --tags 179s - $ git tag 179s - alpha 179s - beta 179s - detached 179s - gamma 179s - $ cd .. 179s - 179s -Try to overwrite an annotated tag: 179s - 179s - $ cd hgrepo 179s - $ hg tags -v 179s - tip 4:0eb1ab0073a8 179s - gamma 4:0eb1ab0073a8 git 179s - default/master 4:0eb1ab0073a8 git-remote 179s - detached 2:61175962e488 git 179s - beta 1:7fe02317c63d git 179s - alpha 0:ff7a2f2d8d70 git 179s - $ hg book not-master 179s - $ hg tag beta 179s - abort: tag 'beta' already exists (use -f to force) 179s - [10] 179s - $ hg tag -f beta 179s -#if secret 179s - $ hg phase -d 179s -#endif 179s - $ hg push 179s - pushing to $TESTTMP/repo.git 179s - warning: not overwriting annotated tag 'beta' 179s - searching for changes 179s - adding objects 179s - remote: found 0 deltas to reuse 179s - added 1 commits with 1 trees and 1 blobs 179s - adding reference refs/heads/not-master 179s - $ hg tags 179s - tip 5:c49682c7cba4 179s - default/not-master 5:c49682c7cba4 179s - gamma 4:0eb1ab0073a8 179s - default/master 4:0eb1ab0073a8 179s - beta 4:0eb1ab0073a8 179s - detached 2:61175962e488 179s - alpha 0:ff7a2f2d8d70 179s - $ cd .. 179s - 179s -Check whether `gimport` handles tags 179s - 179s - $ cd hgrepo 179s - $ rm .hg/git-tags .hg/git-mapfile 179s - $ hg gimport 179s - importing 6 git commits 179s - $ hg tags -q 179s - tip 179s - default/not-master 179s - gamma 179s - default/master 179s - beta 179s - detached 179s - alpha 179s - $ cd .. 179s - 179s -Test how pulling an explicit branch with an annotated tag: 179s - 179s - $ hg clone -r master repo.git hgrepo-2 179s - importing 4 git commits 179s - new changesets ff7a2f2d8d70:0eb1ab0073a8 (4 drafts) 179s - updating to branch default 179s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 179s - $ hg log -r 'ancestors(master) and tagged()' -T shorttags -R hgrepo-2 179s - 0:ff7a2f2d8d70 draft alpha 179s - 1:7fe02317c63d draft beta 179s - 3:0eb1ab0073a8 draft default/master gamma tip 179s - $ hg tags -v -R hgrepo-2 179s - tip 3:0eb1ab0073a8 179s - gamma 3:0eb1ab0073a8 git 179s - default/master 3:0eb1ab0073a8 git-remote 179s - beta 1:7fe02317c63d git 179s - alpha 0:ff7a2f2d8d70 git 179s - $ GIT_DIR=hgrepo-2/.hg/git git fetch --quiet repo.git 179s - $ rm -rf hgrepo-2 179s - 179s - $ hg clone -r master repo.git hgrepo-2 179s - importing 4 git commits 179s - new changesets ff7a2f2d8d70:0eb1ab0073a8 (4 drafts) 179s - updating to branch default 179s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 179s - $ hg log -r 'tagged()' -T shorttags -R hgrepo-2 179s - 0:ff7a2f2d8d70 draft alpha 179s - 1:7fe02317c63d draft beta 179s - 3:0eb1ab0073a8 draft default/master gamma tip 179s -This used to die: 179s - $ hg -R hgrepo-2 gexport 179s -This used to fail, since we didn't actually pull the annotated tag: 179s - $ hg -R hgrepo-2 push 179s - pushing to $TESTTMP/repo.git 179s - searching for changes 179s - no changes found 179s - [1] 179s - $ rm -rf hgrepo-2 179s - 179s -Check that pulling will update phases only: 179s - 179s - $ cd hgrepo 179s - $ hg phase -fs gamma detached 179s - $ hg pull 179s - pulling from $TESTTMP/repo.git 179s - no changes found 179s - $ hg log -T shorttags -r gamma -r detached 179s - 4:0eb1ab0073a8 draft beta default/master gamma 179s - 2:61175962e488 draft detached X 179s - $ cd .. 179s - 179s -Check that we pull new tags to existing commits: 179s - $ cd gitrepo 179s - $ git tag 179s - alpha 179s - beta 179s - detached 179s - gamma 179s - $ fn_git_tag extra-simple-tag 179s - $ fn_git_tag -m annotated extra-annotated-tag 179s - $ git push --tags 179s - To $TESTTMP/repo.git 179s - * [new tag] extra-annotated-tag -> extra-annotated-tag 179s - * [new tag] extra-simple-tag -> extra-simple-tag 179s - $ cd ../hgrepo 179s - $ hg pull -r master 179s - pulling from $TESTTMP/repo.git 179s - no changes found 179s - $ hg tags -v | grep extra 179s - extra-simple-tag 1:7fe02317c63d git 179s - extra-annotated-tag 1:7fe02317c63d git 179s 179s ERROR: test-git-tags.t#secret output changed 179s !. 179s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-renames.t 179s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-renames.t.err 179s @@ -95,494 +95,99 @@ 179s 179s $ cd .. 179s $ hg clone -q repo.git hgrepo 179s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 179s + ** which supports versions 6.9 of Mercurial. 179s + ** Please disable "hggit" and try your action again. 179s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 179s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 179s + ** Mercurial Distributed SCM (version 7.0.1) 179s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 179s + Traceback (most recent call last): 179s + File "/usr/bin/hg", line 51, in 179s + dispatch.run() 179s + ~~~~~~~~~~~~^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 179s + status = dispatch(req) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 179s + status = _rundispatch(req) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 179s + ret = _runcatch(req) or 0 179s + ~~~~~~~~~^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 179s + return _callcatch(ui, _runcatchfunc) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 179s + return scmutil.callcatch(ui, func) 179s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 179s + return func() 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 179s + return _dispatch(req) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 179s + return runcommand( 179s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 179s + ) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 179s + ret = _runcommand(ui, options, cmd, d) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 179s + return cmdfunc() 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 179s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 179s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 179s + return func(*args, **kwargs) 179s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 179s + r = hg.clone( 179s + ui, 179s + ...<11 lines>... 179s + depth=opts.get('depth') or None, 179s + ) 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 179s + srcpeer, destpeer = orig(*args, **opts) 179s + ~~~~^^^^^^^^^^^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 179s + exchange.pull( 179s + ~~~~~~~~~~~~~^ 179s + local, 179s + ^^^^^^ 179s + ...<5 lines>... 179s + depth=depth, 179s + ^^^^^^^^^^^^ 179s + ) 179s + ^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 179s + return f(*args, **kwargs) 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 179s + pullop.cgresult = repo.githandler.fetch(remote, heads) 179s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 179s + imported = self.import_git_objects( 179s + b'pull', 179s + ...<2 lines>... 179s + heads=heads, 179s + ) 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 179s + self.import_git_commit( 179s + ~~~~~~~~~~~~~~~~~~~~~~^ 179s + command, 179s + ^^^^^^^^ 179s + self.git[commit.sha], 179s + ^^^^^^^^^^^^^^^^^^^^^ 179s + commit.phase, 179s + ^^^^^^^^^^^^^ 179s + ) 179s + ^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 179s + files, gitlinks, git_renames = self.get_files_changed( 179s + ~~~~~~~~~~~~~~~~~~~~~~^ 179s + commit, detect_renames 179s + ^^^^^^^^^^^^^^^^^^^^^^ 179s + ) 179s + ^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 179s + oldfile, oldmode, oldsha = change.old 179s + ^^^^^^^^^^^^^^^^^^^^^^^^ 179s + TypeError: cannot unpack non-iterable NoneType object 179s + [1] 179s $ cd hgrepo 179s + $TESTTMP.sh: 115: cd: can't cd to hgrepo 179s $ hg book master -q 179s - $ hg log -p --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" 179s - @ 8 497105ddbe119aa40af691eb2b1a029c29bf5247 remove submodule and rename back 179s - | branch=default hg-git-rename-source=git 179s - | 179s - | diff --git a/.hgsub b/.hgsub 179s - | --- a/.hgsub 179s - | +++ b/.hgsub 179s - | @@ -1,2 +1,1 @@ 179s - | gitsubmodule2 = [git]../gitsubmodule 179s - | -gamma = [git]../gitsubmodule 179s - | diff --git a/.hgsubstate b/.hgsubstate 179s - | --- a/.hgsubstate 179s - | +++ b/.hgsubstate 179s - | @@ -1,2 +1,1 @@ 179s - | -5944b31ff85b415573d1a43eb942e2dea30ab8be gamma 179s - | 5944b31ff85b415573d1a43eb942e2dea30ab8be gitsubmodule2 179s - | diff --git a/gamma-new b/gamma 179s - | rename from gamma-new 179s - | rename to gamma 179s - | 179s - o 7 adfc1ce8461d3174dcf8425e112e2fa848de3913 rename and add submodule 179s - | branch=default hg-git-rename-source=git 179s - | 179s - | diff --git a/.hgsub b/.hgsub 179s - | --- a/.hgsub 179s - | +++ b/.hgsub 179s - | @@ -1,1 +1,2 @@ 179s - | gitsubmodule2 = [git]../gitsubmodule 179s - | +gamma = [git]../gitsubmodule 179s - | diff --git a/.hgsubstate b/.hgsubstate 179s - | --- a/.hgsubstate 179s - | +++ b/.hgsubstate 179s - | @@ -1,1 +1,2 @@ 179s - | +5944b31ff85b415573d1a43eb942e2dea30ab8be gamma 179s - | 5944b31ff85b415573d1a43eb942e2dea30ab8be gitsubmodule2 179s - | diff --git a/gamma b/gamma-new 179s - | rename from gamma 179s - | rename to gamma-new 179s - | 179s - o 6 62c1a4b07240b53a71be1b1a46e94e99132c5391 beta renamed back 179s - | branch=default hg-git-rename-source=git 179s - | 179s - | diff --git a/beta b/beta 179s - | old mode 120000 179s - | new mode 100644 179s - | --- a/beta 179s - | +++ b/beta 179s - | @@ -1,1 +1,12 @@ 179s - | -beta-new 179s - | \ No newline at end of file 179s - | +1 179s - | +2 179s - | +3 179s - | +4 179s - | +5 179s - | +6 179s - | +7 179s - | +8 179s - | +9 179s - | +10 179s - | +11 179s - | +12 179s - | diff --git a/beta-new b/beta-new 179s - | deleted file mode 100644 179s - | --- a/beta-new 179s - | +++ /dev/null 179s - | @@ -1,12 +0,0 @@ 179s - | -1 179s - | -2 179s - | -3 179s - | -4 179s - | -5 179s - | -6 179s - | -7 179s - | -8 179s - | -9 179s - | -10 179s - | -11 179s - | -12 179s - | 179s - o 5 f93fefed957cff2220d3f0d11182398350b5fa9a beta renamed 179s - | branch=default hg-git-rename-source=git 179s - | 179s - | diff --git a/beta b/beta 179s - | old mode 100644 179s - | new mode 120000 179s - | --- a/beta 179s - | +++ b/beta 179s - | @@ -1,12 +1,1 @@ 179s - | -1 179s - | -2 179s - | -3 179s - | -4 179s - | -5 179s - | -6 179s - | -7 179s - | -8 179s - | -9 179s - | -10 179s - | -11 179s - | -12 179s - | +beta-new 179s - | \ No newline at end of file 179s - | diff --git a/beta b/beta-new 179s - | copy from beta 179s - | copy to beta-new 179s - | 179s - o 4 b9e63d96abc2783afc59246e798a6936cf05a35e move submodule 179s - | branch=default hg-git-rename-source=git 179s - | 179s - | diff --git a/.hgsub b/.hgsub 179s - | --- a/.hgsub 179s - | +++ b/.hgsub 179s - | @@ -1,1 +1,1 @@ 179s - | -gitsubmodule = [git]../gitsubmodule 179s - | +gitsubmodule2 = [git]../gitsubmodule 179s - | diff --git a/.hgsubstate b/.hgsubstate 179s - | --- a/.hgsubstate 179s - | +++ b/.hgsubstate 179s - | @@ -1,1 +1,1 @@ 179s - | -5944b31ff85b415573d1a43eb942e2dea30ab8be gitsubmodule 179s - | +5944b31ff85b415573d1a43eb942e2dea30ab8be gitsubmodule2 179s - | 179s - o 3 55537ea256c28be1b5637f4f93a601fdde8a9a7f add submodule 179s - | branch=default hg-git-rename-source=git 179s - | 179s - | diff --git a/.hgsub b/.hgsub 179s - | new file mode 100644 179s - | --- /dev/null 179s - | +++ b/.hgsub 179s - | @@ -0,0 +1,1 @@ 179s - | +gitsubmodule = [git]../gitsubmodule 179s - | diff --git a/.hgsubstate b/.hgsubstate 179s - | new file mode 100644 179s - | --- /dev/null 179s - | +++ b/.hgsubstate 179s - | @@ -0,0 +1,1 @@ 179s - | +5944b31ff85b415573d1a43eb942e2dea30ab8be gitsubmodule 179s - | 179s - o 2 20f9e56b6d006d0403f853245e483d0892b8ac48 gamma 179s - | branch=default hg-git-rename-source=git 179s - | 179s - | diff --git a/beta b/beta 179s - | --- a/beta 179s - | +++ b/beta 179s - | @@ -9,3 +9,4 @@ 179s - | 9 179s - | 10 179s - | 11 179s - | +12 179s - | diff --git a/beta b/gamma 179s - | copy from beta 179s - | copy to gamma 179s - | --- a/beta 179s - | +++ b/gamma 179s - | @@ -9,3 +9,4 @@ 179s - | 9 179s - | 10 179s - | 11 179s - | +13 179s - | 179s - o 1 9f7744e68def81da3b394f11352f602ca9c8ab68 beta 179s - | branch=default hg-git-rename-source=git 179s - | 179s - | diff --git a/alpha b/beta 179s - | rename from alpha 179s - | rename to beta 179s - | --- a/alpha 179s - | +++ b/beta 179s - | @@ -8,3 +8,4 @@ 179s - | 8 179s - | 9 179s - | 10 179s - | +11 179s - | 179s - o 0 7bc844166f76e49562f81eacd54ea954d01a9e42 alpha 179s - branch=default hg-git-rename-source=git 179s - 179s - diff --git a/alpha b/alpha 179s - new file mode 100644 179s - --- /dev/null 179s - +++ b/alpha 179s - @@ -0,0 +1,10 @@ 179s - +1 179s - +2 179s - +3 179s - +4 179s - +5 179s - +6 179s - +7 179s - +8 179s - +9 179s - +10 179s - 179s - 179s -Make a new ordinary commit in Mercurial (no extra metadata) 179s - $ echo 14 >> gamma 179s - $ hg ci -m "gamma2" 179s - 179s -Make a new commit with a copy and a rename in Mercurial 179s - $ hg cp gamma delta 179s - $ echo 15 >> delta 179s - $ hg mv beta epsilon 179s - $ echo 16 >> epsilon 179s - $ hg ci -m "delta/epsilon" 179s - $ hg export . 179s - # HG changeset patch 179s - # User test 179s - # Date 0 0 179s - # Thu Jan 01 00:00:00 1970 +0000 179s - # Node ID ea6414fab78622fd53679e0593eddad96ff4178d 179s - # Parent ee9ec792d5866c313a4cb7a2f8772f2cffa90df4 179s - delta/epsilon 179s - 179s - diff --git a/gamma b/delta 179s - copy from gamma 179s - copy to delta 179s - --- a/gamma 179s - +++ b/delta 179s - @@ -11,3 +11,4 @@ 179s - 11 179s - 13 179s - 14 179s - +15 179s - diff --git a/beta b/epsilon 179s - rename from beta 179s - rename to epsilon 179s - --- a/beta 179s - +++ b/epsilon 179s - @@ -10,3 +10,4 @@ 179s - 10 179s - 11 179s - 12 179s - +16 179s - $ hg push 179s - pushing to $TESTTMP/repo.git 179s - searching for changes 179s - adding objects 179s - remote: found 0 deltas to reuse 179s - added 2 commits with 2 trees and 3 blobs 179s - updating reference refs/heads/master 179s - 179s - $ cd ../repo.git 179s - $ git log master --pretty=oneline 179s - 5f2948d029693346043f320620af99a615930dc4 delta/epsilon 179s - bbd2ec050f7fbc64f772009844f7d58a556ec036 gamma2 179s - 50d116676a308b7c22935137d944e725d2296f2a remove submodule and rename back 179s - 59fb8e82ea18f79eab99196f588e8948089c134f rename and add submodule 179s - f95497455dfa891b4cd9b524007eb9514c3ab654 beta renamed back 179s - 055f482277da6cd3dd37c7093d06983bad68f782 beta renamed 179s - d7f31298f27df8a9226eddb1e4feb96922c46fa5 move submodule 179s - c610256cb6959852d9e70d01902a06726317affc add submodule 179s - e1348449e0c3a417b086ed60fc13f068d4aa8b26 gamma 179s - cc83241f39927232f690d370894960b0d1943a0e beta 179s - 938bb65bb322eb4a3558bec4cdc8a680c4d1794c alpha 179s - 179s -Make sure the right metadata is stored 179s - $ git cat-file commit master^ 179s - tree 0adbde18545845f3b42ad1a18939ed60a9dec7a8 179s - parent 50d116676a308b7c22935137d944e725d2296f2a 179s - author test 0 +0000 179s - committer test 0 +0000 179s - HG:rename-source hg 179s - 179s - gamma2 179s - $ git cat-file commit master 179s - tree f8f32f4e20b56a5a74582c6a5952c175bf9ec155 179s - parent bbd2ec050f7fbc64f772009844f7d58a556ec036 179s - author test 0 +0000 179s - committer test 0 +0000 179s - HG:rename gamma:delta 179s - HG:rename beta:epsilon 179s - 179s - delta/epsilon 179s - 179s -Now make another clone and compare the hashes 179s - 179s - $ cd .. 179s - $ hg clone -q repo.git hgrepo2 179s - $ cd hgrepo2 179s - $ hg book master -qf 179s - $ hg export master 179s - # HG changeset patch 179s - # User test 179s - # Date 0 0 179s - # Thu Jan 01 00:00:00 1970 +0000 179s - # Node ID ea6414fab78622fd53679e0593eddad96ff4178d 179s - # Parent ee9ec792d5866c313a4cb7a2f8772f2cffa90df4 179s - delta/epsilon 179s - 179s - diff --git a/gamma b/delta 179s - copy from gamma 179s - copy to delta 179s - --- a/gamma 179s - +++ b/delta 179s - @@ -11,3 +11,4 @@ 179s - 11 179s - 13 179s - 14 179s - +15 179s - diff --git a/beta b/epsilon 179s - rename from beta 179s - rename to epsilon 179s - --- a/beta 179s - +++ b/epsilon 179s - @@ -10,3 +10,4 @@ 179s - 10 179s - 11 179s - 12 179s - +16 179s - 179s -Regenerate the Git metadata and compare the hashes 179s - $ hg debug-remove-hggit-state 179s - clearing out the git cache data 179s - $ hg gexport 179s - $ cd .hg/git 179s - $ git log master --pretty=oneline 179s - f3f6592447685566af9447c03ae262aa5432511d delta/epsilon (dulwich-rust !) 179s - c51ce14ec367c5ea72bf428dee3f8576f2fe1bb0 gamma2 (dulwich-rust !) 179s - df749cae534e3c7a0ad664cd0f214dd36e0ac259 remove submodule and rename back (dulwich-rust !) 179s - 8f9ec605ad0cc2532202f73cef8e35d3241797ee rename and add submodule (dulwich-rust !) 179s - 8a00d0fb75377c51c9a46e92ff154c919007f0e2 delta/epsilon (no-dulwich-rust !) 179s - dd7d4f1adb942a8d349dce585019f6949184bc64 gamma2 (no-dulwich-rust !) 179s - 3f1cdaf8b603816fcda02bd29e75198ae4cb13db remove submodule and rename back (no-dulwich-rust !) 179s - 2a4abf1178a999e2054158ceb0c7768079665d03 rename and add submodule (no-dulwich-rust !) 179s - 88c416e8d5e0e9dd1187d45ebafaa46111764196 beta renamed back 179s - 027d2a6e050705bf6f7e226e7e97f02ce5ae3200 beta renamed 179s - dc70e620634887e70ac5dd108bcc7ebd99c60ec3 move submodule 179s - c610256cb6959852d9e70d01902a06726317affc add submodule 179s - e1348449e0c3a417b086ed60fc13f068d4aa8b26 gamma 179s - cc83241f39927232f690d370894960b0d1943a0e beta 179s - 938bb65bb322eb4a3558bec4cdc8a680c4d1794c alpha 179s - 179s -Test findcopiesharder 179s - 179s - $ cd $TESTTMP 179s - $ git init -q gitcopyharder 179s - $ cd gitcopyharder 179s - $ cat >> file0 << EOF 179s - > 1 179s - > 2 179s - > 3 179s - > 4 179s - > 5 179s - > EOF 179s - $ git add file0 179s - $ fn_git_commit -m file0 179s - $ cp file0 file1 179s - $ git add file1 179s - $ fn_git_commit -m file1 179s - $ cp file0 file2 179s - $ echo 6 >> file2 179s - $ git add file2 179s - $ fn_git_commit -m file2 179s - 179s - $ cd .. 179s - 179s -Clone without findcopiesharder does not find copies from unmodified files 179s - 179s - $ hg clone gitcopyharder hgnocopyharder 179s - importing 3 git commits 179s - new changesets b45d023c6842:ec77ccdbefe0 (3 drafts) 179s - updating to bookmark master 179s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 179s - $ hg -R hgnocopyharder export 1::2 179s - # HG changeset patch 179s - # User test 179s - # Date 1167609621 0 179s - # Mon Jan 01 00:00:21 2007 +0000 179s - # Node ID 555831c93e2a250e5ba42efad45bf7ba71da13e4 179s - # Parent b45d023c6842337ffe694663a44aa672d311081c 179s - file1 179s - 179s - diff --git a/file1 b/file1 179s - new file mode 100644 179s - --- /dev/null 179s - +++ b/file1 179s - @@ -0,0 +1,5 @@ 179s - +1 179s - +2 179s - +3 179s - +4 179s - +5 179s - # HG changeset patch 179s - # User test 179s - # Date 1167609622 0 179s - # Mon Jan 01 00:00:22 2007 +0000 179s - # Node ID ec77ccdbefe023eb9898b0399f84f670c8c0f5fc 179s - # Parent 555831c93e2a250e5ba42efad45bf7ba71da13e4 179s - file2 179s - 179s - diff --git a/file2 b/file2 179s - new file mode 100644 179s - --- /dev/null 179s - +++ b/file2 179s - @@ -0,0 +1,6 @@ 179s - +1 179s - +2 179s - +3 179s - +4 179s - +5 179s - +6 179s - 179s -findcopiesharder finds copies from unmodified files if similarity is met 179s - 179s - $ hg --config git.findcopiesharder=true clone gitcopyharder hgcopyharder0 179s - importing 3 git commits 179s - new changesets b45d023c6842:9b3099834272 (3 drafts) 179s - updating to bookmark master 179s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 179s - $ hg -R hgcopyharder0 export 1::2 179s - # HG changeset patch 179s - # User test 179s - # Date 1167609621 0 179s - # Mon Jan 01 00:00:21 2007 +0000 179s - # Node ID cd05a87103eed9d270fc05b62b00f48e174ab960 179s - # Parent b45d023c6842337ffe694663a44aa672d311081c 179s - file1 179s - 179s - diff --git a/file0 b/file1 179s - copy from file0 179s - copy to file1 179s - # HG changeset patch 179s - # User test 179s - # Date 1167609622 0 179s - # Mon Jan 01 00:00:22 2007 +0000 179s - # Node ID 9b30998342729c7357d418bebed7399986cfe643 179s - # Parent cd05a87103eed9d270fc05b62b00f48e174ab960 179s - file2 179s - 179s - diff --git a/file0 b/file2 179s - copy from file0 179s - copy to file2 179s - --- a/file0 179s - +++ b/file2 179s - @@ -3,3 +3,4 @@ 179s - 3 179s - 4 179s - 5 179s - +6 179s - 179s - $ hg --config git.findcopiesharder=true --config git.similarity=95 clone gitcopyharder hgcopyharder1 179s - importing 3 git commits 179s - new changesets b45d023c6842:d9d2e8cbf050 (3 drafts) 179s - updating to bookmark master 179s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 179s - $ hg -R hgcopyharder1 export 1::2 179s - # HG changeset patch 179s - # User test 179s - # Date 1167609621 0 179s - # Mon Jan 01 00:00:21 2007 +0000 179s - # Node ID cd05a87103eed9d270fc05b62b00f48e174ab960 179s - # Parent b45d023c6842337ffe694663a44aa672d311081c 179s - file1 179s - 179s - diff --git a/file0 b/file1 179s - copy from file0 179s - copy to file1 179s - # HG changeset patch 179s - # User test 179s - # Date 1167609622 0 179s - # Mon Jan 01 00:00:22 2007 +0000 179s - # Node ID d9d2e8cbf050772be31dccf78851f71dc547d139 179s - # Parent cd05a87103eed9d270fc05b62b00f48e174ab960 179s - file2 179s - 179s - diff --git a/file2 b/file2 179s - new file mode 100644 179s - --- /dev/null 179s - +++ b/file2 179s - @@ -0,0 +1,6 @@ 179s - +1 179s - +2 179s - +3 179s - +4 179s - +5 179s - +6 179s - 179s -Config values out of range 179s - $ hg --config git.similarity=999 clone gitcopyharder hgcopyharder2 179s - importing 3 git commits 179s - abort: git.similarity must be between 0 and 100 179s - [255] 179s -Left-over on Windows with some pack files 179s - $ rm -rf hgcopyharder2 179s - $ hg --config git.renamelimit=-5 clone gitcopyharder hgcopyharder2 179s - importing 3 git commits 179s - abort: git.renamelimit must be non-negative 179s - [255] 179s 179s ERROR: test-renames.t output changed 179s ! 179s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-git-submodules.t 179s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-git-submodules.t.err 179s @@ -189,260 +189,99 @@ 179s 179s $ hg clone gitrepo2 hgrepo 179s importing 10 git commits 179s - new changesets ff7a2f2d8d70:0ad944b2c4d8 (10 drafts) 179s - updating to bookmark master 179s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 179s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 179s + ** which supports versions 6.9 of Mercurial. 179s + ** Please disable "hggit" and try your action again. 179s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 179s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 179s + ** Mercurial Distributed SCM (version 7.0.1) 179s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 179s + Traceback (most recent call last): 179s + File "/usr/bin/hg", line 51, in 179s + dispatch.run() 179s + ~~~~~~~~~~~~^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 179s + status = dispatch(req) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 179s + status = _rundispatch(req) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 179s + ret = _runcatch(req) or 0 179s + ~~~~~~~~~^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 179s + return _callcatch(ui, _runcatchfunc) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 179s + return scmutil.callcatch(ui, func) 179s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 179s + return func() 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 179s + return _dispatch(req) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 179s + return runcommand( 179s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 179s + ) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 179s + ret = _runcommand(ui, options, cmd, d) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 179s + return cmdfunc() 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 179s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 179s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 179s + return func(*args, **kwargs) 179s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 179s + r = hg.clone( 179s + ui, 179s + ...<11 lines>... 179s + depth=opts.get('depth') or None, 179s + ) 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 179s + srcpeer, destpeer = orig(*args, **opts) 179s + ~~~~^^^^^^^^^^^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 179s + exchange.pull( 179s + ~~~~~~~~~~~~~^ 179s + local, 179s + ^^^^^^ 179s + ...<5 lines>... 179s + depth=depth, 179s + ^^^^^^^^^^^^ 179s + ) 179s + ^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 179s + return f(*args, **kwargs) 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 179s + pullop.cgresult = repo.githandler.fetch(remote, heads) 179s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 179s + imported = self.import_git_objects( 179s + b'pull', 179s + ...<2 lines>... 179s + heads=heads, 179s + ) 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 179s + self.import_git_commit( 179s + ~~~~~~~~~~~~~~~~~~~~~~^ 179s + command, 179s + ^^^^^^^^ 179s + self.git[commit.sha], 179s + ^^^^^^^^^^^^^^^^^^^^^ 179s + commit.phase, 179s + ^^^^^^^^^^^^^ 179s + ) 179s + ^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 179s + files, gitlinks, git_renames = self.get_files_changed( 179s + ~~~~~~~~~~~~~~~~~~~~~~^ 179s + commit, detect_renames 179s + ^^^^^^^^^^^^^^^^^^^^^^ 179s + ) 179s + ^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 179s + oldfile, oldmode, oldsha = change.old 179s + ^^^^^^^^^^^^^^^^^^^^^^^^ 179s + TypeError: cannot unpack non-iterable NoneType object 179s + [1] 179s $ cd hgrepo 179s + $TESTTMP.sh: 133: cd: can't cd to hgrepo 179s $ hg log --graph 179s - @ changeset: 9:0ad944b2c4d8 179s - | bookmark: master 179s - | tag: default/master 179s - | tag: tip 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: remove all subrepos 179s - | 179s - o changeset: 8:33da452ef22f 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: replace subrepo with symlink 179s - | 179s - o changeset: 7:acebec53c0fc 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: replace symlink with subrepo 179s - | 179s - o changeset: 6:78c2ea52db4b 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: add symlink 179s - | 179s - o changeset: 5:c0d52ffc59b8 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: replace file with subrepo 179s - | 179s - o changeset: 4:73e078a178a0 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: replace subrepo with file 179s - | 179s - o changeset: 3:29e236ba4c06 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: add another subrepo 179s - | 179s - o changeset: 2:a6075a162f62 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: change subrepo commit 179s - | 179s - o changeset: 1:a4036e758995 179s - | user: test 179s - | date: Mon Jan 01 00:00:11 2007 +0000 179s - | summary: add subrepo 179s - | 179s - o changeset: 0:ff7a2f2d8d70 179s - user: test 179s - date: Mon Jan 01 00:00:10 2007 +0000 179s - summary: add alpha 179s - 179s - $ hg book 179s - * master 9:0ad944b2c4d8 179s - 179s -(add subrepo) 179s - $ hg cat -r 1 .hgsubstate 179s - 6e4ad8da50204560c00fa25e4987eb2e239029ba subrepo 179s - $ hg cat -r 1 .hgsub 179s - subrepo = [git]../gitsubrepo 179s - $ hg gverify -r 1 179s - verifying rev a4036e758995 against git commit e42b08b3cb7069b4594a4ee1d9cb641ee47b2355 179s - 179s -(change subrepo commit) 179s - $ hg cat -r 2 .hgsubstate 179s - aa2ead20c29b5cc6256408e1d9ef704870033afb subrepo 179s - $ hg cat -r 2 .hgsub 179s - subrepo = [git]../gitsubrepo 179s - $ hg gverify -r 2 179s - verifying rev a6075a162f62 against git commit a000567ceefbd9a2ce364e0dea6e298010b02b6d 179s - 179s -(add another subrepo) 179s - $ hg cat -r 3 .hgsubstate 179s - aa2ead20c29b5cc6256408e1d9ef704870033afb subrepo 179s - 6e4ad8da50204560c00fa25e4987eb2e239029ba subrepo2 179s - $ hg cat -r 3 .hgsub 179s - subrepo = [git]../gitsubrepo 179s - subrepo2 = [git]../gitsubrepo 179s - $ hg gverify -r 3 179s - verifying rev 29e236ba4c06 against git commit 6e219527869fa40eb6ffbdd013cd86d576b26b01 179s - 179s -(replace subrepo with file) 179s - $ hg cat -r 4 .hgsubstate 179s - 6e4ad8da50204560c00fa25e4987eb2e239029ba subrepo2 179s - $ hg cat -r 4 .hgsub 179s - subrepo2 = [git]../gitsubrepo 179s - $ hg manifest -r 4 179s - .hgsub 179s - .hgsubstate 179s - alpha 179s - subrepo 179s - $ hg gverify -r 4 179s - verifying rev 73e078a178a0 against git commit f6436a472da00f581d8d257e9bbaf3c358a5e88c 179s - 179s -(replace file with subrepo) 179s - $ hg cat -r 5 .hgsubstate 179s - 6e4ad8da50204560c00fa25e4987eb2e239029ba alpha 179s - 6e4ad8da50204560c00fa25e4987eb2e239029ba subrepo2 179s - $ hg cat -r 5 .hgsub 179s - subrepo2 = [git]../gitsubrepo 179s - alpha = [git]../gitsubrepo 179s - $ hg manifest -r 5 179s - .hgsub 179s - .hgsubstate 179s - subrepo 179s - $ hg gverify -r 5 179s - verifying rev c0d52ffc59b8 against git commit 88171163bf4795b5570924e51d5f8ede33f8bc28 179s - 179s -(replace symlink with subrepo) 179s - $ hg cat -r 7 .hgsub 179s - subrepo2 = [git]../gitsubrepo 179s - alpha = [git]../gitsubrepo 179s - foolink = [git]../gitsubrepo 179s - $ hg cat -r 7 .hgsubstate 179s - 6e4ad8da50204560c00fa25e4987eb2e239029ba alpha 179s - 6e4ad8da50204560c00fa25e4987eb2e239029ba foolink 179s - 6e4ad8da50204560c00fa25e4987eb2e239029ba subrepo2 179s - $ hg gverify -r 7 179s - verifying rev acebec53c0fc against git commit e3288fa737d429a60637b3b6782cb25b8298bc00 179s - 179s -(replace subrepo with symlink) 179s - $ hg cat -r 8 .hgsub .hgsubstate 179s - subrepo2 = [git]../gitsubrepo 179s - alpha = [git]../gitsubrepo 179s - 6e4ad8da50204560c00fa25e4987eb2e239029ba alpha 179s - 6e4ad8da50204560c00fa25e4987eb2e239029ba subrepo2 179s - 179s - $ hg gverify -r 8 179s - verifying rev 33da452ef22f against git commit d28364013fe1a0fde56c0e1921e49ecdeee8571d 179s - 179s -(remove all subrepos) 179s - $ hg cat -r 9 .hgsub .hgsubstate 179s - .hgsub: no such file in rev 0ad944b2c4d8 179s - .hgsubstate: no such file in rev 0ad944b2c4d8 179s - [1] 179s - $ hg gverify -r 9 179s - verifying rev 0ad944b2c4d8 against git commit 15ba94929481c654814178aac1dbca06ae688718 179s - 179s - $ hg debug-remove-hggit-state 179s - clearing out the git cache data 179s - $ hg gexport 179s - $ cd .hg/git 179s - $ git log --pretty=oneline 179s - 73c15b74fb81fa0cc60e9c59c73787a9f26c778b remove all subrepos 179s - d28364013fe1a0fde56c0e1921e49ecdeee8571d replace subrepo with symlink 179s - e3288fa737d429a60637b3b6782cb25b8298bc00 replace symlink with subrepo 179s - 2d1c135447d11df4dfe96dd5d4f37926dc5c821d add symlink 179s - 88171163bf4795b5570924e51d5f8ede33f8bc28 replace file with subrepo 179s - f6436a472da00f581d8d257e9bbaf3c358a5e88c replace subrepo with file 179s - 6e219527869fa40eb6ffbdd013cd86d576b26b01 add another subrepo 179s - a000567ceefbd9a2ce364e0dea6e298010b02b6d change subrepo commit 179s - e42b08b3cb7069b4594a4ee1d9cb641ee47b2355 add subrepo 179s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 add alpha 179s - 179s -test with rename detection enabled -- simply checking that the Mercurial hashes 179s -are the same is enough 179s - $ cd ../../.. 179s - $ hg --config git.similarity=100 clone gitrepo2 hgreporenames 179s - importing 10 git commits 179s - new changesets ff7a2f2d8d70:0ad944b2c4d8 (10 drafts) 179s - updating to bookmark master 179s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 179s - $ cd hgreporenames 179s - $ hg log --graph 179s - @ changeset: 9:0ad944b2c4d8 179s - | bookmark: master 179s - | tag: default/master 179s - | tag: tip 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: remove all subrepos 179s - | 179s - o changeset: 8:33da452ef22f 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: replace subrepo with symlink 179s - | 179s - o changeset: 7:acebec53c0fc 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: replace symlink with subrepo 179s - | 179s - o changeset: 6:78c2ea52db4b 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: add symlink 179s - | 179s - o changeset: 5:c0d52ffc59b8 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: replace file with subrepo 179s - | 179s - o changeset: 4:73e078a178a0 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: replace subrepo with file 179s - | 179s - o changeset: 3:29e236ba4c06 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: add another subrepo 179s - | 179s - o changeset: 2:a6075a162f62 179s - | user: test 179s - | date: Mon Jan 01 00:00:12 2007 +0000 179s - | summary: change subrepo commit 179s - | 179s - o changeset: 1:a4036e758995 179s - | user: test 179s - | date: Mon Jan 01 00:00:11 2007 +0000 179s - | summary: add subrepo 179s - | 179s - o changeset: 0:ff7a2f2d8d70 179s - user: test 179s - date: Mon Jan 01 00:00:10 2007 +0000 179s - summary: add alpha 179s - 179s - $ cd .. 179s - 179s -test handling of an invalid .gitmodules file (#380) 179s - 179s - $ git init --quiet gitrepo-issue380 179s - $ cd gitrepo-issue380 179s - $ git submodule add ../gitsubrepo 179s - Cloning into '$TESTTMP/gitrepo-issue380/gitsubrepo'... 179s - done. 179s - $ fn_git_commit -m 'add a submodule' 179s - $ cat >> .gitmodules < <<<<<<< HEAD 179s - > EOF 179s - $ fn_git_commit -a -m 'b0rken .gitmodules' 179s - $ git status 179s - fatal: bad config line 4 in file $TESTTMP/gitrepo-issue380/.gitmodules 179s - [128] 179s - $ sed -i.orig /HEAD/d .gitmodules 179s - $ fn_git_commit -a -m 'fix .gitmodules' 179s - $ git status 179s - On branch master 179s - Untracked files: 179s - (use "git add ..." to include in what will be committed) 179s - .gitmodules.orig 179s - 179s - nothing added to commit but untracked files present (use "git add" to track) 179s - $ cd .. 179s - $ git clone gitrepo-issue380 gitrepo-issue380~ 179s - Cloning into 'gitrepo-issue380~'... 179s - done. 179s - $ hg clone -U gitrepo-issue380 hgrepo-issue380 179s - importing 3 git commits 179s - warning: failed to parse .gitmodules in 2e4ec4293822 179s - new changesets ed60e5fbc192:9dfc0cdf1787 (3 drafts) 179s 179s ERROR: test-git-submodules.t output changed 179s ! 179s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push.t 179s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push.t.err 179s @@ -13,286 +13,100 @@ 179s $ cd .. 179s $ hg clone -u tip gitrepo hgrepo 179s importing 1 git commits 179s - new changesets ff7a2f2d8d70 (1 drafts) 179s - updating to branch default 179s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 179s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 179s + ** which supports versions 6.9 of Mercurial. 179s + ** Please disable "hggit" and try your action again. 179s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 179s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 179s + ** Mercurial Distributed SCM (version 7.0.1) 179s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 179s + Traceback (most recent call last): 179s + File "/usr/bin/hg", line 51, in 179s + dispatch.run() 179s + ~~~~~~~~~~~~^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 179s + status = dispatch(req) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 179s + status = _rundispatch(req) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 179s + ret = _runcatch(req) or 0 179s + ~~~~~~~~~^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 179s + return _callcatch(ui, _runcatchfunc) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 179s + return scmutil.callcatch(ui, func) 179s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 179s + return func() 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 179s + return _dispatch(req) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 179s + return runcommand( 179s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 179s + ) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 179s + ret = _runcommand(ui, options, cmd, d) 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 179s + return cmdfunc() 179s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 179s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 179s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 179s + return func(*args, **kwargs) 179s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 179s + r = hg.clone( 179s + ui, 179s + ...<11 lines>... 179s + depth=opts.get('depth') or None, 179s + ) 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 179s + srcpeer, destpeer = orig(*args, **opts) 179s + ~~~~^^^^^^^^^^^^^^^ 179s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 179s + exchange.pull( 179s + ~~~~~~~~~~~~~^ 179s + local, 179s + ^^^^^^ 179s + ...<5 lines>... 179s + depth=depth, 179s + ^^^^^^^^^^^^ 179s + ) 179s + ^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 179s + return f(*args, **kwargs) 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 179s + pullop.cgresult = repo.githandler.fetch(remote, heads) 179s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 179s + imported = self.import_git_objects( 179s + b'pull', 179s + ...<2 lines>... 179s + heads=heads, 179s + ) 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 179s + self.import_git_commit( 179s + ~~~~~~~~~~~~~~~~~~~~~~^ 179s + command, 179s + ^^^^^^^^ 179s + self.git[commit.sha], 179s + ^^^^^^^^^^^^^^^^^^^^^ 179s + commit.phase, 179s + ^^^^^^^^^^^^^ 179s + ) 179s + ^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 179s + files, gitlinks, git_renames = self.get_files_changed( 179s + ~~~~~~~~~~~~~~~~~~~~~~^ 179s + commit, detect_renames 179s + ^^^^^^^^^^^^^^^^^^^^^^ 179s + ) 179s + ^ 179s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 179s + oldfile, oldmode, oldsha = change.old 179s + ^^^^^^^^^^^^^^^^^^^^^^^^ 179s + TypeError: cannot unpack non-iterable NoneType object 179s + [1] 179s 179s $ cd hgrepo 179s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 179s $ hg bookmark -q master 179s - $ echo beta > beta 179s - $ hg add beta 179s - $ fn_hg_commit -m 'add beta' 179s - 179s - 179s - $ echo gamma > gamma 179s - $ hg add gamma 179s - $ fn_hg_commit -m 'add gamma' 179s - 179s - $ hg book -r 1 beta 179s - $ hg push -r beta 179s - pushing to $TESTTMP/gitrepo 179s - searching for changes 179s - adding objects 179s - remote: found 0 deltas to reuse 179s - added 1 commits with 1 trees and 1 blobs 179s - adding reference refs/heads/beta 179s - 179s - $ cd .. 179s - 179s -should have two different branches 179s - $ cd gitrepo 179s - $ git branch -v 179s - beta 0f378ab add beta 179s - master 7eeab2e add alpha 179s - * not-master 7eeab2e add alpha 179s - 179s -some more work on master from git 179s - $ git checkout master 2>&1 | sed s/\'/\"/g 179s - Switched to branch "master" 179s - $ echo delta > delta 179s - $ git add delta 179s - $ fn_git_commit -m "add delta" 179s - $ git checkout not-master 2>&1 | sed s/\'/\"/g 179s - Switched to branch "not-master" 179s - 179s - $ cd .. 179s - 179s - $ cd hgrepo 179s -this should fail 179s - $ hg push -r master 179s - pushing to $TESTTMP/gitrepo 179s - searching for changes 179s - abort: branch 'refs/heads/master' changed on the server, please pull and merge before pushing 179s - [255] 179s - 179s -... even with -f 179s - $ hg push -fr master 179s - pushing to $TESTTMP/gitrepo 179s - searching for changes 179s - abort: branch 'refs/heads/master' changed on the server, please pull and merge before pushing 179s - [255] 179s - 179s - $ hg pull 2>&1 | grep -v 'divergent bookmark' 179s - pulling from $TESTTMP/gitrepo 179s - importing 1 git commits 179s - not updating diverged bookmark master 179s - new changesets 25eed24f5e8f (1 drafts) 179s - (run 'hg heads' to see heads, 'hg merge' to merge) 179s -TODO shouldn't need to do this since we're (in theory) pushing master explicitly, 179s -which should not implicitly also push the not-master ref. 179s - $ hg book not-master -r default/not-master --force 179s -master and default/master should be diferent 179s - $ hg log -r master 179s - changeset: 2:953796e1cfd8 179s - bookmark: master 179s - user: test 179s - date: Mon Jan 01 00:00:12 2007 +0000 179s - summary: add gamma 179s - 179s - $ hg log -r default/master 179s - changeset: 3:25eed24f5e8f 179s - tag: default/master 179s - tag: tip 179s - parent: 0:ff7a2f2d8d70 179s - user: test 179s - date: Mon Jan 01 00:00:13 2007 +0000 179s - summary: add delta 179s - 179s - 179s -this should also fail 179s - $ hg push -r master 179s - pushing to $TESTTMP/gitrepo 179s - searching for changes 179s - abort: pushing refs/heads/master overwrites 953796e1cfd8 179s - [255] 179s - 179s -... but succeed with -f 179s - $ hg push -fr master 179s - pushing to $TESTTMP/gitrepo 179s - searching for changes 179s - adding objects 179s - remote: found 0 deltas to reuse 179s - added 1 commits with 1 trees and 1 blobs 179s - updating reference refs/heads/master 179s - 179s -this should fail, no changes to push 179s - $ hg push -r master 179s - pushing to $TESTTMP/gitrepo 179s - searching for changes 179s - no changes found 179s - [1] 179s - 179s -hg-git issue103 -- directories can lose information at hg-git export time 179s - 179s - $ hg up master 179s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 179s - $ mkdir dir1 179s - $ echo alpha > dir1/alpha 179s - $ hg add dir1/alpha 179s - $ fn_hg_commit -m 'add dir1/alpha' 179s - $ hg push -r master 179s - pushing to $TESTTMP/gitrepo 179s - searching for changes 179s - adding objects 179s - remote: found 0 deltas to reuse 179s - added 1 commits with 2 trees and 0 blobs 179s - updating reference refs/heads/master 179s - 179s - $ echo beta > dir1/beta 179s - $ hg add dir1/beta 179s - $ fn_hg_commit -m 'add dir1/beta' 179s - $ hg push -r master 179s - pushing to $TESTTMP/gitrepo 179s - searching for changes 179s - adding objects 179s - remote: found 0 deltas to reuse 179s - added 1 commits with 2 trees and 0 blobs 179s - updating reference refs/heads/master 179s - $ hg log -r master 179s - changeset: 5:ba0476ff1899 179s - bookmark: master 179s - tag: default/master 179s - tag: tip 179s - user: test 179s - date: Mon Jan 01 00:00:15 2007 +0000 179s - summary: add dir1/beta 179s - 179s - 179s - $ cat >> .hg/hgrc << EOF 179s - > [paths] 179s - > default:pushurl = file:///$TESTTMP/gitrepo 179s - > EOF 179s -NB: the triple slashes are intentional, due to windows 179s - $ hg push -r master 179s - pushing to file:///$TESTTMP/gitrepo 179s - searching for changes 179s - no changes found 179s - [1] 179s - 179s - $ cd .. 179s - 179s - $ hg clone -u tip gitrepo hgrepo-test 179s - importing 5 git commits 179s - new changesets ff7a2f2d8d70:ba0476ff1899 (5 drafts) 179s - updating to branch default 179s - 5 files updated, 0 files merged, 0 files removed, 0 files unresolved 179s - $ hg -R hgrepo-test log -r master 179s - changeset: 4:ba0476ff1899 179s - bookmark: master 179s - tag: default/master 179s - tag: tip 179s - user: test 179s - date: Mon Jan 01 00:00:15 2007 +0000 179s - summary: add dir1/beta 179s - 179s - $ hg tags -R hgrepo-test | grep ^default/ 179s - default/master 4:ba0476ff1899 179s - default/beta 1:47580592d3d6 179s - default/not-master 0:ff7a2f2d8d70 179s - 179s -Push a fast-forward to a currently checked out branch, which sometimes 179s -fails: 179s - 179s - $ cd hgrepo 179s - $ hg book -r master not-master 179s - moving bookmark 'not-master' forward from ff7a2f2d8d70 179s - $ hg push 179s - pushing to file:///$TESTTMP/gitrepo 179s - searching for changes 179s - warning: failed to update HEAD; unable to set b'HEAD' to b'7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03' (?) 179s - updating reference refs/heads/not-master 179s -That should have updated the tag: 179s - $ hg tags | grep ^default/ 179s - default/not-master 5:ba0476ff1899 179s - default/master 5:ba0476ff1899 179s - default/beta 1:47580592d3d6 179s - $ cd .. 179s - 179s -We can push only one of two bookmarks on the same revision: 179s - 179s - $ cd hgrepo 179s - $ hg book -r 0 also-not-master really-not-master 179s - $ hg push -B also-not-master 179s - pushing to file:///$TESTTMP/gitrepo 179s - searching for changes 179s - adding reference refs/heads/also-not-master 179s - 179s -We can also push another bookmark to a path with another revision 179s -specified: 179s - 179s - $ hg book -r 3 also-not-master 179s - moving bookmark 'also-not-master' forward from ff7a2f2d8d70 179s - $ hg push -B also-not-master "file:///$TESTTMP/gitrepo#master" 179s - pushing to file:///$TESTTMP/gitrepo 179s - searching for changes 179s - adding objects 179s - remote: found 0 deltas to reuse 179s - added 1 commits with 1 trees and 1 blobs 179s - updating reference refs/heads/also-not-master 179s - 179s -And we can delete them again afterwards: 179s - 179s - $ hg book -d also-not-master really-not-master 179s - $ hg push -B also-not-master -B really-not-master 179s - pushing to file:///$TESTTMP/gitrepo 179s - searching for changes 179s - warning: unable to delete 'refs/heads/really-not-master' as it does not exist on the remote repository 179s - deleting reference refs/heads/also-not-master 179s - 179s -Push empty Hg repo to empty Git repo (issue #58) 179s - $ hg init hgrepo2 179s - $ git init -q --bare repo.git 179s - $ hg -R hgrepo2 push repo.git 179s - pushing to repo.git 179s - searching for changes 179s - abort: no bookmarks or tags to push to git 179s - (see "hg help bookmarks" for details on creating them) 179s - [255] 179s - 179s -The remote repo is empty and the local one doesn't have any bookmarks/tags 179s - $ cd hgrepo2 179s - $ echo init >> test.txt 179s - $ hg addremove 179s - adding test.txt 179s - $ fn_hg_commit -m init 179s - $ hg update null 179s - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 179s - $ hg push ../repo.git 179s - pushing to ../repo.git 179s - searching for changes 179s - abort: no bookmarks or tags to push to git 179s - (see "hg help bookmarks" for details on creating them) 179s - [255] 179s - $ hg summary 179s - parent: -1:000000000000 (no revision checked out) 179s - branch: default 179s - commit: (clean) 179s - update: 1 new changesets (update) 179s - phases: 1 draft 179s -That should not create any bookmarks 179s - $ hg bookmarks 179s - no bookmarks set 179s -And no tags for the remotes either: 179s - $ hg tags 179s - tip 0:8aded40be5af 179s - 179s -test for ssh vulnerability 179s - 179s - $ cat >> $HGRCPATH << EOF 179s - > [ui] 179s - > ssh = ssh -o ConnectTimeout=1 179s - > EOF 179s - $ hg push -q 'git+ssh://-oProxyCommand=rm${IFS}nonexistent/path' 179s - abort: potentially unsafe hostname: '-oProxyCommand=rm${IFS}nonexistent' 179s - [255] 179s - $ hg push -q 'git+ssh://-oProxyCommand=rm%20nonexistent/path' 179s - abort: potentially unsafe hostname: '-oProxyCommand=rm nonexistent' 179s - [255] 179s - $ hg push -q 'git+ssh://fakehost|rm%20nonexistent/path' 179s - ssh: * fakehost%7?rm%20nonexistent* (glob) 179s - abort: git remote error: The remote server unexpectedly closed the connection. 179s - [255] 179s - $ hg push -q 'git+ssh://fakehost%7Crm%20nonexistent/path' 179s - ssh: * fakehost%7?rm%20nonexistent* (glob) 179s - abort: git remote error: The remote server unexpectedly closed the connection. 179s - [255] 179s 179s ERROR: test-push.t output changed 180s ! 180s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-bundle.t 180s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-bundle.t.err 180s @@ -37,246 +37,102 @@ 180s 180s $ hg clone gitrepo hgrepo 180s importing 3 git commits 180s - new changesets ff7a2f2d8d70:ca33a262eb46 (3 drafts) 180s - updating to bookmark master 180s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 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 "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 180s + r = hg.clone( 180s + ui, 180s + ...<11 lines>... 180s + depth=opts.get('depth') or None, 180s + ) 180s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 180s + srcpeer, destpeer = orig(*args, **opts) 180s + ~~~~^^^^^^^^^^^^^^^ 180s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 180s + exchange.pull( 180s + ~~~~~~~~~~~~~^ 180s + local, 180s + ^^^^^^ 180s + ...<5 lines>... 180s + depth=depth, 180s + ^^^^^^^^^^^^ 180s + ) 180s + ^ 180s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 180s + return f(*args, **kwargs) 180s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 180s + pullop.cgresult = repo.githandler.fetch(remote, heads) 180s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 180s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 180s + imported = self.import_git_objects( 180s + b'pull', 180s + ...<2 lines>... 180s + heads=heads, 180s + ) 180s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 180s + self.import_git_commit( 180s + ~~~~~~~~~~~~~~~~~~~~~~^ 180s + command, 180s + ^^^^^^^^ 180s + self.git[commit.sha], 180s + ^^^^^^^^^^^^^^^^^^^^^ 180s + commit.phase, 180s + ^^^^^^^^^^^^^ 180s + ) 180s + ^ 180s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 180s + files, gitlinks, git_renames = self.get_files_changed( 180s + ~~~~~~~~~~~~~~~~~~~~~~^ 180s + commit, detect_renames 180s + ^^^^^^^^^^^^^^^^^^^^^^ 180s + ) 180s + ^ 180s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 180s + oldfile, oldmode, oldsha = change.old 180s + ^^^^^^^^^^^^^^^^^^^^^^^^ 180s + TypeError: cannot unpack non-iterable NoneType object 180s + [1] 180s $ cd hgrepo 180s + $TESTTMP.sh: 45: cd: can't cd to hgrepo 180s 180s Create a bundle with our metadata, and inspect it: 181s 181s $ hg bundle --all ../bundle-w-git.hg 181s - 3 changesets found 181s - $ hg debugbundle --all ../bundle-w-git.hg | grep hg-git 181s - exp-hg-git-map -- {} (mandatory: False) 181s - exp-hg-git-tags -- {} (mandatory: False) 181s - $ hg debugbundle --all ../bundle-w-git.hg > bundle-w-git.out 181s - 181s -Create a bundle without our metadata, and inspect it: 181s - 181s - $ hg bundle --all ../bundle-wo-git.hg --config experimental.hg-git-bundle=no 181s - 3 changesets found 181s - $ hg debugbundle --all ../bundle-wo-git.hg | grep hg-git 181s - [1] 181s - 181s -Verify that those are different: 181s - 181s - $ hg debugbundle --all ../bundle-wo-git.hg > bundle-wo-git.out 181s - $ cmp -s bundle-w-git.out bundle-wo-git.out 181s - [1] 181s - 181s -Now create a bundle without hg-git enabled at all, which should be 181s -exactly similar to what you get when you disable metadata embedding; 181s -this verifies we don't accidentally pollute bundles. 181s - 181s - $ hg bundle --all --config extensions.hggit=! ../bundle-wo-hggit.hg 181s - 3 changesets found 181s - $ hg debugbundle --all ../bundle-wo-hggit.hg > bundle-wo-hggit.out 181s - $ cmp -s bundle-wo-git.hg bundle-wo-hggit.hg 181s - [2] 181s - $ cmp -s bundle-wo-git.out bundle-wo-hggit.out 181s - $ cd .. 181s - $ rm -r hgrepo 181s - 181s -Does unbundling transfer state? 181s - 181s - $ hg init hgrepo 181s - $ hg -R hgrepo unbundle bundle-w-git.hg 181s - adding changesets 181s - adding manifests 181s - adding file changes 181s - added 3 changesets with 3 changes to 3 files 181s - new changesets * (glob) 181s - (run 'hg update' to get a working copy) 181s - $ hg -R hgrepo log -T git 181s - 2:ca33a262eb46 | d338971a96e2 | tip | 181s - 1:7fe02317c63d | 9497a4ee62e1 | theothertag | 181s - 0:ff7a2f2d8d70 | 7eeab2ea75ec | thetag | 181s - $ hg -R hgrepo pull gitrepo 181s - pulling from gitrepo 181s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 181s - no changes found 181s - adding bookmark master 181s - $ rm -r hgrepo 181s - 181s -Can we unbundle something without git state? 181s - 181s - $ hg init hgrepo 181s - $ hg -R hgrepo unbundle bundle-wo-git.hg 181s - adding changesets 181s - adding manifests 181s - adding file changes 181s - added 3 changesets with 3 changes to 3 files 181s - new changesets * (glob) 181s - (run 'hg update' to get a working copy) 181s - $ hg -R hgrepo log -T git 181s - 2:ca33a262eb46 | | tip | 181s - 1:7fe02317c63d | | | 181s - 0:ff7a2f2d8d70 | | | 181s - $ hg -R hgrepo pull gitrepo 181s - pulling from gitrepo 181s - importing 3 git commits 181s - adding bookmark master 181s - (run 'hg update' to get a working copy) 181s - $ rm -r hgrepo 181s - 181s -Regular mercurial shouldn't choke on our bundle 181s - 181s - $ hg init hgrepo 181s - $ cat >> hgrepo/.hg/hgrc < [extensions] 181s - > hggit = ! 181s - > EOF 181s - $ hg -R hgrepo unbundle bundle-wo-git.hg 181s - adding changesets 181s - adding manifests 181s - adding file changes 181s - added 3 changesets with 3 changes to 3 files 181s - new changesets * (glob) 181s - (run 'hg update' to get a working copy) 181s - $ hg -R hgrepo log -T git 181s - 2:ca33a262eb46 | | tip | 181s - 1:7fe02317c63d | | | 181s - 0:ff7a2f2d8d70 | | | 181s - $ hg -R hgrepo pull gitrepo 181s - pulling from gitrepo 181s - abort: repository gitrepo not found!? (re) 181s - [255] 181s - $ rm -r hgrepo 181s - 181s - 181s -What happens if we unbundle twice? 181s - 181s - $ hg init hgrepo 181s - $ hg -R hgrepo unbundle bundle-w-git.hg 181s - adding changesets 181s - adding manifests 181s - adding file changes 181s - added 3 changesets with 3 changes to 3 files 181s - new changesets * (glob) 181s - (run 'hg update' to get a working copy) 181s - $ hg -R hgrepo unbundle bundle-w-git.hg 181s - adding changesets 181s - adding manifests 181s - adding file changes 181s - added 0 changesets with 0 changes to 3 files 181s - (run 'hg update' to get a working copy) 181s - $ hg -R hgrepo log -T git 181s - 2:ca33a262eb46 | d338971a96e2 | tip | 181s - 1:7fe02317c63d | 9497a4ee62e1 | theothertag | 181s - 0:ff7a2f2d8d70 | 7eeab2ea75ec | thetag | 181s - $ hg -R hgrepo pull gitrepo 181s - pulling from gitrepo 181s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 181s - no changes found 181s - adding bookmark master 181s - $ rm -r hgrepo 181s - 181s -Alas, cloning a bundle doesn't work yet: 181s - 181s -(Mercurial is apparently quite dumb here, so we won't try to fix this 181s -for now, but this test mostly exists so that we notice if ever starts 181s -working, or breaks entirely.) 181s - 181s - $ hg clone bundle-w-git.hg hgrepo 181s - requesting all changes 181s - adding changesets 181s - adding manifests 181s - adding file changes 181s - added 3 changesets with 3 changes to 3 files 181s - new changesets * (glob) 181s - updating to branch default 181s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 181s - $ hg -R hgrepo log -T git 181s - 2:ca33a262eb46 | | tip | 181s - 1:7fe02317c63d | | | 181s - 0:ff7a2f2d8d70 | | | 181s - $ rm -r hgrepo 181s - 181s -Now, lets try to be a bit evil. How does pulling partial state work? 181s - 181s -First, more git happenings: 181s - 181s - $ cd gitrepo 181s - $ git checkout -b otherbranch thetag 181s - Switched to a new branch 'otherbranch' 181s - $ echo 42 > baz 181s - $ git add baz 181s - $ fn_git_commit -m 3 181s - $ cd .. 181s - 181s -Pull, 'em, and create a partial bundle: 181s - 181s - $ hg clone gitrepo hgrepo 181s - importing 4 git commits 181s - new changesets ff7a2f2d8d70:d87bf3ef6a53 (4 drafts) 181s - updating to bookmark otherbranch 181s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 181s - $ hg -R hgrepo bundle --base 'p1(tip)' -r tip bundle-w-git-2.hg 181s - 1 changesets found 181s - $ rm -r hgrepo 181s - 181s -Now, load only that bundle into a repository without any git state 181s - 181s - $ hg clone -r 1 bundle-w-git.hg hgrepo --config extensions.hggit=! 181s - adding changesets 181s - adding manifests 181s - adding file changes 181s - added 2 changesets with 2 changes to 2 files 181s - new changesets * (glob) 181s - updating to branch default 181s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 181s - $ cd hgrepo 181s - $ hg unbundle ../bundle-w-git-2.hg 181s - adding changesets 181s - adding manifests 181s - adding file changes 181s - added 1 changesets with 1 changes to 1 files (+1 heads) 181s - new changesets * (glob) 181s - (run 'hg heads' to see heads, 'hg merge' to merge) 181s - $ hg pull ../gitrepo 181s - pulling from ../gitrepo 181s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 181s - importing 3 git commits 181s - adding bookmark master 181s - adding bookmark otherbranch 181s - new changesets ca33a262eb46 (1 drafts) 181s - (run 'hg update' to get a working copy) 181s - $ cd .. 181s - $ rm -r hgrepo 181s - 181s -Now, try pushing with only the metadata: 181s - 181s - $ hg init hgrepo 181s - $ cd hgrepo 181s - $ hg unbundle -u ../bundle-w-git.hg 181s - adding changesets 181s - adding manifests 181s - adding file changes 181s - added 3 changesets with 3 changes to 3 files 181s - new changesets * (glob) 181s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 181s - $ echo kaflaflibob > bajizmo 181s - $ fn_hg_commit -A -m 4 181s - $ hg book -r tip master 181s - $ hg push ../gitrepo 181s - pushing to ../gitrepo 181s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 181s - abort: cannot push git commit d338971a96e2 as it is not present locally 181s - (please try pulling first, or as a fallback run git-cleanup to re-export the missing commits) 181s - [255] 181s - 181s -Try to repopulate the git state from a bundle 181s - 181s - $ hg debug-remove-hggit-state 181s - clearing out the git cache data 181s - $ hg log -qr 'fromgit()' 181s - $ hg unbundle -u ../bundle-w-git.hg 181s - adding changesets 181s - adding manifests 181s - adding file changes 181s - added 0 changesets with 0 changes to 3 files 181s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 181s - $ hg log -qr 'fromgit()' 181s - 0:ff7a2f2d8d70 181s - 1:7fe02317c63d 181s - 2:ca33a262eb46 181s 181s ERROR: test-bundle.t output changed 181s ! 181s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-file-removal.t 181s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-file-removal.t.err 181s @@ -99,191 +99,99 @@ 181s 181s $ hg clone gitrepo hgrepo 181s importing 9 git commits 181s - new changesets ff7a2f2d8d70:0995b8a0a943 (9 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 181s + return f(*args, **kwargs) 181s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 181s + pullop.cgresult = repo.githandler.fetch(remote, heads) 181s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 181s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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: 72: cd: can't cd to hgrepo 181s $ hg log --graph 181s - @ changeset: 8:0995b8a0a943 181s - | bookmark: master 181s - | tag: default/master 181s - | tag: tip 181s - | user: test 181s - | date: Mon Jan 01 00:00:18 2007 +0000 181s - | summary: remove betalink 181s - | 181s - o changeset: 7:a316d3a96c89 181s - | user: test 181s - | date: Mon Jan 01 00:00:17 2007 +0000 181s - | summary: replace file with symlink 181s - | 181s - o changeset: 6:1804acb71f3e 181s - | user: test 181s - | date: Mon Jan 01 00:00:16 2007 +0000 181s - | summary: replace symlink with file 181s - | 181s - o changeset: 5:e19c85becc87 181s - | user: test 181s - | date: Mon Jan 01 00:00:15 2007 +0000 181s - | summary: add symlink to beta 181s - | 181s - o changeset: 4:0d3086c3f8c3 181s - | user: test 181s - | date: Mon Jan 01 00:00:14 2007 +0000 181s - | summary: remove foo/bar 181s - | 181s - o changeset: 3:b2406125ef5c 181s - | user: test 181s - | date: Mon Jan 01 00:00:13 2007 +0000 181s - | summary: remove alpha 181s - | 181s - o changeset: 2:8b3b2f4b4158 181s - | user: test 181s - | date: Mon Jan 01 00:00:12 2007 +0000 181s - | summary: add foo 181s - | 181s - o changeset: 1:7fe02317c63d 181s - | user: test 181s - | date: Mon Jan 01 00:00:11 2007 +0000 181s - | summary: add beta 181s - | 181s - o changeset: 0:ff7a2f2d8d70 181s - user: test 181s - date: Mon Jan 01 00:00:10 2007 +0000 181s - summary: add alpha 181s - 181s - 181s -make sure alpha is not in this manifest 181s - $ hg manifest -r 3 181s - beta 181s - foo/bar 181s - 181s -make sure that only beta is in the manifest 181s - $ hg manifest 181s - beta 181s - 181s - $ hg debug-remove-hggit-state 181s - clearing out the git cache data 181s - $ ls .hg | grep git 181s - [1] 181s - $ hg push ../repo.git 181s - pushing to ../repo.git 181s - searching for changes 181s - adding objects 181s - remote: found 0 deltas to reuse 181s - added 9 commits with 8 trees and 5 blobs 181s - adding reference refs/heads/master 181s - 181s - $ cd .. 181s - $ git --git-dir=repo.git log --pretty=medium 181s - commit 5ee11eeae239d6a99df5a99901ec00ffafbcc46b 181s - Author: test 181s - Date: Mon Jan 1 00:00:18 2007 +0000 181s - 181s - remove betalink 181s - 181s - commit 2c7b324faeccb1acf89c35b7ad38e7956f5705fa 181s - Author: test 181s - Date: Mon Jan 1 00:00:17 2007 +0000 181s - 181s - replace file with symlink 181s - 181s - commit ff0478d2ecc2571d01eb6d406ac29e4e63e5d3d5 181s - Author: test 181s - Date: Mon Jan 1 00:00:16 2007 +0000 181s - 181s - replace symlink with file 181s - 181s - commit 5492e6e410e42df527956be945286cd1ae45acb8 181s - Author: test 181s - Date: Mon Jan 1 00:00:15 2007 +0000 181s - 181s - add symlink to beta 181s - 181s - commit b991de8952c482a7cd51162674ffff8474862218 181s - Author: test 181s - Date: Mon Jan 1 00:00:14 2007 +0000 181s - 181s - remove foo/bar 181s - 181s - commit b0edaf0adac19392cf2867498b983bc5192b41dd 181s - Author: test 181s - Date: Mon Jan 1 00:00:13 2007 +0000 181s - 181s - remove alpha 181s - 181s - commit f2d0d5bfa905e12dee728b509b96cf265bb6ee43 181s - Author: test 181s - Date: Mon Jan 1 00:00:12 2007 +0000 181s - 181s - add foo 181s - 181s - commit 9497a4ee62e16ee641860d7677cdb2589ea15554 181s - Author: test 181s - Date: Mon Jan 1 00:00:11 2007 +0000 181s - 181s - add beta 181s - 181s - commit 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 181s - Author: test 181s - Date: Mon Jan 1 00:00:10 2007 +0000 181s - 181s - add alpha 181s - 181s -test with rename detection enabled 181s - $ hg --config git.similarity=100 clone gitrepo hgreporenames 181s - importing 9 git commits 181s - new changesets ff7a2f2d8d70:0995b8a0a943 (9 drafts) 181s - updating to bookmark master 181s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 181s - 181s - $ cd hgreporenames 181s - $ hg log --graph 181s - @ changeset: 8:0995b8a0a943 181s - | bookmark: master 181s - | tag: default/master 181s - | tag: tip 181s - | user: test 181s - | date: Mon Jan 01 00:00:18 2007 +0000 181s - | summary: remove betalink 181s - | 181s - o changeset: 7:a316d3a96c89 181s - | user: test 181s - | date: Mon Jan 01 00:00:17 2007 +0000 181s - | summary: replace file with symlink 181s - | 181s - o changeset: 6:1804acb71f3e 181s - | user: test 181s - | date: Mon Jan 01 00:00:16 2007 +0000 181s - | summary: replace symlink with file 181s - | 181s - o changeset: 5:e19c85becc87 181s - | user: test 181s - | date: Mon Jan 01 00:00:15 2007 +0000 181s - | summary: add symlink to beta 181s - | 181s - o changeset: 4:0d3086c3f8c3 181s - | user: test 181s - | date: Mon Jan 01 00:00:14 2007 +0000 181s - | summary: remove foo/bar 181s - | 181s - o changeset: 3:b2406125ef5c 181s - | user: test 181s - | date: Mon Jan 01 00:00:13 2007 +0000 181s - | summary: remove alpha 181s - | 181s - o changeset: 2:8b3b2f4b4158 181s - | user: test 181s - | date: Mon Jan 01 00:00:12 2007 +0000 181s - | summary: add foo 181s - | 181s - o changeset: 1:7fe02317c63d 181s - | user: test 181s - | date: Mon Jan 01 00:00:11 2007 +0000 181s - | summary: add beta 181s - | 181s - o changeset: 0:ff7a2f2d8d70 181s - user: test 181s - date: Mon Jan 01 00:00:10 2007 +0000 181s - summary: add alpha 181s - 181s 181s ERROR: test-file-removal.t output changed 182s ! 182s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-hg-author.t 182s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-hg-author.t.err 182s @@ -17,255 +17,100 @@ 182s $ cd .. 182s $ hg clone repo.git hgrepo 182s importing 1 git commits 182s - new changesets ff7a2f2d8d70 (1 drafts) 182s - updating to bookmark master 182s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 182s + return f(*args, **kwargs) 182s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 182s + pullop.cgresult = repo.githandler.fetch(remote, heads) 182s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 182s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 182s $ cd hgrepo 182s + $TESTTMP.sh: 22: cd: can't cd to hgrepo 182s $ hg book master 182s - $ echo beta > beta 182s - $ hg add beta 182s - $ fn_hg_commit -u "test" -m 'add beta' 182s - $ hg push 182s - pushing to $TESTTMP/repo.git 182s - searching for changes 182s - adding objects 182s - remote: found 0 deltas to reuse 182s - added 1 commits with 1 trees and 1 blobs 182s - updating reference refs/heads/master 182s - 182s - $ echo gamma >> beta 182s - $ fn_hg_commit -u "test (comment)" -m 'modify beta' 182s - $ hg push 182s - pushing to $TESTTMP/repo.git 182s - searching for changes 182s - adding objects 182s - remote: found 0 deltas to reuse 182s - added 1 commits with 1 trees and 1 blobs 182s - updating reference refs/heads/master 182s - 182s - $ echo gamma > gamma 182s - $ hg add gamma 182s - $ fn_hg_commit -u "" -m 'add gamma' 182s - $ hg push 182s - pushing to $TESTTMP/repo.git 182s - searching for changes 182s - adding objects 182s - remote: found 0 deltas to reuse 182s - added 1 commits with 1 trees and 1 blobs 182s - updating reference refs/heads/master 182s - 182s - $ echo delta > delta 182s - $ hg add delta 182s - $ fn_hg_commit -u "name" -m 'add delta' 182s - $ hg push 182s - pushing to $TESTTMP/repo.git 182s - searching for changes 182s - adding objects 182s - remote: found 0 deltas to reuse 182s - added 1 commits with 1 trees and 1 blobs 182s - updating reference refs/heads/master 182s - 182s - $ echo epsilon > epsilon 182s - $ hg add epsilon 182s - $ fn_hg_commit -u "name zeta 182s - $ hg add zeta 182s - $ fn_hg_commit -u " test " -m 'add zeta' 182s - $ hg push 182s - pushing to $TESTTMP/repo.git 182s - searching for changes 182s - adding objects 182s - remote: found 0 deltas to reuse 182s - added 1 commits with 1 trees and 1 blobs 182s - updating reference refs/heads/master 182s - 182s - $ echo eta > eta 182s - $ hg add eta 182s - $ fn_hg_commit -u "test < test@example.com >" -m 'add eta' 182s - $ hg push 182s - pushing to $TESTTMP/repo.git 182s - searching for changes 182s - adding objects 182s - remote: found 0 deltas to reuse 182s - added 1 commits with 1 trees and 1 blobs 182s - updating reference refs/heads/master 182s - 182s - $ echo theta > theta 182s - $ hg add theta 182s - $ fn_hg_commit -u "test >test@example.com>" -m 'add theta' 182s - $ hg push 182s - pushing to $TESTTMP/repo.git 182s - searching for changes 182s - adding objects 182s - remote: found 0 deltas to reuse 182s - added 1 commits with 1 trees and 1 blobs 182s - updating reference refs/heads/master 182s - 182s - $ hg log --graph 182s - @ changeset: 8:c5d1976ab12c 182s - | bookmark: master 182s - | tag: default/master 182s - | tag: tip 182s - | user: test >test@example.com> 182s - | date: Mon Jan 01 00:00:18 2007 +0000 182s - | summary: add theta 182s - | 182s - o changeset: 7:0e2fb4d21667 182s - | user: test < test@example.com > 182s - | date: Mon Jan 01 00:00:17 2007 +0000 182s - | summary: add eta 182s - | 182s - o changeset: 6:faa3aae96199 182s - | user: test 182s - | date: Mon Jan 01 00:00:16 2007 +0000 182s - | summary: add zeta 182s - | 182s - o changeset: 5:2cf6ad5a1afc 182s - | user: name 182s - | date: Mon Jan 01 00:00:14 2007 +0000 182s - | summary: add delta 182s - | 182s - o changeset: 3:6b854d65d0d6 182s - | user: 182s - | date: Mon Jan 01 00:00:13 2007 +0000 182s - | summary: add gamma 182s - | 182s - o changeset: 2:46303c652e79 182s - | user: test (comment) 182s - | date: Mon Jan 01 00:00:12 2007 +0000 182s - | summary: modify beta 182s - | 182s - o changeset: 1:47580592d3d6 182s - | user: test 182s - | date: Mon Jan 01 00:00:11 2007 +0000 182s - | summary: add beta 182s - | 182s - o changeset: 0:ff7a2f2d8d70 182s - user: test 182s - date: Mon Jan 01 00:00:10 2007 +0000 182s - summary: add alpha 182s - 182s - 182s - $ cd .. 182s - $ hg clone repo.git hgrepo2 182s - importing 9 git commits 182s - new changesets ff7a2f2d8d70:1fbf3aa91221 (9 drafts) 182s - updating to bookmark master 182s - 8 files updated, 0 files merged, 0 files removed, 0 files unresolved 182s - $ hg -R hgrepo2 log --graph 182s - @ changeset: 8:1fbf3aa91221 182s - | bookmark: master 182s - | tag: default/master 182s - | tag: tip 182s - | user: test ?test@example.com 182s - | date: Mon Jan 01 00:00:18 2007 +0000 182s - | summary: add theta 182s - | 182s - o changeset: 7:20310508f06d 182s - | user: test 182s - | date: Mon Jan 01 00:00:17 2007 +0000 182s - | summary: add eta 182s - | 182s - o changeset: 6:e3d81af8a8c1 182s - | user: test 182s - | date: Mon Jan 01 00:00:16 2007 +0000 182s - | summary: add zeta 182s - | 182s - o changeset: 5:78f609fd208f 182s - | user: name 182s - | date: Mon Jan 01 00:00:15 2007 +0000 182s - | summary: add epsilon 182s - | 182s - o changeset: 4:42fa61d57718 182s - | user: name 182s - | date: Mon Jan 01 00:00:14 2007 +0000 182s - | summary: add delta 182s - | 182s - o changeset: 3:6b854d65d0d6 182s - | user: 182s - | date: Mon Jan 01 00:00:13 2007 +0000 182s - | summary: add gamma 182s - | 182s - o changeset: 2:46303c652e79 182s - | user: test (comment) 182s - | date: Mon Jan 01 00:00:12 2007 +0000 182s - | summary: modify beta 182s - | 182s - o changeset: 1:47580592d3d6 182s - | user: test 182s - | date: Mon Jan 01 00:00:11 2007 +0000 182s - | summary: add beta 182s - | 182s - o changeset: 0:ff7a2f2d8d70 182s - user: test 182s - date: Mon Jan 01 00:00:10 2007 +0000 182s - summary: add alpha 182s - 182s - $ git --git-dir=repo.git log --pretty=medium master 182s - commit 2fe60ba69727981e6ede78be70354c3a9e30e21d 182s - Author: test ?test@example.com 182s - Date: Mon Jan 1 00:00:18 2007 +0000 182s - 182s - add theta 182s - 182s - commit 9f2f7cafdbf2e467928db98de8275141001d3081 182s - Author: test 182s - Date: Mon Jan 1 00:00:17 2007 +0000 182s - 182s - add eta 182s - 182s - commit 172a6f8d8064d73dff7013e395a9fe3cfc3ff807 182s - Author: test 182s - Date: Mon Jan 1 00:00:16 2007 +0000 182s - 182s - add zeta 182s - 182s - commit 71badb8e343a7da391a9b5d98909fbd2ca7d78f2 182s - Author: name 182s - Date: Mon Jan 1 00:00:15 2007 +0000 182s - 182s - add epsilon 182s - 182s - commit 9a9ae7b7f310d4a1a3e732a747ca26f06934f8d8 182s - Author: name 182s - Date: Mon Jan 1 00:00:14 2007 +0000 182s - 182s - add delta 182s - 182s - commit e4149a32e81e380193f59aa8773349201b8ed7f7 182s - Author: 182s - Date: Mon Jan 1 00:00:13 2007 +0000 182s - 182s - add gamma 182s - 182s - commit fae95aef5889a80103c2fbd5d14ff6eb8c9daf93 182s - Author: test ext:(%20%28comment%29) 182s - Date: Mon Jan 1 00:00:12 2007 +0000 182s - 182s - modify beta 182s - 182s - commit 0f378ab6c2c6b5514bd873d3faf8ac4b8095b001 182s - Author: test 182s - Date: Mon Jan 1 00:00:11 2007 +0000 182s - 182s - add beta 182s - 182s - commit 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 182s - Author: test 182s - Date: Mon Jan 1 00:00:10 2007 +0000 182s - 182s - add alpha 182s 182s ERROR: test-hg-author.t output changed 183s ! 183s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-subrepos.t 183s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-subrepos.t.err 183s @@ -35,164 +35,98 @@ 183s Ensure gitlinks are transformed to .hgsubstate on hg pull from git 183s $ hg clone -u tip repo.git hgrepo 2>&1 | grep -E -v '^(Cloning into|done)' 183s importing 3 git commits 183s - new changesets e532b2bfda10:3c4fd561cbeb (3 drafts) 183s - updating to branch default 183s - cloning subrepo subrepo1 from $TESTTMP/gitsubrepo 183s - cloning subrepo xyz/subrepo2 from $TESTTMP/gitsubrepo 183s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 183s + return f(*args, **kwargs) 183s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 183s + pullop.cgresult = repo.githandler.fetch(remote, heads) 183s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 183s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 $ cd hgrepo 183s + $TESTTMP.sh: 42: cd: can't cd to hgrepo 183s $ hg bookmarks -f -r default master 183s -1. Ensure gitlinks are transformed to .hgsubstate on hg <- git pull 183s -.hgsub shall list two [git] subrepos 183s - $ cat .hgsub 183s - subrepo1 = [git]../gitsubrepo 183s - xyz/subrepo2 = [git]../gitsubrepo 183s -.hgsubstate shall list two idenitcal revisions 183s - $ cat .hgsubstate 183s - 56f0304c5250308f14cfbafdc27bd12d40154d17 subrepo1 183s - 56f0304c5250308f14cfbafdc27bd12d40154d17 xyz/subrepo2 183s -hg status shall NOT report .hgsub and .hgsubstate as untracked - either ignored or unmodified 183s - $ hg status --unknown .hgsub .hgsubstate 183s - $ hg status --modified .hgsub .hgsubstate 183s - $ cd .. 183s - 183s -2. Check gitmodules are preserved during hg -> git push 183s - $ cd gitsubrepo 183s - $ echo gamma > gamma 183s - $ git add gamma 183s - $ fn_git_commit -m 'add gamma' 183s - $ cd .. 183s - $ cd hgrepo 183s - $ cd xyz/subrepo2 183s - $ git pull --ff-only | sed 's/files/file/;s/insertions/insertion/;s/, 0 deletions.*//' | sed 's/| */| /' 183s - From $TESTTMP/gitsubrepo 183s - 56f0304..aabf7cd master -> origin/master 183s - Updating 56f0304..aabf7cd 183s - Fast-forward 183s - gamma | 1 + 183s - 1 file changed, 1 insertion(+) 183s - create mode 100644 gamma 183s - $ cd ../.. 183s - $ echo xxx >> alpha 183s - $ fn_hg_commit -m 'Update subrepo2 from hg' | grep -v "committing subrepository" || true 183s - $ hg 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 2 trees and 1 blobs 183s - updating reference refs/heads/master 183s - $ cd .. 183s - $ cd gitrepo 183s - $ git pull --ff-only 183s - From $TESTTMP/repo 183s - 89c22d7..275b0a5 master -> origin/master 183s - Fetching submodule xyz/subrepo2 183s - From $TESTTMP/gitsubrepo 183s - 56f0304..aabf7cd master -> origin/master 183s - Updating 89c22d7..275b0a5 183s - Fast-forward 183s - alpha | 1 + 183s - xyz/subrepo2 | 2 +- 183s - 2 files changed, 2 insertions(+), 1 deletion(-) 183s -there shall be two gitlink entries, with values matching that in .hgsubstate 183s - $ git ls-tree -r HEAD^{tree} | grep 'commit' 183s - 160000 commit 56f0304c5250308f14cfbafdc27bd12d40154d17 subrepo1 183s - 160000 commit aabf7cd015089aff0b84596e69aa37b24a3d090a xyz/subrepo2 183s -bring working copy to HEAD state (it's not bare repo) 183s - $ git reset --hard 183s - HEAD is now at 275b0a5 Update subrepo2 from hg 183s - $ cd .. 183s - 183s -3. Check .hgsub and .hgsubstate from git repository are merged, not overwritten 183s - $ hg init hgsub 183s - $ cd hgsub 183s - $ echo delta > delta 183s - $ hg add delta 183s - $ fn_hg_commit -m "add delta" 183s - $ hg tip --template '{node} hgsub\n' > ../gitrepo/.hgsubstate 183s - $ cat > ../gitrepo/.hgsub < hgsub = ../hgsub 183s - > EOF 183s - $ cd ../gitrepo 183s - $ git add .hgsubstate .hgsub 183s - $ fn_git_commit -m "Test3. Prepare .hgsub and .hgsubstate sources" 183s - $ git push 183s - To $TESTTMP/repo.git 183s - 275b0a5..e31d576 master -> master 183s - 183s - $ cd ../hgrepo 183s - $ hg pull 183s - pulling from $TESTTMP/repo.git 183s - importing 1 git commits 183s - updating bookmark master 183s - new changesets [0-9a-f]{12,12} \(1 drafts\) (re) 183s - (run 'hg update' to get a working copy) 183s - $ hg checkout -C 183s - updating to active bookmark master 183s - cloning subrepo hgsub from $TESTTMP/hgsub 183s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 183s - $ cd .. 183s -pull shall bring .hgsub entry which was added to the git repo 183s - $ cat hgrepo/.hgsub 183s - hgsub = ../hgsub 183s - subrepo1 = [git]../gitsubrepo 183s - xyz/subrepo2 = [git]../gitsubrepo 183s -.hgsubstate shall list revision of the subrepo added through git repo 183s - $ cat hgrepo/.hgsubstate 183s - 481ec30d580f333ae3a77f94c973ce37b69d5bda hgsub 183s - 56f0304c5250308f14cfbafdc27bd12d40154d17 subrepo1 183s - aabf7cd015089aff0b84596e69aa37b24a3d090a xyz/subrepo2 183s - 183s -4. Try changing the subrepos from the Mercurial side 183s - 183s - $ cd hgrepo 183s - $ cat >> .hgsub < subrepo2 = [git]../gitsubrepo 183s - > EOF 183s - $ git clone ../gitsubrepo subrepo2 183s - Cloning into 'subrepo2'... 183s - done. 183s - $ fn_hg_commit -m 'some stuff' 183s - $ hg push 183s - pushing to $TESTTMP/repo.git 183s - no changes made to subrepo hgsub since last push to $TESTTMP/hgsub 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 - $ cd .. 183s - 183s -5. But we actually do something quite weird in this case: If a 183s -.gitmodules file exists in the repository, it always wins! In this 183s -case, we break the bidirectional convention, and modify the repository 183s -data. That's odd, so show it: 183s - 183s - $ hg id hgrepo 183s - 42c46c7eef3a default/master/tip master 183s - $ hg clone -U repo.git hgrepo2 183s - importing 6 git commits 183s - new changesets e532b2bfda10:42c46c7eef3a (6 drafts) 183s - $ hg -R hgrepo2 up :master 183s - Cloning into '$TESTTMP/hgrepo2/subrepo1'... 183s - done. 183s - cloning subrepo hgsub from $TESTTMP/hgsub 183s - cloning subrepo subrepo1 from $TESTTMP/gitsubrepo 183s - checking out detached HEAD in subrepository "subrepo1" 183s - check out a git branch if you intend to make changes 183s - Cloning into '$TESTTMP/hgrepo2/subrepo2'... 183s - done. 183s - Cloning into '$TESTTMP/hgrepo2/xyz/subrepo2'... 183s - done. 183s - cloning subrepo subrepo2 from $TESTTMP/gitsubrepo 183s - cloning subrepo xyz/subrepo2 from $TESTTMP/gitsubrepo 183s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 183s - 183s -We retained bidirectionality! 183s - 183s - $ git diff --stat hgrepo/.hgsub hgrepo2/.hgsub 183s - $ hg id hgrepo 183s - 42c46c7eef3a default/master/tip master 183s - $ hg id hgrepo2 183s - 42c46c7eef3a default/master/tip master 184s 184s ERROR: test-subrepos.t output changed 185s ! 185s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-extra.t 185s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-extra.t.err 185s @@ -13,189 +13,99 @@ 185s $ cd .. 185s $ hg clone gitrepo hgrepo 185s importing 1 git commits 185s - new changesets aa9eb6424386 (1 drafts) 185s - updating to bookmark not-master 185s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 185s + return f(*args, **kwargs) 185s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 185s + pullop.cgresult = repo.githandler.fetch(remote, heads) 185s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 185s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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: 20: cd: can't cd to hgrepo 185s $ hg mv a b 185s - $ fn_hg_commit -mb 185s - $ hg up 0 185s - 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 185s - (leaving bookmark not-master) 185s - $ touch c 185s - $ hg add c 185s - $ fn_hg_commit -mc 185s - 185s -Rebase will add a rebase_source 185s - 185s - $ hg --config extensions.rebase= rebase -s 1 -d 2 185s - rebasing 1:4c7da7adf18b * (glob) 185s - saved backup bundle to $TESTTMP/*.hg (glob) 185s - $ hg up 2 185s - 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 185s - 185s -Add a commit with multiple extra fields 185s - $ hg bookmark b1 185s - $ touch d 185s - $ hg add d 185s - $ fn_hg_commitextra --field zzzzzzz=datazzz --field aaaaaaa=dataaaa 185s - $ hg log --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" 185s - @ 3 f01651cfcc9337fbd9700d5018ca637a2911ed28 185s - | aaaaaaa=dataaaa branch=default zzzzzzz=datazzz 185s - | 185s - o 2 03f4cf3c429050e2204fb2bda3a0f93329bdf4fd b 185s - | branch=default rebase_source=4c7da7adf18b785726a7421ef0d585bb5762990d 185s - | 185s - o 1 a735dc0cd7cc0ccdbc16cfa4326b19c707c360f4 c 185s - | branch=default 185s - | 185s - o 0 aa9eb6424386df2b0638fe6f480c3767fdd0e6fd a 185s - branch=default hg-git-rename-source=git 185s - 185s - 185s - $ hg push -r b1 185s - pushing to $TESTTMP/gitrepo 185s - searching for changes 185s - adding objects 185s - remote: found 0 deltas to reuse 185s - added 3 commits with 3 trees and 0 blobs 185s - adding reference refs/heads/b1 185s - 185s - $ hg bookmark b2 185s - $ hg mv c c2 185s - $ hg mv d d2 185s - $ fn_hg_commitextra --field yyyyyyy=datayyy --field bbbbbbb=databbb 185s - 185s -Test some nutty filenames 185s - $ hg book b3 185s -#if windows 185s - $ hg mv c2 'c2 => c3' 185s - abort: filename contains '>', which is reserved on Windows: "c2 => c3" 185s - [255] 185s - $ hg mv c2 c3 185s - $ fn_hg_commit -m 'dummy commit' 185s - $ hg mv c3 c4 185s - $ fn_hg_commit -m 'dummy commit' 185s -#else 185s - $ hg mv c2 'c2 => c3' 185s - warning: filename contains '>', which is reserved on Windows: 'c2 => c3' 185s - $ fn_hg_commit -m 'test filename with arrow' 185s - $ hg mv 'c2 => c3' 'c3 => c4' 185s - warning: filename contains '>', which is reserved on Windows: 'c3 => c4' 185s - $ fn_hg_commit -m 'test filename with arrow 2' 185s - $ hg log --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" -l 3 --config "experimental.graphstyle.missing=|" 185s - @ 6 bca4ba69a6844c133b069e227dfa043d41e3c197 test filename with arrow 2 185s - | branch=default 185s - | 185s - o 5 864caad1f3493032f8d06f44a89dc9f1c039b09f test filename with arrow 185s - | branch=default 185s - | 185s - o 4 58f855ae26f4930ce857e648d3dd949901cce817 185s - | bbbbbbb=databbb branch=default yyyyyyy=datayyy 185s - | 185s -#endif 185s - $ hg push -r b2 -r b3 185s - pushing to $TESTTMP/gitrepo 185s - searching for changes 185s - adding objects 185s - remote: found 0 deltas to reuse 185s - added 3 commits with 3 trees and 0 blobs 185s - adding reference refs/heads/b2 185s - adding reference refs/heads/b3 185s - 185s - $ cd ../gitrepo 185s - $ git cat-file commit b1 185s - tree 1b773a2eb70f29397356f8069c285394835ff85a 185s - parent 54776dace5849bdf273fb26737a48ef64804909d 185s - author test 1167609613 +0000 185s - committer test 1167609613 +0000 185s - HG:extra aaaaaaa:dataaaa 185s - HG:extra zzzzzzz:datazzz 185s - 185s - 185s - 185s - $ git cat-file commit b2 185s - tree 34ad62c6d6ad9464bfe62db5b3d2fa16aaa9fa9e 185s - parent 15beadd92324c9b88060a4ec4ffb350f988d7075 185s - author test 1167609614 +0000 185s - committer test 1167609614 +0000 185s - HG:rename c:c2 185s - HG:rename d:d2 185s - HG:extra bbbbbbb:databbb 185s - HG:extra yyyyyyy:datayyy 185s - 185s - 185s - 185s -#if no-windows 185s - $ git cat-file commit b3 185s - tree e63df52695f9b06e54b37e7ef60d0c43994de620 185s - parent 5cafe2555a0666fcf661a3943277a9812a694a98 185s - author test 1167609616 +0000 185s - committer test 1167609616 +0000 185s - HG:rename c2%20%3D%3E%20c3:c3%20%3D%3E%20c4 185s - 185s - test filename with arrow 2 185s -#endif 185s - $ cd ../gitrepo 185s - $ git checkout b1 185s - Switched to branch 'b1' 185s - $ commit_sha=$(git rev-parse HEAD) 185s - $ tree_sha=$(git rev-parse HEAD^{tree}) 185s - 185s -There's no way to create a Git repo with extra metadata via the CLI. Dulwich 185s -lets you do that, though. 185s - 185s - >>> from dulwich.objects import Commit 185s - >>> from dulwich.porcelain import open_repo 185s - >>> repo = open_repo('.') 185s - >>> c = Commit() 185s - >>> c.author = b'test ' 185s - >>> c.author_time = 0 185s - >>> c.author_timezone = 0 185s - >>> c.committer = c.author 185s - >>> c.commit_time = 0 185s - >>> c.commit_timezone = 0 185s - >>> c.parents = [b'$commit_sha'] 185s - >>> c.tree = b'$tree_sha' 185s - >>> c.message = b'extra commit\n' 185s - >>> c.extra.extend([(b'zzz:zzz', b'data:zzz'), (b'aaa:aaa', b'data:aaa'), 185s - ... (b'HG:extra', b'hgaaa:dataaaa'), 185s - ... (b'HG:extra', b'hgzzz:datazzz')]) 185s - >>> repo.object_store.add_object(c) 185s - >>> repo.refs.set_if_equals(b'refs/heads/master', None, c.id) 185s - True 185s - 185s - $ git cat-file commit master 185s - tree 1b773a2eb70f29397356f8069c285394835ff85a 185s - parent 15beadd92324c9b88060a4ec4ffb350f988d7075 185s - author test 0 +0000 185s - committer test 0 +0000 185s - zzz:zzz data:zzz 185s - aaa:aaa data:aaa 185s - HG:extra hgaaa:dataaaa 185s - HG:extra hgzzz:datazzz 185s - 185s - extra commit 185s - 185s - $ cd .. 185s - $ hg clone -qU gitrepo hgrepo2 185s - $ cd hgrepo2 185s - $ hg log -G -r :5 -T "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" 185s - o 5 58f855ae26f4930ce857e648d3dd949901cce817 185s - | bbbbbbb=databbb branch=default yyyyyyy=datayyy 185s - | 185s - | o 4 90acc8c23fcfaeb0930c03c849923a696fd9013c extra commit 185s - |/ GIT0-zzz%3Azzz=data%3Azzz GIT1-aaa%3Aaaa=data%3Aaaa branch=default hgaaa=dataaaa hgzzz=datazzz 185s - | 185s - o 3 f01651cfcc9337fbd9700d5018ca637a2911ed28 185s - | aaaaaaa=dataaaa branch=default zzzzzzz=datazzz 185s - | 185s - o 2 03f4cf3c429050e2204fb2bda3a0f93329bdf4fd b 185s - | branch=default rebase_source=4c7da7adf18b785726a7421ef0d585bb5762990d 185s - | 185s - o 1 a735dc0cd7cc0ccdbc16cfa4326b19c707c360f4 c 185s - | branch=default 185s - | 185s - o 0 aa9eb6424386df2b0638fe6f480c3767fdd0e6fd a 185s - branch=default hg-git-rename-source=git 185s - 185s 185s ERROR: test-extra.t output changed 187s ! 187s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-branch-bookmark-suffix.t 187s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-branch-bookmark-suffix.t#with-path.err 187s @@ -49,31 +49,102 @@ 187s 187s $ hg push ../repo.git 187s pushing to ../repo.git 187s - searching for changes 187s - adding objects 187s - remote: found 0 deltas to reuse 187s - added 2 commits with 2 trees and 2 blobs 187s - adding reference refs/heads/branch1 187s - adding reference refs/heads/branch2 187s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 187s + ** which supports versions 6.9 of Mercurial. 187s + ** Please disable "hggit" and try your action again. 187s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 187s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 187s + ** Mercurial Distributed SCM (version 7.0.1) 187s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 187s + Traceback (most recent call last): 187s + File "/usr/bin/hg", line 51, in 187s + dispatch.run() 187s + ~~~~~~~~~~~~^^ 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 187s + status = dispatch(req) 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 187s + status = _rundispatch(req) 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 187s + ret = _runcatch(req) or 0 187s + ~~~~~~~~~^^^^^ 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 187s + return _callcatch(ui, _runcatchfunc) 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 187s + return scmutil.callcatch(ui, func) 187s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 187s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 187s + return func() 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 187s + return _dispatch(req) 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 187s + return runcommand( 187s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 187s + ) 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 187s + ret = _runcommand(ui, options, cmd, d) 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 187s + return cmdfunc() 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 187s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 187s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 187s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 187s + return func(*args, **kwargs) 187s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 187s + pushop = exchange.push( 187s + repo, 187s + ...<6 lines>... 187s + opargs=opargs, 187s + ) 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 187s + return f(*args, **kwargs) 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 232, in exchangepush 187s + pushop.cgresult = repo.githandler.push( 187s + ~~~~~~~~~~~~~~~~~~~~^ 187s + remote.path, revs, bookmarks, force 187s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 187s + ) 187s + ^ 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 520, in push 187s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 187s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 187s + all_exportable = self.export_commits() 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 187s + self.export_git_objects() 187s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 187s + packer.pack(synchronous=True) 187s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 187s + _process_batch(self.ui, self.object_store, todo) 187s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 187s + object_store._remove_loose_object(obj.id) 187s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 187s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 187s + [1] 187s 187s $ cd .. 187s 187s $ cd repo.git 187s $ git symbolic-ref HEAD refs/heads/branch1 187s $ git branch 187s - * branch1 187s - branch2 187s $ cd .. 187s 187s $ git clone repo.git gitrepo 187s Cloning into 'gitrepo'... 187s + warning: You appear to have cloned an empty repository. 187s done. 187s $ cd gitrepo 187s $ git checkout -q branch1 187s + error: pathspec 'branch1' did not match any file(s) known to git 187s + [1] 187s $ echo g1 >> f1 187s $ git add f1 187s $ fn_git_commit -m "append f1" 187s $ git checkout -q branch2 187s + error: pathspec 'branch2' did not match any file(s) known to git 187s + [1] 187s $ echo g2 >> f2 187s $ git add f2 187s $ fn_git_commit -m "append f2" 187s @@ -83,18 +154,13 @@ 187s $ git add f3 187s $ fn_git_commit -m "append f3" 187s $ git push origin branch1 branch2 branch3 187s - To $TESTTMP/repo.git 187s - bbfe79a..d8aef79 branch1 -> branch1 187s - 288e92b..f8f8de5 branch2 -> branch2 187s - * [new branch] branch3 -> branch3 187s + error: src refspec branch2 does not match any 187s + error: failed to push some refs to '$TESTTMP/repo.git' 187s + [1] 187s make sure the commit doesn't have an HG:rename-source annotation 187s $ git cat-file commit d8aef79 187s - tree b5644d8071b8a5963b8d1fd089fb3fdfb14b1203 187s - parent bbfe79acf62dcd6a97763e2a67424a6de8a96941 187s - author test 1167609612 +0000 187s - committer test 1167609612 +0000 187s - 187s - append f1 187s + fatal: Not a valid object name d8aef79 187s + [128] 187s $ cd .. 187s 187s $ cd hgrepo 187s @@ -102,45 +168,18 @@ 187s default = $TESTTMP/repo.git (with-path !) 187s $ hg pull ../repo.git 187s pulling from ../repo.git 187s - importing 3 git commits 187s - updating bookmark branch1_bookmark 187s - updating bookmark branch2_bookmark 187s - adding bookmark branch3_bookmark 187s - new changesets 8211cade99e4:faf44fc3a4e8 (3 drafts) 187s - (run 'hg heads' to see heads) 187s $ hg log --graph 187s - o changeset: 4:faf44fc3a4e8 187s - | bookmark: branch3_bookmark 187s - | tag: default/branch3 (with-path !) 187s + @ changeset: 1:600de9b6d498 187s + | branch: branch2 187s + | bookmark: branch2_bookmark 187s | tag: tip 187s - | user: test 187s - | date: Mon Jan 01 00:00:14 2007 +0000 187s - | summary: append f3 187s - | 187s - o changeset: 3:ae8eb55f7090 187s - | bookmark: branch2_bookmark 187s - | tag: default/branch2 (with-path !) 187s - | parent: 1:600de9b6d498 187s - | user: test 187s - | date: Mon Jan 01 00:00:13 2007 +0000 187s - | summary: append f2 187s - | 187s - | o changeset: 2:8211cade99e4 187s - | | bookmark: branch1_bookmark 187s - | | tag: default/branch1 (with-path !) 187s - | | parent: 0:40a840c1f8ae 187s - | | user: test 187s - | | date: Mon Jan 01 00:00:12 2007 +0000 187s - | | summary: append f1 187s - | | 187s - @ | changeset: 1:600de9b6d498 187s - |/ branch: branch2 187s - | user: test 187s - | date: Mon Jan 01 00:00:11 2007 +0000 187s - | summary: add f2 187s + | user: test 187s + | date: Mon Jan 01 00:00:11 2007 +0000 187s + | summary: add f2 187s | 187s o changeset: 0:40a840c1f8ae 187s branch: branch1 187s + bookmark: branch1_bookmark 187s user: test 187s date: Mon Jan 01 00:00:10 2007 +0000 187s summary: add f1 187s @@ -151,145 +190,8 @@ 187s 187s $ rm -r hgrepo 187s $ hg clone -r branch3 repo.git hgrepo 187s - importing 4 git commits 187s - new changesets 40a840c1f8ae:faf44fc3a4e8 (4 drafts) 187s - updating to bookmark branch3_bookmark 187s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 187s + abort: unknown revision 'branch3' 187s + [10] 187s $ cd hgrepo 187s + $TESTTMP.sh: 100: cd: can't cd to hgrepo 187s $ hg bookmarks 187s - branch2_bookmark 2:ae8eb55f7090 187s - * branch3_bookmark 3:faf44fc3a4e8 187s - $ hg log --graph 187s - @ changeset: 3:faf44fc3a4e8 187s - | bookmark: branch3_bookmark 187s - | tag: default/branch3 187s - | tag: tip 187s - | user: test 187s - | date: Mon Jan 01 00:00:14 2007 +0000 187s - | summary: append f3 187s - | 187s - o changeset: 2:ae8eb55f7090 187s - | bookmark: branch2_bookmark 187s - | tag: default/branch2 187s - | user: test 187s - | date: Mon Jan 01 00:00:13 2007 +0000 187s - | summary: append f2 187s - | 187s - o changeset: 1:600de9b6d498 187s - | branch: branch2 187s - | user: test 187s - | date: Mon Jan 01 00:00:11 2007 +0000 187s - | summary: add f2 187s - | 187s - o changeset: 0:40a840c1f8ae 187s - branch: branch1 187s - user: test 187s - date: Mon Jan 01 00:00:10 2007 +0000 187s - summary: add f1 187s - 187s - $ cd .. 187s - 187s -Try cloning something that's both a bookmark and a branch, and see the 187s -results. They're a bit suprising as the bookmark does get activated, 187s -but the branch get checked out. Although this does seem a bit odd, so 187s -does the scenario. 187s - 187s - $ rm -r hgrepo 187s - $ hg clone -r branch1 repo.git hgrepo 187s - importing 2 git commits 187s - new changesets 40a840c1f8ae:8211cade99e4 (2 drafts) 187s - updating to branch branch1 187s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 187s - $ cd hgrepo 187s - $ hg bookmarks 187s - * branch1_bookmark 1:8211cade99e4 187s - $ hg log --graph 187s - o changeset: 1:8211cade99e4 187s - | bookmark: branch1_bookmark 187s - | tag: default/branch1 187s - | tag: tip 187s - | user: test 187s - | date: Mon Jan 01 00:00:12 2007 +0000 187s - | summary: append f1 187s - | 187s - @ changeset: 0:40a840c1f8ae 187s - branch: branch1 187s - user: test 187s - date: Mon Jan 01 00:00:10 2007 +0000 187s - summary: add f1 187s - 187s - 187s - $ cd .. 187s - 187s -Now try pulling a diverged bookmark: 187s - 187s - $ rm -r hgrepo 187s -#if with-path 187s - $ hg clone -U repo.git hgrepo 187s - importing 5 git commits 187s - new changesets 40a840c1f8ae:faf44fc3a4e8 (5 drafts) 187s -#else 187s - $ hg init hgrepo 187s - $ hg -R hgrepo pull repo.git 187s - pulling from repo.git 187s - importing 5 git commits 187s - adding bookmark branch1_bookmark 187s - adding bookmark branch2_bookmark 187s - adding bookmark branch3_bookmark 187s - new changesets 40a840c1f8ae:faf44fc3a4e8 (5 drafts) 187s - (run 'hg heads' to see heads, 'hg merge' to merge) 187s -#endif 187s - $ cd gitrepo 187s - $ git checkout -q branch1 187s - $ fn_git_rebase branch3 187s - $ git push -f 187s - To $TESTTMP/repo.git 187s - + d8aef79...ce1d1c5 branch1 -> branch1 (forced update) 187s - $ cd ../hgrepo 187s - $ hg pull ../repo.git 187s - pulling from ../repo.git 187s - importing 1 git commits 187s - not updating diverged bookmark branch1_bookmark 187s - new changesets 895d0307f8b7 (1 drafts) 187s - (run 'hg update' to get a working copy) 187s - $ hg log --graph 187s - o changeset: 5:895d0307f8b7 187s - | tag: default/branch1 (with-path !) 187s - | tag: tip 187s - | user: test 187s - | date: Mon Jan 01 00:00:12 2007 +0000 187s - | summary: append f1 187s - | 187s - o changeset: 4:faf44fc3a4e8 187s - | bookmark: branch3_bookmark 187s - | tag: default/branch3 (with-path !) 187s - | user: test 187s - | date: Mon Jan 01 00:00:14 2007 +0000 187s - | summary: append f3 187s - | 187s - o changeset: 3:ae8eb55f7090 187s - | bookmark: branch2_bookmark 187s - | tag: default/branch2 (with-path !) 187s - | user: test 187s - | date: Mon Jan 01 00:00:13 2007 +0000 187s - | summary: append f2 187s - | 187s - o changeset: 2:600de9b6d498 187s - | branch: branch2 187s - | parent: 0:40a840c1f8ae 187s - | user: test 187s - | date: Mon Jan 01 00:00:11 2007 +0000 187s - | summary: add f2 187s - | 187s - | o changeset: 1:8211cade99e4 187s - |/ bookmark: branch1_bookmark 187s - | user: test 187s - | date: Mon Jan 01 00:00:12 2007 +0000 187s - | summary: append f1 187s - | 187s - o changeset: 0:40a840c1f8ae 187s - branch: branch1 187s - user: test 187s - date: Mon Jan 01 00:00:10 2007 +0000 187s - summary: add f1 187s - 187s 187s ERROR: test-branch-bookmark-suffix.t#with-path output changed 187s ! 187s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-branch-bookmark-suffix.t 187s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-branch-bookmark-suffix.t#without-path.err 187s @@ -49,31 +49,102 @@ 187s 187s $ hg push ../repo.git 187s pushing to ../repo.git 187s - searching for changes 187s - adding objects 187s - remote: found 0 deltas to reuse 187s - added 2 commits with 2 trees and 2 blobs 187s - adding reference refs/heads/branch1 187s - adding reference refs/heads/branch2 187s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 187s + ** which supports versions 6.9 of Mercurial. 187s + ** Please disable "hggit" and try your action again. 187s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 187s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 187s + ** Mercurial Distributed SCM (version 7.0.1) 187s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 187s + Traceback (most recent call last): 187s + File "/usr/bin/hg", line 51, in 187s + dispatch.run() 187s + ~~~~~~~~~~~~^^ 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 187s + status = dispatch(req) 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 187s + status = _rundispatch(req) 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 187s + ret = _runcatch(req) or 0 187s + ~~~~~~~~~^^^^^ 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 187s + return _callcatch(ui, _runcatchfunc) 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 187s + return scmutil.callcatch(ui, func) 187s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 187s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 187s + return func() 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 187s + return _dispatch(req) 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 187s + return runcommand( 187s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 187s + ) 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 187s + ret = _runcommand(ui, options, cmd, d) 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 187s + return cmdfunc() 187s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 187s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 187s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 187s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 187s + return func(*args, **kwargs) 187s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 187s + pushop = exchange.push( 187s + repo, 187s + ...<6 lines>... 187s + opargs=opargs, 187s + ) 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 187s + return f(*args, **kwargs) 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 232, in exchangepush 187s + pushop.cgresult = repo.githandler.push( 187s + ~~~~~~~~~~~~~~~~~~~~^ 187s + remote.path, revs, bookmarks, force 187s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 187s + ) 187s + ^ 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 520, in push 187s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 187s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 187s + all_exportable = self.export_commits() 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 187s + self.export_git_objects() 187s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 187s + packer.pack(synchronous=True) 187s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 187s + _process_batch(self.ui, self.object_store, todo) 187s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 187s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 187s + object_store._remove_loose_object(obj.id) 187s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 187s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 187s + [1] 187s 187s $ cd .. 187s 187s $ cd repo.git 187s $ git symbolic-ref HEAD refs/heads/branch1 187s $ git branch 187s - * branch1 187s - branch2 187s $ cd .. 187s 187s $ git clone repo.git gitrepo 187s Cloning into 'gitrepo'... 187s + warning: You appear to have cloned an empty repository. 187s done. 187s $ cd gitrepo 187s $ git checkout -q branch1 187s + error: pathspec 'branch1' did not match any file(s) known to git 187s + [1] 187s $ echo g1 >> f1 187s $ git add f1 187s $ fn_git_commit -m "append f1" 187s $ git checkout -q branch2 187s + error: pathspec 'branch2' did not match any file(s) known to git 187s + [1] 187s $ echo g2 >> f2 187s $ git add f2 187s $ fn_git_commit -m "append f2" 187s @@ -83,18 +154,13 @@ 187s $ git add f3 187s $ fn_git_commit -m "append f3" 187s $ git push origin branch1 branch2 branch3 187s - To $TESTTMP/repo.git 187s - bbfe79a..d8aef79 branch1 -> branch1 187s - 288e92b..f8f8de5 branch2 -> branch2 187s - * [new branch] branch3 -> branch3 187s + error: src refspec branch2 does not match any 187s + error: failed to push some refs to '$TESTTMP/repo.git' 187s + [1] 187s make sure the commit doesn't have an HG:rename-source annotation 187s $ git cat-file commit d8aef79 187s - tree b5644d8071b8a5963b8d1fd089fb3fdfb14b1203 187s - parent bbfe79acf62dcd6a97763e2a67424a6de8a96941 187s - author test 1167609612 +0000 187s - committer test 1167609612 +0000 187s - 187s - append f1 187s + fatal: Not a valid object name d8aef79 187s + [128] 187s $ cd .. 187s 187s $ cd hgrepo 187s @@ -102,194 +168,33 @@ 187s default = $TESTTMP/repo.git (with-path !) 187s $ hg pull ../repo.git 187s pulling from ../repo.git 187s - importing 3 git commits 187s - updating bookmark branch1_bookmark 187s - updating bookmark branch2_bookmark 187s - adding bookmark branch3_bookmark 187s - new changesets 8211cade99e4:faf44fc3a4e8 (3 drafts) 187s - (run 'hg heads' to see heads) 187s $ hg log --graph 187s - o changeset: 4:faf44fc3a4e8 187s - | bookmark: branch3_bookmark 187s + @ changeset: 1:600de9b6d498 187s + | branch: branch2 187s | tag: default/branch3 (with-path !) 187s + | bookmark: branch2_bookmark 187s | tag: tip 187s - | user: test 187s - | date: Mon Jan 01 00:00:14 2007 +0000 187s - | summary: append f3 187s - | 187s - o changeset: 3:ae8eb55f7090 187s - | bookmark: branch2_bookmark 187s - | tag: default/branch2 (with-path !) 187s - | parent: 1:600de9b6d498 187s - | user: test 187s - | date: Mon Jan 01 00:00:13 2007 +0000 187s - | summary: append f2 187s - | 187s - | o changeset: 2:8211cade99e4 187s - | | bookmark: branch1_bookmark 187s - | | tag: default/branch1 (with-path !) 187s - | | parent: 0:40a840c1f8ae 187s - | | user: test 187s - | | date: Mon Jan 01 00:00:12 2007 +0000 187s - | | summary: append f1 187s - | | 187s - @ | changeset: 1:600de9b6d498 187s - |/ branch: branch2 187s - | user: test 187s - | date: Mon Jan 01 00:00:11 2007 +0000 187s - | summary: add f2 187s - | 187s - o changeset: 0:40a840c1f8ae 187s - branch: branch1 187s - user: test 187s - date: Mon Jan 01 00:00:10 2007 +0000 187s - summary: add f1 187s - 187s - $ cd .. 187s - 187s -Try cloning a bookmark, and make sure it gets checked out: 187s - 187s - $ rm -r hgrepo 187s - $ hg clone -r branch3 repo.git hgrepo 187s - importing 4 git commits 187s - new changesets 40a840c1f8ae:faf44fc3a4e8 (4 drafts) 187s - updating to bookmark branch3_bookmark 187s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 187s - $ cd hgrepo 187s - $ hg bookmarks 187s - branch2_bookmark 2:ae8eb55f7090 187s - * branch3_bookmark 3:faf44fc3a4e8 187s - $ hg log --graph 187s - @ changeset: 3:faf44fc3a4e8 187s - | bookmark: branch3_bookmark 187s - | tag: default/branch3 187s - | tag: tip 187s - | user: test 187s - | date: Mon Jan 01 00:00:14 2007 +0000 187s - | summary: append f3 187s - | 187s - o changeset: 2:ae8eb55f7090 187s - | bookmark: branch2_bookmark 187s - | tag: default/branch2 187s - | user: test 187s - | date: Mon Jan 01 00:00:13 2007 +0000 187s - | summary: append f2 187s - | 187s - o changeset: 1:600de9b6d498 187s - | branch: branch2 187s | user: test 187s | date: Mon Jan 01 00:00:11 2007 +0000 187s | summary: add f2 187s | 187s o changeset: 0:40a840c1f8ae 187s + | tag: default/branch2 (with-path !) 187s branch: branch1 187s + bookmark: branch1_bookmark 187s user: test 187s date: Mon Jan 01 00:00:10 2007 +0000 187s summary: add f1 187s 187s - $ cd .. 187s - 187s -Try cloning something that's both a bookmark and a branch, and see the 187s -results. They're a bit suprising as the bookmark does get activated, 187s -but the branch get checked out. Although this does seem a bit odd, so 187s -does the scenario. 187s + | | tag: default/branch1 (with-path !) 187s + $ cd .. 187s + 187s +Try cloning a bookmark, and make sure it gets checked out: 187s 187s $ rm -r hgrepo 187s - $ hg clone -r branch1 repo.git hgrepo 187s - importing 2 git commits 187s - new changesets 40a840c1f8ae:8211cade99e4 (2 drafts) 187s - updating to branch branch1 187s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 187s + $ hg clone -r branch3 repo.git hgrepo 187s + abort: unknown revision 'branch3' 187s + [10] 187s $ cd hgrepo 187s + $TESTTMP.sh: 102: cd: can't cd to hgrepo 187s $ hg bookmarks 187s - * branch1_bookmark 1:8211cade99e4 187s - $ hg log --graph 187s - o changeset: 1:8211cade99e4 187s - | bookmark: branch1_bookmark 187s - | tag: default/branch1 187s - | tag: tip 187s - | user: test 187s - | date: Mon Jan 01 00:00:12 2007 +0000 187s - | summary: append f1 187s - | 187s - @ changeset: 0:40a840c1f8ae 187s - branch: branch1 187s - user: test 187s - date: Mon Jan 01 00:00:10 2007 +0000 187s - summary: add f1 187s - 187s - 187s - $ cd .. 187s - 187s -Now try pulling a diverged bookmark: 187s - 187s - $ rm -r hgrepo 187s -#if with-path 187s - $ hg clone -U repo.git hgrepo 187s - importing 5 git commits 187s - new changesets 40a840c1f8ae:faf44fc3a4e8 (5 drafts) 187s -#else 187s - $ hg init hgrepo 187s - $ hg -R hgrepo pull repo.git 187s - pulling from repo.git 187s - importing 5 git commits 187s - adding bookmark branch1_bookmark 187s - adding bookmark branch2_bookmark 187s - adding bookmark branch3_bookmark 187s - new changesets 40a840c1f8ae:faf44fc3a4e8 (5 drafts) 187s - (run 'hg heads' to see heads, 'hg merge' to merge) 187s -#endif 187s - $ cd gitrepo 187s - $ git checkout -q branch1 187s - $ fn_git_rebase branch3 187s - $ git push -f 187s - To $TESTTMP/repo.git 187s - + d8aef79...ce1d1c5 branch1 -> branch1 (forced update) 187s - $ cd ../hgrepo 187s - $ hg pull ../repo.git 187s - pulling from ../repo.git 187s - importing 1 git commits 187s - not updating diverged bookmark branch1_bookmark 187s - new changesets 895d0307f8b7 (1 drafts) 187s - (run 'hg update' to get a working copy) 187s - $ hg log --graph 187s - o changeset: 5:895d0307f8b7 187s - | tag: default/branch1 (with-path !) 187s - | tag: tip 187s - | user: test 187s - | date: Mon Jan 01 00:00:12 2007 +0000 187s - | summary: append f1 187s - | 187s - o changeset: 4:faf44fc3a4e8 187s - | bookmark: branch3_bookmark 187s - | tag: default/branch3 (with-path !) 187s - | user: test 187s - | date: Mon Jan 01 00:00:14 2007 +0000 187s - | summary: append f3 187s - | 187s - o changeset: 3:ae8eb55f7090 187s - | bookmark: branch2_bookmark 187s - | tag: default/branch2 (with-path !) 187s - | user: test 187s - | date: Mon Jan 01 00:00:13 2007 +0000 187s - | summary: append f2 187s - | 187s - o changeset: 2:600de9b6d498 187s - | branch: branch2 187s - | parent: 0:40a840c1f8ae 187s - | user: test 187s - | date: Mon Jan 01 00:00:11 2007 +0000 187s - | summary: add f2 187s - | 187s - | o changeset: 1:8211cade99e4 187s - |/ bookmark: branch1_bookmark 187s - | user: test 187s - | date: Mon Jan 01 00:00:12 2007 +0000 187s - | summary: append f1 187s - | 187s - o changeset: 0:40a840c1f8ae 187s - branch: branch1 187s - user: test 187s - date: Mon Jan 01 00:00:10 2007 +0000 187s - summary: add f1 187s - 187s 187s ERROR: test-branch-bookmark-suffix.t#without-path output changed 189s ! 189s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-bookmark-workflow.t 189s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-bookmark-workflow.t.err 189s @@ -77,149 +77,99 @@ 189s 0 3442585be8a6 "add alpha" bookmarks: [] 189s $ cd .. 189s $ hg clone -q gitremoterepo hggitlocalrepo --config hggit.usephases=True 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 2046, in clone 189s + r = hg.clone( 189s + ui, 189s + ...<11 lines>... 189s + depth=opts.get('depth') or None, 189s + ) 189s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 189s + srcpeer, destpeer = orig(*args, **opts) 189s + ~~~~^^^^^^^^^^^^^^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 189s + exchange.pull( 189s + ~~~~~~~~~~~~~^ 189s + local, 189s + ^^^^^^ 189s + ...<5 lines>... 189s + depth=depth, 189s + ^^^^^^^^^^^^ 189s + ) 189s + ^ 189s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 189s + return f(*args, **kwargs) 189s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 189s + pullop.cgresult = repo.githandler.fetch(remote, heads) 189s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 189s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 $ cd hggitlocalrepo 189s + $TESTTMP.sh: 78: cd: can't cd to hggitlocalrepo 189s $ hggitstate 189s - 3 03769a650ded 55b133e1d558 "add delta" bookmarks: [master] 189s - 2 ca33a262eb46 d338971a96e2 "add gamma" bookmarks: [] 189s - 1 7fe02317c63d 9497a4ee62e1 "add beta" bookmarks: [b1] 189s - 0 ff7a2f2d8d70 7eeab2ea75ec "add alpha" bookmarks: [] 189s - 189s -Make sure that master is public 189s - $ hg phase -r master 189s - 3: public 189s - $ cd .. 189s - 189s -No changes 189s - $ cd purehglocalrepo 189s - $ hg incoming -B 189s - comparing with $TESTTMP/hgremoterepo 189s - searching for changed bookmarks 189s - no changed bookmarks found 189s - [1] 189s - $ hg outgoing 189s - comparing with $TESTTMP/hgremoterepo 189s - searching for changes 189s - no changes found 189s - [1] 189s - $ hg outgoing -B 189s - comparing with $TESTTMP/hgremoterepo 189s - searching for changed bookmarks 189s - no changed bookmarks found 189s - [1] 189s - $ hg push 189s - pushing to $TESTTMP/hgremoterepo 189s - searching for changes 189s - no changes found 189s - [1] 189s - $ cd .. 189s - $ cd hggitlocalrepo 189s - $ hg incoming -B 189s - comparing with $TESTTMP/gitremoterepo 189s - searching for changed bookmarks 189s - no changed bookmarks found 189s - [1] 189s - $ hg outgoing 189s - comparing with $TESTTMP/gitremoterepo 189s - searching for changes 189s - no changes found 189s - [1] 189s - $ hg outgoing -B 189s - comparing with $TESTTMP/gitremoterepo 189s - searching for changed bookmarks 189s - no changed bookmarks found 189s - [1] 189s - $ hg push 189s - pushing to $TESTTMP/gitremoterepo 189s - searching for changes 189s - no changes found 189s - [1] 189s - $ cd .. 189s - 189s -Bookmarks on existing revs: 189s -- change b1 on local repo 189s -- introduce b2 on local repo 189s -- introduce b3 on remote repo 189s -Bookmarks on new revs 189s -- introduce b4 on a new rev on the remote 189s - $ cd hgremoterepo 189s - $ hg bookmark -r master b3 189s - $ hg bookmark -r master b4 189s - $ hg update -q b4 189s - $ echo epsilon > epsilon; hg add epsilon; hgcommit -m 'add epsilon' 189s - $ hgstate 189s - 4 d979bb8e0fbb "add epsilon" bookmarks: [b4] 189s - 3 fc2664cac217 "add delta" bookmarks: [b3 master] 189s - 2 d85ced7ae9d6 "add gamma" bookmarks: [] 189s - 1 7bcd915dc873 "add beta" bookmarks: [b1] 189s - 0 3442585be8a6 "add alpha" bookmarks: [] 189s - $ cd .. 189s - $ cd purehglocalrepo 189s - $ hg bookmark -fr 2 b1 189s - $ hg bookmark -r 0 b2 189s - $ hgstate 189s - 3 fc2664cac217 "add delta" bookmarks: [master] 189s - 2 d85ced7ae9d6 "add gamma" bookmarks: [b1] 189s - 1 7bcd915dc873 "add beta" bookmarks: [] 189s - 0 3442585be8a6 "add alpha" bookmarks: [b2] 189s - $ hg incoming -B 189s - comparing with $TESTTMP/hgremoterepo 189s - searching for changed bookmarks 189s - b3 fc2664cac217 189s - b4 d979bb8e0fbb 189s - $ hg outgoing 189s - comparing with $TESTTMP/hgremoterepo 189s - searching for changes 189s - no changes found 189s - [1] 189s -As of 2.3, Mercurial's outgoing -B doesn't actually show changed bookmarks 189s -It only shows "new" bookmarks. Thus, b1 doesn't show up. 189s -This changed in 3.4 to start showing changed and deleted bookmarks again. 189s - $ hg outgoing -B | grep -v -E -w 'b1|b3|b4' 189s - comparing with $TESTTMP/hgremoterepo 189s - searching for changed bookmarks 189s - b2 3442585be8a6 189s - $ cd .. 189s - 189s - $ cd gitremoterepo 189s - $ git branch b3 master 189s - $ git checkout -b b4 master 189s - Switched to a new branch 'b4' 189s - $ echo epsilon > epsilon 189s - $ git add epsilon 189s - $ gitcommit -m 'add epsilon' 189s - $ gitstate 189s - fcfd2c0 "add epsilon" refs: (*b4) (glob) 189s - 55b133e "add delta" refs: (master, b3) 189s - d338971 "add gamma" refs: 189s - 9497a4e "add beta" refs: (b1) 189s - 7eeab2e "add alpha" refs: 189s - $ cd .. 189s - $ cd hggitlocalrepo 189s - $ hg bookmark -fr 2 b1 189s - $ hg bookmark -r 0 b2 189s - $ hgstate 189s - 3 03769a650ded "add delta" bookmarks: [master] 189s - 2 ca33a262eb46 "add gamma" bookmarks: [b1] 189s - 1 7fe02317c63d "add beta" bookmarks: [] 189s - 0 ff7a2f2d8d70 "add alpha" bookmarks: [b2] 189s - $ hg incoming -B 189s - comparing with $TESTTMP/gitremoterepo 189s - searching for changed bookmarks 189s - b3 03769a650ded 189s - b4 fcfd2c0262db 189s - $ hg outgoing 189s - comparing with $TESTTMP/gitremoterepo 189s - searching for changes 189s - no changes found 189s - [1] 189s -As of 2.3, Mercurial's outgoing -B doesn't actually show changed bookmarks 189s -It only shows "new" bookmarks. Thus, b1 doesn't show up. 189s -This changed in 3.4 to start showing changed and deleted bookmarks again. 189s - $ hg outgoing -B 189s - comparing with $TESTTMP/gitremoterepo 189s - searching for changed bookmarks 189s - b1 ca33a262eb46 189s - b2 ff7a2f2d8d70 189s - b3 189s - b4 189s - $ cd .. 189s 189s ERROR: test-bookmark-workflow.t output changed 189s ! 189s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-phases-remote.t 189s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-phases-remote.t.err 189s @@ -27,192 +27,100 @@ 189s 189s $ hg clone --config hggit.usephases=True -U gitrepo hgrepo 189s importing 4 git commits 189s - new changesets ff7a2f2d8d70:25eed24f5e8f (1 drafts) 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 2046, in clone 189s + r = hg.clone( 189s + ui, 189s + ...<11 lines>... 189s + depth=opts.get('depth') or None, 189s + ) 189s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 189s + srcpeer, destpeer = orig(*args, **opts) 189s + ~~~~^^^^^^^^^^^^^^^ 189s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 189s + exchange.pull( 189s + ~~~~~~~~~~~~~^ 189s + local, 189s + ^^^^^^ 189s + ...<5 lines>... 189s + depth=depth, 189s + ^^^^^^^^^^^^ 189s + ) 189s + ^ 189s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 189s + return f(*args, **kwargs) 189s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 189s + pullop.cgresult = repo.githandler.fetch(remote, heads) 189s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 189s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 189s $ cd hgrepo 189s + $TESTTMP.sh: 48: cd: can't cd to hgrepo 189s $ hg log -G -T '{rev}|{phase}|{bookmarks}|{tags}\n' 189s - o 3|public||thetag tip 189s - | 189s - | o 2|draft|not-master|default/not-master 189s - |/ 189s - | o 1|public|master|default/master 189s - |/ 189s - o 0|public|| 189s - 189s - $ hg phase -r 'all()' | tee $TESTTMP/after-clone 189s - 0: public 189s - 1: public 189s - 2: draft 189s - 3: public 189s - $ cat >> .hg/hgrc < [paths] 189s - > other = $TESTTMP/gitrepo/.git 189s - > other:hg-git.publish = no 189s - > EOF 189s - $ cd .. 189s - 189s -that disables publishing from that remote 189s - 189s - $ cd hgrepo 189s - $ hg phase -fd 'all()' 189s - $ hg pull other 189s - pulling from $TESTTMP/gitrepo/.git 189s - no changes found 189s - $ hg log -qr 'public()' 189s - $ hg pull -v --config hggit.usephases=True other 189s - pulling from $TESTTMP/gitrepo/.git 189s - no changes found 189s - processing commits in batches of 1000 189s - bookmark master is up-to-date 189s - bookmark not-master is up-to-date 189s - $ hg log -qr 'public()' 189s - $ cd .. 189s - 189s -but not default when enable by the global setting 189s - 189s - $ cd hgrepo 189s - $ hg phase -fd 'all()' 189s - no phases changed 189s - $ hg pull -v --config hggit.usephases=True 189s - pulling from $TESTTMP/gitrepo 189s - publishing remote HEAD 189s - publishing tag thetag 189s - no changes found 189s - processing commits in batches of 1000 189s - bookmark master is up-to-date 189s - bookmark not-master is up-to-date 189s - publishing remote HEAD 189s - publishing tag thetag 189s - 3 local changesets published 189s - $ hg phase -r 'all()' > $TESTTMP/after-pull 189s - $ cmp $TESTTMP/after-clone $TESTTMP/after-pull 189s - $ cd .. 189s - 189s -or the path option 189s - 189s - $ cd hgrepo 189s - $ hg phase -fd 'all()' 189s - $ hg pull -v --config paths.default:hg-git.publish=yes 189s - pulling from $TESTTMP/gitrepo 189s - publishing remote HEAD 189s - publishing tag thetag 189s - no changes found 189s - processing commits in batches of 1000 189s - bookmark master is up-to-date 189s - bookmark not-master is up-to-date 189s - publishing remote HEAD 189s - publishing tag thetag 189s - 3 local changesets published 189s - $ hg phase -r 'all()' > $TESTTMP/after-pull 189s - $ cmp $TESTTMP/after-clone $TESTTMP/after-pull 189s - $ cd .. 189s - 189s -but we can specify individual branches 189s - 189s - $ cd hgrepo 189s - $ hg phase -fd 'all()' 189s - $ hg pull -v --config paths.default:hg-git.publish=not-master 189s - pulling from $TESTTMP/gitrepo 189s - publishing branch not-master 189s - no changes found 189s - processing commits in batches of 1000 189s - bookmark master is up-to-date 189s - bookmark not-master is up-to-date 189s - publishing branch not-master 189s - 2 local changesets published 189s - $ hg phase -r master -r not-master -r thetag 189s - 1: draft 189s - 2: public 189s - 3: draft 189s - $ cd .. 189s - 189s -and we can also specify the tag 189s - 189s - $ cd hgrepo 189s - $ hg phase -fd 'all()' 189s - $ hg pull -v --config paths.default:hg-git.publish=thetag 189s - pulling from $TESTTMP/gitrepo 189s - publishing tag thetag 189s - no changes found 189s - processing commits in batches of 1000 189s - bookmark master is up-to-date 189s - bookmark not-master is up-to-date 189s - publishing tag thetag 189s - 2 local changesets published 189s - $ hg phase -r master -r not-master -r thetag 189s - 1: draft 189s - 2: draft 189s - 3: public 189s - $ cd .. 189s - 189s - 189s -Check multiple paths behavior 189s -============================= 189s - 189s - 189s - $ cd hgrepo 189s - $ cat >> .hg/hgrc < [paths] 189s - > multi:multi-urls = yes 189s - > multi = path://other, path://default 189s - > recursive:multi-urls = yes 189s - > recursive = path://multi, default 189s - > EOF 189s - 189s -Using multiple path works fine: 189s - 189s - 189s - $ hg pull multi --config paths.default:hg-git.publish=yes 189s - abort: cannot use `path://multi`, "multi" is also defined as a `path://` 189s - [255] 189s - 189s -Recursive multiple path are tricker, but Mercurial don't work with them either. 189s -This test exist to make sure we bail out on our own. 189s - 189s - 189s -`yes` should abort (until we implement it) 189s - 189s - $ hg pull multi --config paths.default:hg-git.publish=yes 189s - abort: cannot use `path://multi`, "multi" is also defined as a `path://` 189s - [255] 189s - 189s -`some-value` should abort (until we implement it) 189s - 189s - $ hg pull multi --config paths.default:hg-git.publish=thetag 189s - abort: cannot use `path://multi`, "multi" is also defined as a `path://` 189s - [255] 189s - 189s -`no` is fine 189s - 189s - $ hg pull multi --config paths.default:hg-git.publish=no 189s - abort: cannot use `path://multi`, "multi" is also defined as a `path://` 189s - [255] 189s - 189s - $ cd .. 189s - 189s -Check conflicting paths behavior 189s -================================ 189s - 189s - $ cd hgrepo 189s - $ cat > .hg/hgrc < [paths] 189s - > default = $TESTTMP/gitrepo 189s - > default:hg-git.publish = yes 189s - > also-default = $TESTTMP/gitrepo 189s - > EOF 189s - $ hg pull also-default 189s - pulling from $TESTTMP/gitrepo 189s - abort: different publishing configurations for the same remote location 189s - (conflicting paths: also-default, default) 189s - [255] 189s - $ hg pull --config paths.also-default:hg-git.publish=no 189s - pulling from $TESTTMP/gitrepo 189s - abort: different publishing configurations for the same remote location 189s - (conflicting paths: also-default, default) 189s - [255] 189s - $ hg pull --config paths.also-default:hg-git.publish=true 189s - pulling from $TESTTMP/gitrepo 189s - no changes found 189s - 1 local changesets published 189s - $ cd .. 189s - 189s 189s ERROR: test-phases-remote.t output changed 191s ! 191s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-octopus.t 191s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-octopus.t.err 191s @@ -63,110 +63,99 @@ 191s 191s $ hg clone gitrepo hgrepo 191s importing 8 git commits 191s - new changesets ff7a2f2d8d70:307506d6ae8a (10 drafts) 191s - updating to bookmark master 191s - 6 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 191s + return f(*args, **kwargs) 191s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 191s + pullop.cgresult = repo.githandler.fetch(remote, heads) 191s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 191s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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: 64: cd: can't cd to hgrepo 191s $ hg log --graph --style compact | sed 's/\[.*\]//g' 191s - @ 9:7,8 307506d6ae8a 2007-01-01 00:00 +0000 test 191s - |\ Merge branches 'branch3' and 'branch4' 191s - | | 191s - | o 8:3,4 2b07220e422e 2007-01-01 00:00 +0000 test 191s - | |\ Merge branches 'branch3' and 'branch4' 191s - | | | 191s - o | | 7:5,6 ccf2d65d982c 2007-01-01 00:00 +0000 test 191s - |\ \ \ Merge branches 'branch1' and 'branch2' 191s - | | | | 191s - | o | | 6:1,2 690b40256117 2007-01-01 00:00 +0000 test 191s - | |\ \ \ Merge branches 'branch1' and 'branch2' 191s - | | | | | 191s - o | | | | 5:0 e459c0629ca4 2007-01-01 00:00 +0000 test 191s - | | | | | add delta 191s - | | | | | 191s - +-------o 4:0 e857c9a04474 2007-01-01 00:00 +0000 test 191s - | | | | add zeta 191s - | | | | 191s - +-----o 3:0 0071dec0de0e 2007-01-01 00:00 +0000 test 191s - | | | add epsilon 191s - | | | 191s - +---o 2:0 205a004356ef 2007-01-01 00:00 +0000 test 191s - | | add gamma 191s - | | 191s - | o 1 7fe02317c63d 2007-01-01 00:00 +0000 test 191s - |/ add beta 191s - | 191s - o 0 ff7a2f2d8d70 2007-01-01 00:00 +0000 test 191s - add alpha 191s - 191s - $ hg gverify -r 9 191s - verifying rev 307506d6ae8a against git commit b32ff845df61df998206b630e4370a44f9b36845 191s - $ hg gverify -r 8 191s - abort: no git commit found for rev 2b07220e422e 191s - (if this is an octopus merge, verify against the last rev) 191s - [255] 191s - 191s - $ hg debug-remove-hggit-state 191s - clearing out the git cache data 191s - $ hg push ../repo.git 191s - pushing to ../repo.git 191s - searching for changes 191s - adding objects 191s - remote: found 0 deltas to reuse 191s - added 8 commits with 8 trees and 6 blobs 191s - adding reference refs/heads/branch1 191s - adding reference refs/heads/branch2 191s - adding reference refs/heads/branch3 191s - adding reference refs/heads/branch4 191s - adding reference refs/heads/master 191s - $ cd .. 191s - 191s - $ git --git-dir=repo.git log --pretty=medium | sed s/\\.\\.\\.//g 191s - commit b32ff845df61df998206b630e4370a44f9b36845 191s - Merge: 9ac68f9 7e9cd9f e695849 191s - Author: test 191s - Date: Mon Jan 1 00:00:15 2007 +0000 191s - 191s - Merge branches 'branch3' and 'branch4' 191s - 191s - commit 9ac68f982ae7426d9597ff16c74afb4e6053c582 191s - Merge: d40f375 9497a4e e5023f9 191s - Author: test 191s - Date: Mon Jan 1 00:00:15 2007 +0000 191s - 191s - Merge branches 'branch1' and 'branch2' 191s - 191s - commit d40f375a81b7d033e92cbad89487115fe2dd472f 191s - Author: test 191s - Date: Mon Jan 1 00:00:15 2007 +0000 191s - 191s - add delta 191s - 191s - commit e695849087f6c320c1a447620492b29a82ca41b1 191s - Author: test 191s - Date: Mon Jan 1 00:00:14 2007 +0000 191s - 191s - add zeta 191s - 191s - commit 7e9cd9f90b6d2c60579375eb796ce706d2d8bbe6 191s - Author: test 191s - Date: Mon Jan 1 00:00:13 2007 +0000 191s - 191s - add epsilon 191s - 191s - commit e5023f9e5cb24fdcec7b6c127cec45d8888e35a9 191s - Author: test 191s - Date: Mon Jan 1 00:00:12 2007 +0000 191s - 191s - add gamma 191s - 191s - commit 9497a4ee62e16ee641860d7677cdb2589ea15554 191s - Author: test 191s - Date: Mon Jan 1 00:00:11 2007 +0000 191s - 191s - add beta 191s - 191s - commit 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 191s - Author: test 191s - Date: Mon Jan 1 00:00:10 2007 +0000 191s - 191s - add alpha 191s 191s ERROR: test-octopus.t output changed 192s ! 192s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-clone.t 192s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-clone.t#draft.err 192s @@ -39,59 +39,218 @@ 192s 192s $ hg clone -r alpha gitrepo hgrepo-a 192s importing 1 git commits 192s - new changesets ff7a2f2d8d70 (1 drafts) 192s - updating to branch default 192s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 192s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 192s + ** which supports versions 6.9 of Mercurial. 192s + ** Please disable "hggit" and try your action again. 192s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 192s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 192s + ** Mercurial Distributed SCM (version 7.0.1) 192s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 192s + Traceback (most recent call last): 192s + File "/usr/bin/hg", line 51, in 192s + dispatch.run() 192s + ~~~~~~~~~~~~^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 192s + status = dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 192s + status = _rundispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 192s + ret = _runcatch(req) or 0 192s + ~~~~~~~~~^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 192s + return _callcatch(ui, _runcatchfunc) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 192s + return scmutil.callcatch(ui, func) 192s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 192s + return func() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 192s + return _dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 192s + return runcommand( 192s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 192s + ) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 192s + ret = _runcommand(ui, options, cmd, d) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 192s + return cmdfunc() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 192s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 192s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 192s + return func(*args, **kwargs) 192s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 192s + r = hg.clone( 192s + ui, 192s + ...<11 lines>... 192s + depth=opts.get('depth') or None, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 192s + srcpeer, destpeer = orig(*args, **opts) 192s + ~~~~^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 192s + exchange.pull( 192s + ~~~~~~~~~~~~~^ 192s + local, 192s + ^^^^^^ 192s + ...<5 lines>... 192s + depth=depth, 192s + ^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 192s + return f(*args, **kwargs) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 192s + pullop.cgresult = repo.githandler.fetch(remote, heads) 192s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 192s + imported = self.import_git_objects( 192s + b'pull', 192s + ...<2 lines>... 192s + heads=heads, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 192s + self.import_git_commit( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + command, 192s + ^^^^^^^^ 192s + self.git[commit.sha], 192s + ^^^^^^^^^^^^^^^^^^^^^ 192s + commit.phase, 192s + ^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 192s + files, gitlinks, git_renames = self.get_files_changed( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + commit, detect_renames 192s + ^^^^^^^^^^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 192s + oldfile, oldmode, oldsha = change.old 192s + ^^^^^^^^^^^^^^^^^^^^^^^^ 192s + TypeError: cannot unpack non-iterable NoneType object 192s + [1] 192s $ hg -R hgrepo-a bookmarks 192s - master 0:ff7a2f2d8d70 192s + abort: repository hgrepo-a not found 192s + [255] 192s $ hg -R hgrepo-a log --graph --template=phases 192s - @ changeset: 0:ff7a2f2d8d70 192s - bookmark: master 192s - tag: alpha 192s - tag: default/master 192s - tag: tip 192s - phase: draft 192s - user: test 192s - date: Mon Jan 01 00:00:10 2007 +0000 192s - summary: add alpha 192s - 192s + abort: repository hgrepo-a not found 192s + [255] 192s $ git --git-dir hgrepo-a/.hg/git for-each-ref 192s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 192s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 192s + fatal: not a git repository: 'hgrepo-a/.hg/git' 192s + [128] 192s Make sure this is still draft since we didn't pull remote's HEAD 192s $ hg -R hgrepo-a phase -r alpha 192s - 0: draft 192s + abort: repository hgrepo-a not found 192s + [255] 192s 192s clone a branch 192s $ hg clone -r beta gitrepo hgrepo-b 192s importing 2 git commits 192s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 192s - updating to branch default 192s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 192s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 192s + ** which supports versions 6.9 of Mercurial. 192s + ** Please disable "hggit" and try your action again. 192s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 192s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 192s + ** Mercurial Distributed SCM (version 7.0.1) 192s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 192s + Traceback (most recent call last): 192s + File "/usr/bin/hg", line 51, in 192s + dispatch.run() 192s + ~~~~~~~~~~~~^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 192s + status = dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 192s + status = _rundispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 192s + ret = _runcatch(req) or 0 192s + ~~~~~~~~~^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 192s + return _callcatch(ui, _runcatchfunc) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 192s + return scmutil.callcatch(ui, func) 192s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 192s + return func() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 192s + return _dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 192s + return runcommand( 192s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 192s + ) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 192s + ret = _runcommand(ui, options, cmd, d) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 192s + return cmdfunc() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 192s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 192s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 192s + return func(*args, **kwargs) 192s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 192s + r = hg.clone( 192s + ui, 192s + ...<11 lines>... 192s + depth=opts.get('depth') or None, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 192s + srcpeer, destpeer = orig(*args, **opts) 192s + ~~~~^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 192s + exchange.pull( 192s + ~~~~~~~~~~~~~^ 192s + local, 192s + ^^^^^^ 192s + ...<5 lines>... 192s + depth=depth, 192s + ^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 192s + return f(*args, **kwargs) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 192s + pullop.cgresult = repo.githandler.fetch(remote, heads) 192s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 192s + imported = self.import_git_objects( 192s + b'pull', 192s + ...<2 lines>... 192s + heads=heads, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 192s + self.import_git_commit( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + command, 192s + ^^^^^^^^ 192s + self.git[commit.sha], 192s + ^^^^^^^^^^^^^^^^^^^^^ 192s + commit.phase, 192s + ^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 192s + files, gitlinks, git_renames = self.get_files_changed( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + commit, detect_renames 192s + ^^^^^^^^^^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 192s + oldfile, oldmode, oldsha = change.old 192s + ^^^^^^^^^^^^^^^^^^^^^^^^ 192s + TypeError: cannot unpack non-iterable NoneType object 192s + [1] 192s $ hg -R hgrepo-b bookmarks 192s - * beta 1:7fe02317c63d 192s - master 0:ff7a2f2d8d70 192s + abort: repository hgrepo-b not found 192s + [255] 192s $ hg -R hgrepo-b log --graph 192s - @ changeset: 1:7fe02317c63d 192s - | bookmark: beta 192s - | tag: default/beta 192s - | tag: tip 192s - | user: test 192s - | date: Mon Jan 01 00:00:11 2007 +0000 192s - | summary: add beta 192s - | 192s - o changeset: 0:ff7a2f2d8d70 192s - bookmark: master 192s - tag: alpha 192s - tag: default/master 192s - user: test 192s - date: Mon Jan 01 00:00:10 2007 +0000 192s - summary: add alpha 192s - 192s + abort: repository hgrepo-b not found 192s + [255] 192s $ git --git-dir hgrepo-b/.hg/git for-each-ref 192s - 9497a4ee62e16ee641860d7677cdb2589ea15554 commit refs/remotes/default/beta 192s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 192s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 192s + fatal: not a git repository: 'hgrepo-b/.hg/git' 192s + [128] 192s 192s Make sure that a deleted .hgsubstate does not confuse hg-git 192s 192s @@ -105,47 +264,224 @@ 192s 192s $ hg clone -r beta gitrepo hgrepo-c 192s importing 4 git commits 192s - new changesets ff7a2f2d8d70:47d12948785d (4 drafts) 192s - updating to branch default 192s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 192s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 192s + ** which supports versions 6.9 of Mercurial. 192s + ** Please disable "hggit" and try your action again. 192s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 192s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 192s + ** Mercurial Distributed SCM (version 7.0.1) 192s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 192s + Traceback (most recent call last): 192s + File "/usr/bin/hg", line 51, in 192s + dispatch.run() 192s + ~~~~~~~~~~~~^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 192s + status = dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 192s + status = _rundispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 192s + ret = _runcatch(req) or 0 192s + ~~~~~~~~~^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 192s + return _callcatch(ui, _runcatchfunc) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 192s + return scmutil.callcatch(ui, func) 192s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 192s + return func() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 192s + return _dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 192s + return runcommand( 192s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 192s + ) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 192s + ret = _runcommand(ui, options, cmd, d) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 192s + return cmdfunc() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 192s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 192s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 192s + return func(*args, **kwargs) 192s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 192s + r = hg.clone( 192s + ui, 192s + ...<11 lines>... 192s + depth=opts.get('depth') or None, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 192s + srcpeer, destpeer = orig(*args, **opts) 192s + ~~~~^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 192s + exchange.pull( 192s + ~~~~~~~~~~~~~^ 192s + local, 192s + ^^^^^^ 192s + ...<5 lines>... 192s + depth=depth, 192s + ^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 192s + return f(*args, **kwargs) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 192s + pullop.cgresult = repo.githandler.fetch(remote, heads) 192s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 192s + imported = self.import_git_objects( 192s + b'pull', 192s + ...<2 lines>... 192s + heads=heads, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 192s + self.import_git_commit( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + command, 192s + ^^^^^^^^ 192s + self.git[commit.sha], 192s + ^^^^^^^^^^^^^^^^^^^^^ 192s + commit.phase, 192s + ^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 192s + files, gitlinks, git_renames = self.get_files_changed( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + commit, detect_renames 192s + ^^^^^^^^^^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 192s + oldfile, oldmode, oldsha = change.old 192s + ^^^^^^^^^^^^^^^^^^^^^^^^ 192s + TypeError: cannot unpack non-iterable NoneType object 192s + [1] 192s $ hg -R hgrepo-c bookmarks 192s - * beta 3:47d12948785d 192s - master 0:ff7a2f2d8d70 192s + abort: repository hgrepo-c not found 192s + [255] 192s $ hg --cwd hgrepo-c status 192s + abort: No such file or directory: 'hgrepo-c' 192s + [255] 192s $ git --git-dir hgrepo-c/.hg/git for-each-ref 192s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 192s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 192s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 192s + fatal: not a git repository: 'hgrepo-c/.hg/git' 192s + [128] 192s 192s test shared repositories 192s 192s $ hg clone gitrepo hgrepo-base 192s importing 5 git commits 192s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 192s - updating to bookmark beta 192s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 192s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 192s + ** which supports versions 6.9 of Mercurial. 192s + ** Please disable "hggit" and try your action again. 192s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 192s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 192s + ** Mercurial Distributed SCM (version 7.0.1) 192s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 192s + Traceback (most recent call last): 192s + File "/usr/bin/hg", line 51, in 192s + dispatch.run() 192s + ~~~~~~~~~~~~^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 192s + status = dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 192s + status = _rundispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 192s + ret = _runcatch(req) or 0 192s + ~~~~~~~~~^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 192s + return _callcatch(ui, _runcatchfunc) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 192s + return scmutil.callcatch(ui, func) 192s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 192s + return func() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 192s + return _dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 192s + return runcommand( 192s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 192s + ) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 192s + ret = _runcommand(ui, options, cmd, d) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 192s + return cmdfunc() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 192s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 192s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 192s + return func(*args, **kwargs) 192s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 192s + r = hg.clone( 192s + ui, 192s + ...<11 lines>... 192s + depth=opts.get('depth') or None, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 192s + srcpeer, destpeer = orig(*args, **opts) 192s + ~~~~^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 192s + exchange.pull( 192s + ~~~~~~~~~~~~~^ 192s + local, 192s + ^^^^^^ 192s + ...<5 lines>... 192s + depth=depth, 192s + ^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 192s + return f(*args, **kwargs) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 192s + pullop.cgresult = repo.githandler.fetch(remote, heads) 192s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 192s + imported = self.import_git_objects( 192s + b'pull', 192s + ...<2 lines>... 192s + heads=heads, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 192s + self.import_git_commit( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + command, 192s + ^^^^^^^^ 192s + self.git[commit.sha], 192s + ^^^^^^^^^^^^^^^^^^^^^ 192s + commit.phase, 192s + ^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 192s + files, gitlinks, git_renames = self.get_files_changed( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + commit, detect_renames 192s + ^^^^^^^^^^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 192s + oldfile, oldmode, oldsha = change.old 192s + ^^^^^^^^^^^^^^^^^^^^^^^^ 192s + TypeError: cannot unpack non-iterable NoneType object 192s + [1] 192s $ hg -R hgrepo-base bookmarks 192s - * beta 4:47d12948785d 192s - gamma 2:ca33a262eb46 192s - master 0:ff7a2f2d8d70 192s + abort: repository hgrepo-base not found 192s + [255] 192s $ hg --config extensions.share= share hgrepo-base hgrepo-shared 192s - updating working directory 192s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 192s + abort: repository hgrepo-base not found 192s + [255] 192s $ hg -R hgrepo-shared pull gitrepo 192s - pulling from gitrepo 192s - no changes found 192s - adding bookmark beta 192s - adding bookmark gamma 192s - adding bookmark master 192s + abort: repository hgrepo-shared not found 192s + [255] 192s $ hg -R hgrepo-shared push gitrepo 192s - pushing to gitrepo 192s - searching for changes 192s - no changes found 192s - [1] 192s + abort: repository hgrepo-shared not found 192s + [255] 192s $ ls hgrepo-shared/.hg | grep git 192s + ls: cannot access 'hgrepo-shared/.hg': No such file or directory 192s [1] 192s $ hg -R hgrepo-shared git-cleanup 192s - git commit map cleaned 192s + abort: repository hgrepo-shared not found 192s + [255] 192s $ rm -rf hgrepo-base hgrepo-shared 192s 192s test cloning HEAD 192s @@ -155,14 +491,102 @@ 192s $ cd .. 192s $ hg clone gitrepo hgrepo-2 192s importing 5 git commits 192s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 192s - updating to bookmark master 192s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 192s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 192s + ** which supports versions 6.9 of Mercurial. 192s + ** Please disable "hggit" and try your action again. 192s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 192s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 192s + ** Mercurial Distributed SCM (version 7.0.1) 192s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 192s + Traceback (most recent call last): 192s + File "/usr/bin/hg", line 51, in 192s + dispatch.run() 192s + ~~~~~~~~~~~~^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 192s + status = dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 192s + status = _rundispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 192s + ret = _runcatch(req) or 0 192s + ~~~~~~~~~^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 192s + return _callcatch(ui, _runcatchfunc) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 192s + return scmutil.callcatch(ui, func) 192s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 192s + return func() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 192s + return _dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 192s + return runcommand( 192s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 192s + ) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 192s + ret = _runcommand(ui, options, cmd, d) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 192s + return cmdfunc() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 192s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 192s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 192s + return func(*args, **kwargs) 192s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 192s + r = hg.clone( 192s + ui, 192s + ...<11 lines>... 192s + depth=opts.get('depth') or None, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 192s + srcpeer, destpeer = orig(*args, **opts) 192s + ~~~~^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 192s + exchange.pull( 192s + ~~~~~~~~~~~~~^ 192s + local, 192s + ^^^^^^ 192s + ...<5 lines>... 192s + depth=depth, 192s + ^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 192s + return f(*args, **kwargs) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 192s + pullop.cgresult = repo.githandler.fetch(remote, heads) 192s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 192s + imported = self.import_git_objects( 192s + b'pull', 192s + ...<2 lines>... 192s + heads=heads, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 192s + self.import_git_commit( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + command, 192s + ^^^^^^^^ 192s + self.git[commit.sha], 192s + ^^^^^^^^^^^^^^^^^^^^^ 192s + commit.phase, 192s + ^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 192s + files, gitlinks, git_renames = self.get_files_changed( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + commit, detect_renames 192s + ^^^^^^^^^^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 192s + oldfile, oldmode, oldsha = change.old 192s + ^^^^^^^^^^^^^^^^^^^^^^^^ 192s + TypeError: cannot unpack non-iterable NoneType object 192s + [1] 192s $ git --git-dir hgrepo-2/.hg/git for-each-ref 192s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 192s - d338971a96e20113bb980a5dc4355ba77eed3714 commit refs/remotes/default/gamma 192s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 192s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 192s + fatal: not a git repository: 'hgrepo-2/.hg/git' 192s + [128] 192s $ rm -rf hgrepo-2 192s 192s clone empty repo 192s @@ -181,24 +605,108 @@ 192s $ cd .. 192s $ hg clone gitrepo hgrepo-2 192s importing 5 git commits 192s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 192s - updating to bookmark master 192s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 192s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 192s + ** which supports versions 6.9 of Mercurial. 192s + ** Please disable "hggit" and try your action again. 192s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 192s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 192s + ** Mercurial Distributed SCM (version 7.0.1) 192s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 192s + Traceback (most recent call last): 192s + File "/usr/bin/hg", line 51, in 192s + dispatch.run() 192s + ~~~~~~~~~~~~^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 192s + status = dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 192s + status = _rundispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 192s + ret = _runcatch(req) or 0 192s + ~~~~~~~~~^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 192s + return _callcatch(ui, _runcatchfunc) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 192s + return scmutil.callcatch(ui, func) 192s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 192s + return func() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 192s + return _dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 192s + return runcommand( 192s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 192s + ) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 192s + ret = _runcommand(ui, options, cmd, d) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 192s + return cmdfunc() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 192s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 192s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 192s + return func(*args, **kwargs) 192s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 192s + r = hg.clone( 192s + ui, 192s + ...<11 lines>... 192s + depth=opts.get('depth') or None, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 192s + srcpeer, destpeer = orig(*args, **opts) 192s + ~~~~^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 192s + exchange.pull( 192s + ~~~~~~~~~~~~~^ 192s + local, 192s + ^^^^^^ 192s + ...<5 lines>... 192s + depth=depth, 192s + ^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 192s + return f(*args, **kwargs) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 192s + pullop.cgresult = repo.githandler.fetch(remote, heads) 192s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 192s + imported = self.import_git_objects( 192s + b'pull', 192s + ...<2 lines>... 192s + heads=heads, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 192s + self.import_git_commit( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + command, 192s + ^^^^^^^^ 192s + self.git[commit.sha], 192s + ^^^^^^^^^^^^^^^^^^^^^ 192s + commit.phase, 192s + ^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 192s + files, gitlinks, git_renames = self.get_files_changed( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + commit, detect_renames 192s + ^^^^^^^^^^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 192s + oldfile, oldmode, oldsha = change.old 192s + ^^^^^^^^^^^^^^^^^^^^^^^^ 192s + TypeError: cannot unpack non-iterable NoneType object 192s + [1] 192s $ hg -R hgrepo-2 book 192s - beta 4:47d12948785d 192s - gamma 2:ca33a262eb46 192s - * master 0:ff7a2f2d8d70 192s + abort: repository hgrepo-2 not found 192s + [255] 192s $ hg -R hgrepo-2 tags -v 192s - tip 4:47d12948785d 192s - default/beta 4:47d12948785d git-remote 192s - default/gamma 2:ca33a262eb46 git-remote 192s - default/master 0:ff7a2f2d8d70 git-remote 192s - alpha 0:ff7a2f2d8d70 git 192s + abort: repository hgrepo-2 not found 192s + [255] 192s $ git --git-dir hgrepo-2/.hg/git for-each-ref 192s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 192s - d338971a96e20113bb980a5dc4355ba77eed3714 commit refs/remotes/default/gamma 192s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 192s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 192s + fatal: not a git repository: 'hgrepo-2/.hg/git' 192s + [128] 192s $ rm -rf hgrepo-2 192s 192s test cloning fully detached HEAD; we don't convert the 192s @@ -213,22 +721,108 @@ 192s $ cd .. 192s $ hg clone gitrepo hgrepo-2 192s importing 5 git commits 192s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 192s - warning: the git source repository has a detached head 192s - (you may want to update to a bookmark) 192s - updating to branch default 192s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 192s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 192s + ** which supports versions 6.9 of Mercurial. 192s + ** Please disable "hggit" and try your action again. 192s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 192s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 192s + ** Mercurial Distributed SCM (version 7.0.1) 192s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 192s + Traceback (most recent call last): 192s + File "/usr/bin/hg", line 51, in 192s + dispatch.run() 192s + ~~~~~~~~~~~~^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 192s + status = dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 192s + status = _rundispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 192s + ret = _runcatch(req) or 0 192s + ~~~~~~~~~^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 192s + return _callcatch(ui, _runcatchfunc) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 192s + return scmutil.callcatch(ui, func) 192s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 192s + return func() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 192s + return _dispatch(req) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 192s + return runcommand( 192s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 192s + ) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 192s + ret = _runcommand(ui, options, cmd, d) 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 192s + return cmdfunc() 192s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 192s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 192s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 192s + return func(*args, **kwargs) 192s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 192s + r = hg.clone( 192s + ui, 192s + ...<11 lines>... 192s + depth=opts.get('depth') or None, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 192s + srcpeer, destpeer = orig(*args, **opts) 192s + ~~~~^^^^^^^^^^^^^^^ 192s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 192s + exchange.pull( 192s + ~~~~~~~~~~~~~^ 192s + local, 192s + ^^^^^^ 192s + ...<5 lines>... 192s + depth=depth, 192s + ^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 192s + return f(*args, **kwargs) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 192s + pullop.cgresult = repo.githandler.fetch(remote, heads) 192s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 192s + imported = self.import_git_objects( 192s + b'pull', 192s + ...<2 lines>... 192s + heads=heads, 192s + ) 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 192s + self.import_git_commit( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + command, 192s + ^^^^^^^^ 192s + self.git[commit.sha], 192s + ^^^^^^^^^^^^^^^^^^^^^ 192s + commit.phase, 192s + ^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 192s + files, gitlinks, git_renames = self.get_files_changed( 192s + ~~~~~~~~~~~~~~~~~~~~~~^ 192s + commit, detect_renames 192s + ^^^^^^^^^^^^^^^^^^^^^^ 192s + ) 192s + ^ 192s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 192s + oldfile, oldmode, oldsha = change.old 192s + ^^^^^^^^^^^^^^^^^^^^^^^^ 192s + TypeError: cannot unpack non-iterable NoneType object 192s + [1] 192s $ hg -R hgrepo-2 book 192s - beta 4:47d12948785d 192s - gamma 2:ca33a262eb46 192s - master 0:ff7a2f2d8d70 192s + abort: repository hgrepo-2 not found 192s + [255] 192s $ hg -R hgrepo-2 id --tags 192s - default/beta tip 192s + abort: repository hgrepo-2 not found 192s + [255] 192s $ git --git-dir hgrepo-2/.hg/git for-each-ref 192s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 192s - d338971a96e20113bb980a5dc4355ba77eed3714 commit refs/remotes/default/gamma 192s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 192s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 192s + fatal: not a git repository: 'hgrepo-2/.hg/git' 192s + [128] 192s $ rm -rf hgrepo-2 192s 192s test that cloning a regular mercurial repository does not introduce 192s 192s ERROR: test-clone.t#draft output changed 193s ! 193s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-clone.t 193s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-clone.t#secret.err 193s @@ -39,59 +39,218 @@ 193s 193s $ hg clone -r alpha gitrepo hgrepo-a 193s importing 1 git commits 193s - new changesets ff7a2f2d8d70 (1 drafts) 193s - updating to branch default 193s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 193s + return f(*args, **kwargs) 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 193s + pullop.cgresult = repo.githandler.fetch(remote, heads) 193s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 -R hgrepo-a bookmarks 193s - master 0:ff7a2f2d8d70 193s + abort: repository hgrepo-a not found 193s + [255] 193s $ hg -R hgrepo-a log --graph --template=phases 193s - @ changeset: 0:ff7a2f2d8d70 193s - bookmark: master 193s - tag: alpha 193s - tag: default/master 193s - tag: tip 193s - phase: draft 193s - user: test 193s - date: Mon Jan 01 00:00:10 2007 +0000 193s - summary: add alpha 193s - 193s + abort: repository hgrepo-a not found 193s + [255] 193s $ git --git-dir hgrepo-a/.hg/git for-each-ref 193s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 193s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 193s + fatal: not a git repository: 'hgrepo-a/.hg/git' 193s + [128] 193s Make sure this is still draft since we didn't pull remote's HEAD 193s $ hg -R hgrepo-a phase -r alpha 193s - 0: draft 193s + abort: repository hgrepo-a not found 193s + [255] 193s 193s clone a branch 193s $ hg clone -r beta gitrepo hgrepo-b 193s importing 2 git commits 193s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 193s - updating to branch default 193s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 193s + return f(*args, **kwargs) 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 193s + pullop.cgresult = repo.githandler.fetch(remote, heads) 193s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 -R hgrepo-b bookmarks 193s - * beta 1:7fe02317c63d 193s - master 0:ff7a2f2d8d70 193s + abort: repository hgrepo-b not found 193s + [255] 193s $ hg -R hgrepo-b log --graph 193s - @ changeset: 1:7fe02317c63d 193s - | bookmark: beta 193s - | tag: default/beta 193s - | tag: tip 193s - | user: test 193s - | date: Mon Jan 01 00:00:11 2007 +0000 193s - | summary: add beta 193s - | 193s - o changeset: 0:ff7a2f2d8d70 193s - bookmark: master 193s - tag: alpha 193s - tag: default/master 193s - user: test 193s - date: Mon Jan 01 00:00:10 2007 +0000 193s - summary: add alpha 193s - 193s + abort: repository hgrepo-b not found 193s + [255] 193s $ git --git-dir hgrepo-b/.hg/git for-each-ref 193s - 9497a4ee62e16ee641860d7677cdb2589ea15554 commit refs/remotes/default/beta 193s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 193s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 193s + fatal: not a git repository: 'hgrepo-b/.hg/git' 193s + [128] 193s 193s Make sure that a deleted .hgsubstate does not confuse hg-git 193s 193s @@ -105,47 +264,224 @@ 193s 193s $ hg clone -r beta gitrepo hgrepo-c 193s importing 4 git commits 193s - new changesets ff7a2f2d8d70:47d12948785d (4 drafts) 193s - updating to branch default 193s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 193s + return f(*args, **kwargs) 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 193s + pullop.cgresult = repo.githandler.fetch(remote, heads) 193s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 -R hgrepo-c bookmarks 193s - * beta 3:47d12948785d 193s - master 0:ff7a2f2d8d70 193s + abort: repository hgrepo-c not found 193s + [255] 193s $ hg --cwd hgrepo-c status 193s + abort: No such file or directory: 'hgrepo-c' 193s + [255] 193s $ git --git-dir hgrepo-c/.hg/git for-each-ref 193s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 193s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 193s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 193s + fatal: not a git repository: 'hgrepo-c/.hg/git' 193s + [128] 193s 193s test shared repositories 193s 193s $ hg clone gitrepo hgrepo-base 193s importing 5 git commits 193s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 193s - updating to bookmark beta 193s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 193s + return f(*args, **kwargs) 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 193s + pullop.cgresult = repo.githandler.fetch(remote, heads) 193s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 -R hgrepo-base bookmarks 193s - * beta 4:47d12948785d 193s - gamma 2:ca33a262eb46 193s - master 0:ff7a2f2d8d70 193s + abort: repository hgrepo-base not found 193s + [255] 193s $ hg --config extensions.share= share hgrepo-base hgrepo-shared 193s - updating working directory 193s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 193s + abort: repository hgrepo-base not found 193s + [255] 193s $ hg -R hgrepo-shared pull gitrepo 193s - pulling from gitrepo 193s - no changes found 193s - adding bookmark beta 193s - adding bookmark gamma 193s - adding bookmark master 193s + abort: repository hgrepo-shared not found 193s + [255] 193s $ hg -R hgrepo-shared push gitrepo 193s - pushing to gitrepo 193s - searching for changes 193s - no changes found 193s - [1] 193s + abort: repository hgrepo-shared not found 193s + [255] 193s $ ls hgrepo-shared/.hg | grep git 193s + ls: cannot access 'hgrepo-shared/.hg': No such file or directory 193s [1] 193s $ hg -R hgrepo-shared git-cleanup 193s - git commit map cleaned 193s + abort: repository hgrepo-shared not found 193s + [255] 193s $ rm -rf hgrepo-base hgrepo-shared 193s 193s test cloning HEAD 193s @@ -155,14 +491,102 @@ 193s $ cd .. 193s $ hg clone gitrepo hgrepo-2 193s importing 5 git commits 193s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 193s - updating to bookmark master 193s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 193s + return f(*args, **kwargs) 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 193s + pullop.cgresult = repo.githandler.fetch(remote, heads) 193s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 $ git --git-dir hgrepo-2/.hg/git for-each-ref 193s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 193s - d338971a96e20113bb980a5dc4355ba77eed3714 commit refs/remotes/default/gamma 193s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 193s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 193s + fatal: not a git repository: 'hgrepo-2/.hg/git' 193s + [128] 193s $ rm -rf hgrepo-2 193s 193s clone empty repo 193s @@ -181,24 +605,108 @@ 193s $ cd .. 193s $ hg clone gitrepo hgrepo-2 193s importing 5 git commits 193s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 193s - updating to bookmark master 193s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 193s + return f(*args, **kwargs) 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 193s + pullop.cgresult = repo.githandler.fetch(remote, heads) 193s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 -R hgrepo-2 book 193s - beta 4:47d12948785d 193s - gamma 2:ca33a262eb46 193s - * master 0:ff7a2f2d8d70 193s + abort: repository hgrepo-2 not found 193s + [255] 193s $ hg -R hgrepo-2 tags -v 193s - tip 4:47d12948785d 193s - default/beta 4:47d12948785d git-remote 193s - default/gamma 2:ca33a262eb46 git-remote 193s - default/master 0:ff7a2f2d8d70 git-remote 193s - alpha 0:ff7a2f2d8d70 git 193s + abort: repository hgrepo-2 not found 193s + [255] 193s $ git --git-dir hgrepo-2/.hg/git for-each-ref 193s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 193s - d338971a96e20113bb980a5dc4355ba77eed3714 commit refs/remotes/default/gamma 193s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 193s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 193s + fatal: not a git repository: 'hgrepo-2/.hg/git' 193s + [128] 193s $ rm -rf hgrepo-2 193s 193s test cloning fully detached HEAD; we don't convert the 193s @@ -213,22 +721,108 @@ 193s $ cd .. 193s $ hg clone gitrepo hgrepo-2 193s importing 5 git commits 193s - new changesets ff7a2f2d8d70:47d12948785d (5 drafts) 193s - warning: the git source repository has a detached head 193s - (you may want to update to a bookmark) 193s - updating to branch default 193s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 193s + return f(*args, **kwargs) 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 193s + pullop.cgresult = repo.githandler.fetch(remote, heads) 193s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 193s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 -R hgrepo-2 book 193s - beta 4:47d12948785d 193s - gamma 2:ca33a262eb46 193s - master 0:ff7a2f2d8d70 193s + abort: repository hgrepo-2 not found 193s + [255] 193s $ hg -R hgrepo-2 id --tags 193s - default/beta tip 193s + abort: repository hgrepo-2 not found 193s + [255] 193s $ git --git-dir hgrepo-2/.hg/git for-each-ref 193s - b5329119ed77cb37a31fe523621d684eb55779a4 commit refs/remotes/default/beta 193s - d338971a96e20113bb980a5dc4355ba77eed3714 commit refs/remotes/default/gamma 193s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 193s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/alpha 193s + fatal: not a git repository: 'hgrepo-2/.hg/git' 193s + [128] 193s $ rm -rf hgrepo-2 193s 193s test that cloning a regular mercurial repository does not introduce 193s 193s ERROR: test-clone.t#secret output changed 194s ! 194s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-outgoing.t 194s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-outgoing.t.err 194s @@ -15,165 +15,100 @@ 194s $ cd .. 194s $ hg clone gitrepo hgrepo 194s importing 1 git commits 194s - new changesets ff7a2f2d8d70 (1 drafts) 194s - updating to bookmark master 194s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 194s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 194s + ** which supports versions 6.9 of Mercurial. 194s + ** Please disable "hggit" and try your action again. 194s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 194s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 194s + ** Mercurial Distributed SCM (version 7.0.1) 194s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 194s + Traceback (most recent call last): 194s + File "/usr/bin/hg", line 51, in 194s + dispatch.run() 194s + ~~~~~~~~~~~~^^ 194s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 194s + status = dispatch(req) 194s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 194s + status = _rundispatch(req) 194s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 194s + ret = _runcatch(req) or 0 194s + ~~~~~~~~~^^^^^ 194s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 194s + return _callcatch(ui, _runcatchfunc) 194s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 194s + return scmutil.callcatch(ui, func) 194s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 194s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 194s + return func() 194s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 194s + return _dispatch(req) 194s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 194s + return runcommand( 194s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 194s + ) 194s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 194s + ret = _runcommand(ui, options, cmd, d) 194s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 194s + return cmdfunc() 194s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 194s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 194s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 194s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 194s + return func(*args, **kwargs) 194s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 194s + r = hg.clone( 194s + ui, 194s + ...<11 lines>... 194s + depth=opts.get('depth') or None, 194s + ) 194s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 194s + srcpeer, destpeer = orig(*args, **opts) 194s + ~~~~^^^^^^^^^^^^^^^ 194s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 194s + exchange.pull( 194s + ~~~~~~~~~~~~~^ 194s + local, 194s + ^^^^^^ 194s + ...<5 lines>... 194s + depth=depth, 194s + ^^^^^^^^^^^^ 194s + ) 194s + ^ 194s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 194s + return f(*args, **kwargs) 194s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 194s + pullop.cgresult = repo.githandler.fetch(remote, heads) 194s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 194s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 194s + imported = self.import_git_objects( 194s + b'pull', 194s + ...<2 lines>... 194s + heads=heads, 194s + ) 194s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 194s + self.import_git_commit( 194s + ~~~~~~~~~~~~~~~~~~~~~~^ 194s + command, 194s + ^^^^^^^^ 194s + self.git[commit.sha], 194s + ^^^^^^^^^^^^^^^^^^^^^ 194s + commit.phase, 194s + ^^^^^^^^^^^^^ 194s + ) 194s + ^ 194s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 194s + files, gitlinks, git_renames = self.get_files_changed( 194s + ~~~~~~~~~~~~~~~~~~~~~~^ 194s + commit, detect_renames 194s + ^^^^^^^^^^^^^^^^^^^^^^ 194s + ) 194s + ^ 194s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 194s + oldfile, oldmode, oldsha = change.old 194s + ^^^^^^^^^^^^^^^^^^^^^^^^ 194s + TypeError: cannot unpack non-iterable NoneType object 194s + [1] 194s 194s $ cd hgrepo 194s + $TESTTMP.sh: 22: cd: can't cd to hgrepo 194s $ hg book 194s - alpha 0:ff7a2f2d8d70 194s - * master 0:ff7a2f2d8d70 194s - $ hg update -q master 194s - $ echo beta > beta 194s - $ hg add beta 194s - $ fn_hg_commit -m 'add beta' 194s - 194s - 194s - $ echo gamma > gamma 194s - $ hg add gamma 194s - $ fn_hg_commit -m 'add gamma' 194s - 194s - $ hg book -r 1 beta 194s - 194s - $ hg outgoing | grep -v 'searching for changes' 194s - comparing with $TESTTMP/gitrepo 194s - changeset: 1:47580592d3d6 194s - bookmark: beta 194s - user: test 194s - date: Mon Jan 01 00:00:11 2007 +0000 194s - summary: add beta 194s - 194s - changeset: 2:953796e1cfd8 194s - bookmark: master 194s - tag: tip 194s - user: test 194s - date: Mon Jan 01 00:00:12 2007 +0000 194s - summary: add gamma 194s - 194s - $ hg outgoing -r beta 194s - comparing with $TESTTMP/gitrepo 194s - searching for changes 194s - changeset: 1:47580592d3d6 194s - bookmark: beta 194s - user: test 194s - date: Mon Jan 01 00:00:11 2007 +0000 194s - summary: add beta 194s - 194s - $ hg outgoing -r master 194s - comparing with $TESTTMP/gitrepo 194s - searching for changes 194s - changeset: 1:47580592d3d6 194s - bookmark: beta 194s - user: test 194s - date: Mon Jan 01 00:00:11 2007 +0000 194s - summary: add beta 194s - 194s - changeset: 2:953796e1cfd8 194s - bookmark: master 194s - tag: tip 194s - user: test 194s - date: Mon Jan 01 00:00:12 2007 +0000 194s - summary: add gamma 194s - 194s - 194s - $ cd .. 194s - 194s -some more work on master from git 194s - $ cd gitrepo 194s - 194s -Check state of refs after outgoing 194s - $ git show-ref 194s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 refs/heads/alpha 194s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 refs/heads/master 194s - 194s - $ git checkout master 2>&1 | sed s/\'/\"/g 194s - Already on "master" 194s - $ echo delta > delta 194s - $ git add delta 194s - $ fn_git_commit -m "add delta" 194s - 194s - $ cd .. 194s - 194s - $ cd hgrepo 194s -this will fail # maybe we should try to make it work 194s - $ hg outgoing 194s - comparing with $TESTTMP/gitrepo 194s - abort: branch 'refs/heads/master' changed on the server, please pull and merge before pushing 194s - [255] 194s -let's pull and try again 194s - $ hg pull 194s - pulling from */gitrepo (glob) 194s - importing 1 git commits 194s - not updating diverged bookmark master 194s - new changesets 25eed24f5e8f (1 drafts) 194s - (run 'hg heads' to see heads, 'hg merge' to merge) 194s - $ hg log --graph 194s - o changeset: 3:25eed24f5e8f 194s - | tag: default/master 194s - | tag: tip 194s - | parent: 0:ff7a2f2d8d70 194s - | user: test 194s - | date: Mon Jan 01 00:00:13 2007 +0000 194s - | summary: add delta 194s - | 194s - | @ changeset: 2:953796e1cfd8 194s - | | bookmark: master 194s - | | user: test 194s - | | date: Mon Jan 01 00:00:12 2007 +0000 194s - | | summary: add gamma 194s - | | 194s - | o changeset: 1:47580592d3d6 194s - |/ bookmark: beta 194s - | user: test 194s - | date: Mon Jan 01 00:00:11 2007 +0000 194s - | summary: add beta 194s - | 194s - o changeset: 0:ff7a2f2d8d70 194s - bookmark: alpha 194s - tag: default/alpha 194s - user: test 194s - date: Mon Jan 01 00:00:10 2007 +0000 194s - summary: add alpha 194s - 194s - $ hg outgoing 194s - comparing with $TESTTMP/gitrepo 194s - searching for changes 194s - changeset: 1:47580592d3d6 194s - bookmark: beta 194s - user: test 194s - date: Mon Jan 01 00:00:11 2007 +0000 194s - summary: add beta 194s - 194s - changeset: 2:953796e1cfd8 194s - bookmark: master 194s - user: test 194s - date: Mon Jan 01 00:00:12 2007 +0000 194s - summary: add gamma 194s - 194s - $ hg outgoing -r beta 194s - comparing with $TESTTMP/gitrepo 194s - searching for changes 194s - changeset: 1:47580592d3d6 194s - bookmark: beta 194s - user: test 194s - date: Mon Jan 01 00:00:11 2007 +0000 194s - summary: add beta 194s - 194s - $ hg outgoing -r master 194s - comparing with $TESTTMP/gitrepo 194s - searching for changes 194s - changeset: 1:47580592d3d6 194s - bookmark: beta 194s - user: test 194s - date: Mon Jan 01 00:00:11 2007 +0000 194s - summary: add beta 194s - 194s - changeset: 2:953796e1cfd8 194s - bookmark: master 194s - user: test 194s - date: Mon Jan 01 00:00:12 2007 +0000 194s - summary: add gamma 194s - 194s - 194s - 194s - $ cd .. 194s 194s ERROR: test-outgoing.t output changed 197s ! 197s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-pull.t 197s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-pull.t#draft.err 197s @@ -39,17 +39,92 @@ 197s $ hg pull ../gitrepo 197s pulling from ../gitrepo 197s importing 3 git commits 197s - adding bookmark beta 197s - adding bookmark delta 197s - adding bookmark master 197s - new changesets ff7a2f2d8d70:678ebee93e38 (3 drafts) 197s - (run 'hg heads' to see heads, 'hg merge' to merge) 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ git --git-dir .hg/git for-each-ref 197s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/t_alpha 197s $ hg log -Tp 197s - 2|draft|delta|tip 197s - 1|draft|beta| 197s - 0|draft|master|t_alpha 197s $ cd .. 197s $ rm -rf hgrepo 197s 197s @@ -61,20 +136,92 @@ 197s $ hg pull ../gitrepo 197s pulling from ../gitrepo 197s importing 3 git commits 197s - adding bookmark beta 197s - adding bookmark delta 197s - adding bookmark master 197s - new changesets ff7a2f2d8d70:678ebee93e38 (3 drafts) 197s - (run 'hg heads' to see heads, 'hg merge' to merge) 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ git --git-dir .hg/git for-each-ref 197s - 9497a4ee62e16ee641860d7677cdb2589ea15554 commit refs/remotes/default/beta 197s - 8cbeb817785fe2676ab0eda570534702b6b6f9cf commit refs/remotes/default/delta 197s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 197s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/t_alpha 197s $ hg log -Tp 197s - 2|draft|delta|default/delta tip 197s - 1|draft|beta|default/beta 197s - 0|draft|master|default/master t_alpha 197s $ cd .. 197s $ rm -rf hgrepo 197s 197s @@ -86,20 +233,92 @@ 197s $ hg pull 197s pulling from $TESTTMP/gitrepo 197s importing 3 git commits 197s - adding bookmark beta 197s - adding bookmark delta 197s - adding bookmark master 197s - new changesets ff7a2f2d8d70:678ebee93e38 (3 drafts) 197s - (run 'hg heads' to see heads, 'hg merge' to merge) 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ git --git-dir .hg/git for-each-ref 197s - 9497a4ee62e16ee641860d7677cdb2589ea15554 commit refs/remotes/default/beta 197s - 8cbeb817785fe2676ab0eda570534702b6b6f9cf commit refs/remotes/default/delta 197s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 197s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/t_alpha 197s $ hg log -Tp 197s - 2|draft|delta|default/delta tip 197s - 1|draft|beta|default/beta 197s - 0|draft|master|default/master t_alpha 197s $ cd .. 197s $ rm -rf hgrepo 197s 197s @@ -110,18 +329,183 @@ 197s $ hg -R hgrepo pull -r t_alpha 197s pulling from $TESTTMP/gitrepo 197s importing 1 git commits 197s - adding bookmark master 197s - new changesets ff7a2f2d8d70 (1 drafts) 197s - (run 'hg update' to get a working copy) 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo update t_alpha 197s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 197s + abort: unknown revision 't_alpha' 197s + [10] 197s $ hg log -Tp -R hgrepo 197s - 0|draft|master|default/master t_alpha tip 197s 197s no-op pull 197s $ hg -R hgrepo pull -r t_alpha 197s pulling from $TESTTMP/gitrepo 197s - no changes found 197s + importing 1 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s 197s no-op pull with added bookmark 197s $ cd gitrepo 197s @@ -129,8 +513,91 @@ 197s $ cd .. 197s $ hg -R hgrepo pull -r epsilon 197s pulling from $TESTTMP/gitrepo 197s - no changes found 197s - adding bookmark epsilon 197s + importing 1 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s 197s pull something that doesn't exist 197s $ hg -R hgrepo pull -r kaflaflibob 197s @@ -149,39 +616,187 @@ 197s pull a branch 197s $ hg -R hgrepo pull -r beta 197s pulling from $TESTTMP/gitrepo 197s - importing 1 git commits 197s - adding bookmark beta 197s - new changesets 7fe02317c63d (1 drafts) 197s - (run 'hg update' to get a working copy) 197s + importing 2 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo log --graph --template=phases 197s - o changeset: 1:7fe02317c63d 197s - | bookmark: beta 197s - | tag: default/beta 197s - | tag: tip 197s - | phase: draft 197s - | user: test 197s - | date: Mon Jan 01 00:00:11 2007 +0000 197s - | summary: add beta 197s - | 197s - @ changeset: 0:ff7a2f2d8d70 197s - bookmark: epsilon 197s - bookmark: master 197s - tag: default/epsilon 197s - tag: default/master 197s - tag: t_alpha 197s - phase: draft 197s - user: test 197s - date: Mon Jan 01 00:00:10 2007 +0000 197s - summary: add alpha 197s - 197s 197s no-op pull should affect phases 197s $ hg -R hgrepo phase -fs beta 197s + abort: unknown revision 'beta' 197s + [10] 197s $ hg -R hgrepo pull -r beta 197s pulling from $TESTTMP/gitrepo 197s - no changes found 197s + importing 2 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo phase beta 197s - 1: draft 197s + abort: unknown revision 'beta' 197s + [10] 197s 197s 197s add another commit and tag to the git repo 197s @@ -197,49 +812,92 @@ 197s pull everything else 197s $ hg -R hgrepo pull 197s pulling from $TESTTMP/gitrepo 197s - importing 2 git commits 197s - adding bookmark delta 197s - updating bookmark master 197s - new changesets 678ebee93e38:6f898ad1f3e1 (2 drafts) 197s - (run 'hg heads' to see heads, 'hg merge' to merge) 197s + importing 4 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo log --graph --template=phases 197s - o changeset: 3:6f898ad1f3e1 197s - | bookmark: master 197s - | tag: default/master 197s - | tag: tip 197s - | phase: draft 197s - | parent: 0:ff7a2f2d8d70 197s - | user: test 197s - | date: Mon Jan 01 00:00:13 2007 +0000 197s - | summary: add gamma 197s - | 197s - | o changeset: 2:678ebee93e38 197s - |/ bookmark: delta 197s - | tag: default/delta 197s - | phase: draft 197s - | parent: 0:ff7a2f2d8d70 197s - | user: test 197s - | date: Mon Jan 01 00:00:12 2007 +0000 197s - | summary: add delta 197s - | 197s - | o changeset: 1:7fe02317c63d 197s - |/ bookmark: beta 197s - | tag: default/beta 197s - | tag: t_beta 197s - | phase: draft 197s - | user: test 197s - | date: Mon Jan 01 00:00:11 2007 +0000 197s - | summary: add beta 197s - | 197s - @ changeset: 0:ff7a2f2d8d70 197s - bookmark: epsilon 197s - tag: default/epsilon 197s - tag: t_alpha 197s - phase: draft 197s - user: test 197s - date: Mon Jan 01 00:00:10 2007 +0000 197s - summary: add alpha 197s - 197s add a merge to the git repo, and delete the branch 197s $ cd gitrepo 197s $ git merge -q -m "Merge branch 'beta'" beta 197s @@ -252,60 +910,186 @@ 197s 197s pull the merge 197s $ hg -R hgrepo tags | grep default/beta 197s - default/beta 1:7fe02317c63d 197s + [1] 197s $ hg -R hgrepo pull --config git.pull-prune-remote-branches=false 197s pulling from $TESTTMP/gitrepo 197s - importing 1 git commits 197s - updating bookmark master 197s - deleting bookmark beta 197s - new changesets a02330f767a4 (1 drafts) 197s - (run 'hg update' to get a working copy) 197s + importing 5 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo tags | grep default/beta 197s - default/beta 1:7fe02317c63d 197s + [1] 197s $ hg -R hgrepo pull 197s pulling from $TESTTMP/gitrepo 197s - no changes found 197s + importing 5 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo tags | grep default/beta 197s [1] 197s $ hg -R hgrepo log --graph 197s - o changeset: 4:a02330f767a4 197s - |\ bookmark: master 197s - | | tag: default/master 197s - | | tag: tip 197s - | | parent: 3:6f898ad1f3e1 197s - | | parent: 1:7fe02317c63d 197s - | | user: test 197s - | | date: Mon Jan 01 00:00:13 2007 +0000 197s - | | summary: Merge branch 'beta' 197s - | | 197s - | o changeset: 3:6f898ad1f3e1 197s - | | parent: 0:ff7a2f2d8d70 197s - | | user: test 197s - | | date: Mon Jan 01 00:00:13 2007 +0000 197s - | | summary: add gamma 197s - | | 197s - | | o changeset: 2:678ebee93e38 197s - | |/ bookmark: delta 197s - | | tag: default/delta 197s - | | parent: 0:ff7a2f2d8d70 197s - | | user: test 197s - | | date: Mon Jan 01 00:00:12 2007 +0000 197s - | | summary: add delta 197s - | | 197s - o | changeset: 1:7fe02317c63d 197s - |/ tag: t_beta 197s - | user: test 197s - | date: Mon Jan 01 00:00:11 2007 +0000 197s - | summary: add beta 197s - | 197s - @ changeset: 0:ff7a2f2d8d70 197s - bookmark: epsilon 197s - tag: default/epsilon 197s - tag: t_alpha 197s - user: test 197s - date: Mon Jan 01 00:00:10 2007 +0000 197s - summary: add alpha 197s - 197s pull with wildcards 197s $ cd gitrepo 197s $ git checkout -qb releases/v1 master 197s @@ -325,65 +1109,92 @@ 197s $ cd .. 197s $ hg -R hgrepo pull -r 'releases/*' 197s pulling from $TESTTMP/gitrepo 197s - importing 2 git commits 197s - adding bookmark releases/v1 197s - adding bookmark releases/v2 197s - new changesets 218b2d0660d3:a3f95e150b0a (2 drafts) 197s - (run 'hg heads .' to see heads, 'hg merge' to merge) 197s + importing 6 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo log --graph 197s - o changeset: 6:a3f95e150b0a 197s - | bookmark: releases/v2 197s - | tag: default/releases/v2 197s - | tag: tip 197s - | parent: 4:a02330f767a4 197s - | user: test 197s - | date: Mon Jan 01 00:00:15 2007 +0000 197s - | summary: add eta 197s - | 197s - | o changeset: 5:218b2d0660d3 197s - |/ bookmark: releases/v1 197s - | tag: default/releases/v1 197s - | user: test 197s - | date: Mon Jan 01 00:00:14 2007 +0000 197s - | summary: add zeta 197s - | 197s - o changeset: 4:a02330f767a4 197s - |\ bookmark: master 197s - | | tag: default/master 197s - | | parent: 3:6f898ad1f3e1 197s - | | parent: 1:7fe02317c63d 197s - | | user: test 197s - | | date: Mon Jan 01 00:00:13 2007 +0000 197s - | | summary: Merge branch 'beta' 197s - | | 197s - | o changeset: 3:6f898ad1f3e1 197s - | | parent: 0:ff7a2f2d8d70 197s - | | user: test 197s - | | date: Mon Jan 01 00:00:13 2007 +0000 197s - | | summary: add gamma 197s - | | 197s - | | o changeset: 2:678ebee93e38 197s - | |/ bookmark: delta 197s - | | tag: default/delta 197s - | | parent: 0:ff7a2f2d8d70 197s - | | user: test 197s - | | date: Mon Jan 01 00:00:12 2007 +0000 197s - | | summary: add delta 197s - | | 197s - o | changeset: 1:7fe02317c63d 197s - |/ tag: t_beta 197s - | user: test 197s - | date: Mon Jan 01 00:00:11 2007 +0000 197s - | summary: add beta 197s - | 197s - @ changeset: 0:ff7a2f2d8d70 197s - bookmark: epsilon 197s - tag: default/epsilon 197s - tag: t_alpha 197s - user: test 197s - date: Mon Jan 01 00:00:10 2007 +0000 197s - summary: add alpha 197s - 197s 197s add old and new commits to the git repo -- make sure we're using the commit date 197s and not the author date 197s @@ -418,15 +1229,8 @@ 197s pulling from $TESTTMP/gitrepo 197s no changes found 197s $ hg -R hgrepo log -r master 197s - changeset: 4:a02330f767a4 197s - bookmark: master 197s - tag: default/master 197s - parent: 3:6f898ad1f3e1 197s - parent: 1:7fe02317c63d 197s - user: test 197s - date: Mon Jan 01 00:00:13 2007 +0000 197s - summary: Merge branch 'beta' 197s - 197s + abort: unknown revision 'master' 197s + [10] 197s 197s $ cd gitrepo 197s $ git checkout -q master 197s @@ -441,50 +1245,93 @@ 197s $ cd .. 197s $ hg -R hgrepo pull 197s pulling from $TESTTMP/gitrepo 197s - importing 3 git commits 197s - updating bookmark master 197s - new changesets 49713da8f665:e103a73f33be (3 drafts) 197s - (run 'hg heads .' to see heads, 'hg merge' to merge) 197s + importing 7 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo heads 197s - changeset: 9:e103a73f33be 197s - bookmark: master 197s - tag: default/master 197s - tag: tip 197s - user: test 197s - date: Wed Jan 01 00:00:00 2014 +0000 197s - summary: newcommit 197s - 197s - changeset: 7:49713da8f665 197s - tag: newtag 197s - tag: oldtag 197s - parent: 4:a02330f767a4 197s - user: test 197s - date: Sat Mar 01 00:00:00 2014 +0000 197s - summary: oldtag 197s - 197s - changeset: 6:a3f95e150b0a 197s - bookmark: releases/v2 197s - tag: default/releases/v2 197s - parent: 4:a02330f767a4 197s - user: test 197s - date: Mon Jan 01 00:00:15 2007 +0000 197s - summary: add eta 197s - 197s - changeset: 5:218b2d0660d3 197s - bookmark: releases/v1 197s - tag: default/releases/v1 197s - user: test 197s - date: Mon Jan 01 00:00:14 2007 +0000 197s - summary: add zeta 197s - 197s - changeset: 2:678ebee93e38 197s - bookmark: delta 197s - tag: default/delta 197s - parent: 0:ff7a2f2d8d70 197s - user: test 197s - date: Mon Jan 01 00:00:12 2007 +0000 197s - summary: add delta 197s - 197s + [1] 197s 197s test for ssh vulnerability 197s 197s @@ -502,10 +1349,162 @@ 197s abort: potentially unsafe hostname: '-oProxyCommand=rm nonexistent' 197s [255] 197s $ hg pull -q 'git+ssh://fakehost|shellcommand/path' 197s - ssh: * fakehost%7?shellcommand* (glob) 197s - abort: git remote error: The remote server unexpectedly closed the connection. 197s - [255] 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 391, in fetch 197s + result = self.fetch_pack(remote.path, heads) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1644, in fetch_pack 197s + ret = self._call_client( 197s + remote, 197s + ...<4 lines>... 197s + progress.progress, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1680, in _call_client 197s + ret = func(path, *args, **kwargs) 197s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 1599, in fetch_pack 197s + proto, can_read, stderr = self._connect(b"upload-pack", path, protocol_version) 197s + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 3139, in _connect 197s + con = self.ssh_vendor.run_command( 197s + self.host, 197s + ...<4 lines>... 197s + **kwargs, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/_ssh.py", line 23, in run_command 197s + assert isinstance(command, str) 197s + ~~~~~~~~~~^^^^^^^^^^^^^^ 197s + AssertionError 197s + [1] 197s $ hg pull -q 'git+ssh://fakehost%7Cshellcommand/path' 197s - ssh: * fakehost%7?shellcommand* (glob) 197s - abort: git remote error: The remote server unexpectedly closed the connection. 197s - [255] 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 391, in fetch 197s + result = self.fetch_pack(remote.path, heads) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1644, in fetch_pack 197s + ret = self._call_client( 197s + remote, 197s + ...<4 lines>... 197s + progress.progress, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1680, in _call_client 197s + ret = func(path, *args, **kwargs) 197s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 1599, in fetch_pack 197s + proto, can_read, stderr = self._connect(b"upload-pack", path, protocol_version) 197s + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 3139, in _connect 197s + con = self.ssh_vendor.run_command( 197s + self.host, 197s + ...<4 lines>... 197s + **kwargs, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/_ssh.py", line 23, in run_command 197s + assert isinstance(command, str) 197s + ~~~~~~~~~~^^^^^^^^^^^^^^ 197s + AssertionError 197s + [1] 197s 197s ERROR: test-pull.t#draft output changed 197s ! 197s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-pull.t 197s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-pull.t#secret.err 197s @@ -39,17 +39,92 @@ 197s $ hg pull ../gitrepo 197s pulling from ../gitrepo 197s importing 3 git commits 197s - adding bookmark beta 197s - adding bookmark delta 197s - adding bookmark master 197s - new changesets ff7a2f2d8d70:678ebee93e38 (3 drafts) 197s - (run 'hg heads' to see heads, 'hg merge' to merge) 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ git --git-dir .hg/git for-each-ref 197s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/t_alpha 197s $ hg log -Tp 197s - 2|draft|delta|tip 197s - 1|draft|beta| 197s - 0|draft|master|t_alpha 197s $ cd .. 197s $ rm -rf hgrepo 197s 197s @@ -61,20 +136,92 @@ 197s $ hg pull ../gitrepo 197s pulling from ../gitrepo 197s importing 3 git commits 197s - adding bookmark beta 197s - adding bookmark delta 197s - adding bookmark master 197s - new changesets ff7a2f2d8d70:678ebee93e38 (3 drafts) 197s - (run 'hg heads' to see heads, 'hg merge' to merge) 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ git --git-dir .hg/git for-each-ref 197s - 9497a4ee62e16ee641860d7677cdb2589ea15554 commit refs/remotes/default/beta 197s - 8cbeb817785fe2676ab0eda570534702b6b6f9cf commit refs/remotes/default/delta 197s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 197s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/t_alpha 197s $ hg log -Tp 197s - 2|draft|delta|default/delta tip 197s - 1|draft|beta|default/beta 197s - 0|draft|master|default/master t_alpha 197s $ cd .. 197s $ rm -rf hgrepo 197s 197s @@ -86,20 +233,92 @@ 197s $ hg pull 197s pulling from $TESTTMP/gitrepo 197s importing 3 git commits 197s - adding bookmark beta 197s - adding bookmark delta 197s - adding bookmark master 197s - new changesets ff7a2f2d8d70:678ebee93e38 (3 drafts) 197s - (run 'hg heads' to see heads, 'hg merge' to merge) 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ git --git-dir .hg/git for-each-ref 197s - 9497a4ee62e16ee641860d7677cdb2589ea15554 commit refs/remotes/default/beta 197s - 8cbeb817785fe2676ab0eda570534702b6b6f9cf commit refs/remotes/default/delta 197s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/remotes/default/master 197s - 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 commit refs/tags/t_alpha 197s $ hg log -Tp 197s - 2|draft|delta|default/delta tip 197s - 1|draft|beta|default/beta 197s - 0|draft|master|default/master t_alpha 197s $ cd .. 197s $ rm -rf hgrepo 197s 197s @@ -110,18 +329,183 @@ 197s $ hg -R hgrepo pull -r t_alpha 197s pulling from $TESTTMP/gitrepo 197s importing 1 git commits 197s - adding bookmark master 197s - new changesets ff7a2f2d8d70 (1 drafts) 197s - (run 'hg update' to get a working copy) 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo update t_alpha 197s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 197s + abort: unknown revision 't_alpha' 197s + [10] 197s $ hg log -Tp -R hgrepo 197s - 0|draft|master|default/master t_alpha tip 197s 197s no-op pull 197s $ hg -R hgrepo pull -r t_alpha 197s pulling from $TESTTMP/gitrepo 197s - no changes found 197s + importing 1 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s 197s no-op pull with added bookmark 197s $ cd gitrepo 197s @@ -129,8 +513,91 @@ 197s $ cd .. 197s $ hg -R hgrepo pull -r epsilon 197s pulling from $TESTTMP/gitrepo 197s - no changes found 197s - adding bookmark epsilon 197s + importing 1 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s 197s pull something that doesn't exist 197s $ hg -R hgrepo pull -r kaflaflibob 197s @@ -149,39 +616,187 @@ 197s pull a branch 197s $ hg -R hgrepo pull -r beta 197s pulling from $TESTTMP/gitrepo 197s - importing 1 git commits 197s - adding bookmark beta 197s - new changesets 7fe02317c63d (1 drafts) 197s - (run 'hg update' to get a working copy) 197s + importing 2 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo log --graph --template=phases 197s - o changeset: 1:7fe02317c63d 197s - | bookmark: beta 197s - | tag: default/beta 197s - | tag: tip 197s - | phase: draft 197s - | user: test 197s - | date: Mon Jan 01 00:00:11 2007 +0000 197s - | summary: add beta 197s - | 197s - @ changeset: 0:ff7a2f2d8d70 197s - bookmark: epsilon 197s - bookmark: master 197s - tag: default/epsilon 197s - tag: default/master 197s - tag: t_alpha 197s - phase: draft 197s - user: test 197s - date: Mon Jan 01 00:00:10 2007 +0000 197s - summary: add alpha 197s - 197s 197s no-op pull should affect phases 197s $ hg -R hgrepo phase -fs beta 197s + abort: unknown revision 'beta' 197s + [10] 197s $ hg -R hgrepo pull -r beta 197s pulling from $TESTTMP/gitrepo 197s - no changes found 197s + importing 2 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo phase beta 197s - 1: draft 197s + abort: unknown revision 'beta' 197s + [10] 197s 197s 197s add another commit and tag to the git repo 197s @@ -197,49 +812,92 @@ 197s pull everything else 197s $ hg -R hgrepo pull 197s pulling from $TESTTMP/gitrepo 197s - importing 2 git commits 197s - adding bookmark delta 197s - updating bookmark master 197s - new changesets 678ebee93e38:6f898ad1f3e1 (2 drafts) 197s - (run 'hg heads' to see heads, 'hg merge' to merge) 197s + importing 4 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo log --graph --template=phases 197s - o changeset: 3:6f898ad1f3e1 197s - | bookmark: master 197s - | tag: default/master 197s - | tag: tip 197s - | phase: draft 197s - | parent: 0:ff7a2f2d8d70 197s - | user: test 197s - | date: Mon Jan 01 00:00:13 2007 +0000 197s - | summary: add gamma 197s - | 197s - | o changeset: 2:678ebee93e38 197s - |/ bookmark: delta 197s - | tag: default/delta 197s - | phase: draft 197s - | parent: 0:ff7a2f2d8d70 197s - | user: test 197s - | date: Mon Jan 01 00:00:12 2007 +0000 197s - | summary: add delta 197s - | 197s - | o changeset: 1:7fe02317c63d 197s - |/ bookmark: beta 197s - | tag: default/beta 197s - | tag: t_beta 197s - | phase: draft 197s - | user: test 197s - | date: Mon Jan 01 00:00:11 2007 +0000 197s - | summary: add beta 197s - | 197s - @ changeset: 0:ff7a2f2d8d70 197s - bookmark: epsilon 197s - tag: default/epsilon 197s - tag: t_alpha 197s - phase: draft 197s - user: test 197s - date: Mon Jan 01 00:00:10 2007 +0000 197s - summary: add alpha 197s - 197s add a merge to the git repo, and delete the branch 197s $ cd gitrepo 197s $ git merge -q -m "Merge branch 'beta'" beta 197s @@ -252,60 +910,186 @@ 197s 197s pull the merge 197s $ hg -R hgrepo tags | grep default/beta 197s - default/beta 1:7fe02317c63d 197s + [1] 197s $ hg -R hgrepo pull --config git.pull-prune-remote-branches=false 197s pulling from $TESTTMP/gitrepo 197s - importing 1 git commits 197s - updating bookmark master 197s - deleting bookmark beta 197s - new changesets a02330f767a4 (1 drafts) 197s - (run 'hg update' to get a working copy) 197s + importing 5 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo tags | grep default/beta 197s - default/beta 1:7fe02317c63d 197s + [1] 197s $ hg -R hgrepo pull 197s pulling from $TESTTMP/gitrepo 197s - no changes found 197s + importing 5 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo tags | grep default/beta 197s [1] 197s $ hg -R hgrepo log --graph 197s - o changeset: 4:a02330f767a4 197s - |\ bookmark: master 197s - | | tag: default/master 197s - | | tag: tip 197s - | | parent: 3:6f898ad1f3e1 197s - | | parent: 1:7fe02317c63d 197s - | | user: test 197s - | | date: Mon Jan 01 00:00:13 2007 +0000 197s - | | summary: Merge branch 'beta' 197s - | | 197s - | o changeset: 3:6f898ad1f3e1 197s - | | parent: 0:ff7a2f2d8d70 197s - | | user: test 197s - | | date: Mon Jan 01 00:00:13 2007 +0000 197s - | | summary: add gamma 197s - | | 197s - | | o changeset: 2:678ebee93e38 197s - | |/ bookmark: delta 197s - | | tag: default/delta 197s - | | parent: 0:ff7a2f2d8d70 197s - | | user: test 197s - | | date: Mon Jan 01 00:00:12 2007 +0000 197s - | | summary: add delta 197s - | | 197s - o | changeset: 1:7fe02317c63d 197s - |/ tag: t_beta 197s - | user: test 197s - | date: Mon Jan 01 00:00:11 2007 +0000 197s - | summary: add beta 197s - | 197s - @ changeset: 0:ff7a2f2d8d70 197s - bookmark: epsilon 197s - tag: default/epsilon 197s - tag: t_alpha 197s - user: test 197s - date: Mon Jan 01 00:00:10 2007 +0000 197s - summary: add alpha 197s - 197s pull with wildcards 197s $ cd gitrepo 197s $ git checkout -qb releases/v1 master 197s @@ -325,65 +1109,92 @@ 197s $ cd .. 197s $ hg -R hgrepo pull -r 'releases/*' 197s pulling from $TESTTMP/gitrepo 197s - importing 2 git commits 197s - adding bookmark releases/v1 197s - adding bookmark releases/v2 197s - new changesets 218b2d0660d3:a3f95e150b0a (2 drafts) 197s - (run 'hg heads .' to see heads, 'hg merge' to merge) 197s + importing 6 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo log --graph 197s - o changeset: 6:a3f95e150b0a 197s - | bookmark: releases/v2 197s - | tag: default/releases/v2 197s - | tag: tip 197s - | parent: 4:a02330f767a4 197s - | user: test 197s - | date: Mon Jan 01 00:00:15 2007 +0000 197s - | summary: add eta 197s - | 197s - | o changeset: 5:218b2d0660d3 197s - |/ bookmark: releases/v1 197s - | tag: default/releases/v1 197s - | user: test 197s - | date: Mon Jan 01 00:00:14 2007 +0000 197s - | summary: add zeta 197s - | 197s - o changeset: 4:a02330f767a4 197s - |\ bookmark: master 197s - | | tag: default/master 197s - | | parent: 3:6f898ad1f3e1 197s - | | parent: 1:7fe02317c63d 197s - | | user: test 197s - | | date: Mon Jan 01 00:00:13 2007 +0000 197s - | | summary: Merge branch 'beta' 197s - | | 197s - | o changeset: 3:6f898ad1f3e1 197s - | | parent: 0:ff7a2f2d8d70 197s - | | user: test 197s - | | date: Mon Jan 01 00:00:13 2007 +0000 197s - | | summary: add gamma 197s - | | 197s - | | o changeset: 2:678ebee93e38 197s - | |/ bookmark: delta 197s - | | tag: default/delta 197s - | | parent: 0:ff7a2f2d8d70 197s - | | user: test 197s - | | date: Mon Jan 01 00:00:12 2007 +0000 197s - | | summary: add delta 197s - | | 197s - o | changeset: 1:7fe02317c63d 197s - |/ tag: t_beta 197s - | user: test 197s - | date: Mon Jan 01 00:00:11 2007 +0000 197s - | summary: add beta 197s - | 197s - @ changeset: 0:ff7a2f2d8d70 197s - bookmark: epsilon 197s - tag: default/epsilon 197s - tag: t_alpha 197s - user: test 197s - date: Mon Jan 01 00:00:10 2007 +0000 197s - summary: add alpha 197s - 197s 197s add old and new commits to the git repo -- make sure we're using the commit date 197s and not the author date 197s @@ -418,15 +1229,8 @@ 197s pulling from $TESTTMP/gitrepo 197s no changes found 197s $ hg -R hgrepo log -r master 197s - changeset: 4:a02330f767a4 197s - bookmark: master 197s - tag: default/master 197s - parent: 3:6f898ad1f3e1 197s - parent: 1:7fe02317c63d 197s - user: test 197s - date: Mon Jan 01 00:00:13 2007 +0000 197s - summary: Merge branch 'beta' 197s - 197s + abort: unknown revision 'master' 197s + [10] 197s 197s $ cd gitrepo 197s $ git checkout -q master 197s @@ -441,50 +1245,93 @@ 197s $ cd .. 197s $ hg -R hgrepo pull 197s pulling from $TESTTMP/gitrepo 197s - importing 3 git commits 197s - updating bookmark master 197s - new changesets 49713da8f665:e103a73f33be (3 drafts) 197s - (run 'hg heads .' to see heads, 'hg merge' to merge) 197s + importing 7 git commits 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 197s + imported = self.import_git_objects( 197s + b'pull', 197s + ...<2 lines>... 197s + heads=heads, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 197s + self.import_git_commit( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + command, 197s + ^^^^^^^^ 197s + self.git[commit.sha], 197s + ^^^^^^^^^^^^^^^^^^^^^ 197s + commit.phase, 197s + ^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 197s + files, gitlinks, git_renames = self.get_files_changed( 197s + ~~~~~~~~~~~~~~~~~~~~~~^ 197s + commit, detect_renames 197s + ^^^^^^^^^^^^^^^^^^^^^^ 197s + ) 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 197s + oldfile, oldmode, oldsha = change.old 197s + ^^^^^^^^^^^^^^^^^^^^^^^^ 197s + TypeError: cannot unpack non-iterable NoneType object 197s + [1] 197s $ hg -R hgrepo heads 197s - changeset: 9:e103a73f33be 197s - bookmark: master 197s - tag: default/master 197s - tag: tip 197s - user: test 197s - date: Wed Jan 01 00:00:00 2014 +0000 197s - summary: newcommit 197s - 197s - changeset: 7:49713da8f665 197s - tag: newtag 197s - tag: oldtag 197s - parent: 4:a02330f767a4 197s - user: test 197s - date: Sat Mar 01 00:00:00 2014 +0000 197s - summary: oldtag 197s - 197s - changeset: 6:a3f95e150b0a 197s - bookmark: releases/v2 197s - tag: default/releases/v2 197s - parent: 4:a02330f767a4 197s - user: test 197s - date: Mon Jan 01 00:00:15 2007 +0000 197s - summary: add eta 197s - 197s - changeset: 5:218b2d0660d3 197s - bookmark: releases/v1 197s - tag: default/releases/v1 197s - user: test 197s - date: Mon Jan 01 00:00:14 2007 +0000 197s - summary: add zeta 197s - 197s - changeset: 2:678ebee93e38 197s - bookmark: delta 197s - tag: default/delta 197s - parent: 0:ff7a2f2d8d70 197s - user: test 197s - date: Mon Jan 01 00:00:12 2007 +0000 197s - summary: add delta 197s - 197s + [1] 197s 197s test for ssh vulnerability 197s 197s @@ -502,10 +1349,162 @@ 197s abort: potentially unsafe hostname: '-oProxyCommand=rm nonexistent' 197s [255] 197s $ hg pull -q 'git+ssh://fakehost|shellcommand/path' 197s - ssh: * fakehost%7?shellcommand* (glob) 197s - abort: git remote error: The remote server unexpectedly closed the connection. 197s - [255] 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 391, in fetch 197s + result = self.fetch_pack(remote.path, heads) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1644, in fetch_pack 197s + ret = self._call_client( 197s + remote, 197s + ...<4 lines>... 197s + progress.progress, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1680, in _call_client 197s + ret = func(path, *args, **kwargs) 197s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 1599, in fetch_pack 197s + proto, can_read, stderr = self._connect(b"upload-pack", path, protocol_version) 197s + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 3139, in _connect 197s + con = self.ssh_vendor.run_command( 197s + self.host, 197s + ...<4 lines>... 197s + **kwargs, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/_ssh.py", line 23, in run_command 197s + assert isinstance(command, str) 197s + ~~~~~~~~~~^^^^^^^^^^^^^^ 197s + AssertionError 197s + [1] 197s $ hg pull -q 'git+ssh://fakehost%7Cshellcommand/path' 197s - ssh: * fakehost%7?shellcommand* (glob) 197s - abort: git remote error: The remote server unexpectedly closed the connection. 197s - [255] 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 5235, in pull 197s + modheads = exchange.pull( 197s + ~~~~~~~~~~~~~^ 197s + repo, 197s + ^^^^^ 197s + ...<6 lines>... 197s + confirm=opts.get('confirm'), 197s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + ).cgresult 197s + ^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 197s + return f(*args, **kwargs) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 197s + pullop.cgresult = repo.githandler.fetch(remote, heads) 197s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 391, in fetch 197s + result = self.fetch_pack(remote.path, heads) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1644, in fetch_pack 197s + ret = self._call_client( 197s + remote, 197s + ...<4 lines>... 197s + progress.progress, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1680, in _call_client 197s + ret = func(path, *args, **kwargs) 197s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 1599, in fetch_pack 197s + proto, can_read, stderr = self._connect(b"upload-pack", path, protocol_version) 197s + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 197s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 3139, in _connect 197s + con = self.ssh_vendor.run_command( 197s + self.host, 197s + ...<4 lines>... 197s + **kwargs, 197s + ) 197s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/_ssh.py", line 23, in run_command 197s + assert isinstance(command, str) 197s + ~~~~~~~~~~^^^^^^^^^^^^^^ 197s + AssertionError 197s + [1] 197s 197s ERROR: test-pull.t#secret output changed 198s ! 198s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-phases-public.t 198s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-phases-public.t#publish-defaults.err 198s @@ -25,148 +25,100 @@ 198s cloning with hggit.usephases publishes cloned HEAD 198s $ hg --config hggit.usephases=True clone -U gitrepo hgrepo 198s importing 1 git commits 198s - new changesets ff7a2f2d8d70 198s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 198s + ** which supports versions 6.9 of Mercurial. 198s + ** Please disable "hggit" and try your action again. 198s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 198s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 198s + ** Mercurial Distributed SCM (version 7.0.1) 198s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 198s + Traceback (most recent call last): 198s + File "/usr/bin/hg", line 51, in 198s + dispatch.run() 198s + ~~~~~~~~~~~~^^ 198s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 198s + status = dispatch(req) 198s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 198s + status = _rundispatch(req) 198s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 198s + ret = _runcatch(req) or 0 198s + ~~~~~~~~~^^^^^ 198s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 198s + return _callcatch(ui, _runcatchfunc) 198s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 198s + return scmutil.callcatch(ui, func) 198s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 198s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 198s + return func() 198s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 198s + return _dispatch(req) 198s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 198s + return runcommand( 198s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 198s + ) 198s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 198s + ret = _runcommand(ui, options, cmd, d) 198s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 198s + return cmdfunc() 198s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 198s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 198s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 198s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 198s + return func(*args, **kwargs) 198s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 198s + r = hg.clone( 198s + ui, 198s + ...<11 lines>... 198s + depth=opts.get('depth') or None, 198s + ) 198s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 198s + srcpeer, destpeer = orig(*args, **opts) 198s + ~~~~^^^^^^^^^^^^^^^ 198s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 198s + exchange.pull( 198s + ~~~~~~~~~~~~~^ 198s + local, 198s + ^^^^^^ 198s + ...<5 lines>... 198s + depth=depth, 198s + ^^^^^^^^^^^^ 198s + ) 198s + ^ 198s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 198s + return f(*args, **kwargs) 198s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 198s + pullop.cgresult = repo.githandler.fetch(remote, heads) 198s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 198s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 198s + imported = self.import_git_objects( 198s + b'pull', 198s + ...<2 lines>... 198s + heads=heads, 198s + ) 198s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 198s + self.import_git_commit( 198s + ~~~~~~~~~~~~~~~~~~~~~~^ 198s + command, 198s + ^^^^^^^^ 198s + self.git[commit.sha], 198s + ^^^^^^^^^^^^^^^^^^^^^ 198s + commit.phase, 198s + ^^^^^^^^^^^^^ 198s + ) 198s + ^ 198s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 198s + files, gitlinks, git_renames = self.get_files_changed( 198s + ~~~~~~~~~~~~~~~~~~~~~~^ 198s + commit, detect_renames 198s + ^^^^^^^^^^^^^^^^^^^^^^ 198s + ) 198s + ^ 198s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 198s + oldfile, oldmode, oldsha = change.old 198s + ^^^^^^^^^^^^^^^^^^^^^^^^ 198s + TypeError: cannot unpack non-iterable NoneType object 198s + [1] 198s 198s $ cd hgrepo 198s + $TESTTMP.sh: 22: cd: can't cd to hgrepo 198s $ hg phase -r master 198s - 0: public 198s - $ cd .. 198s - 198s -pulled changesets are public 198s - $ cd gitrepo 198s - $ git checkout -q master 198s - $ echo beta > beta 198s - $ git add beta 198s - $ fn_git_commit -m 'add beta' 198s - $ git checkout -b not-master 198s - Switched to a new branch 'not-master' 198s - $ echo gamma > gamma 198s - $ git add gamma 198s - $ fn_git_commit -m 'add gamma' 198s - $ git tag thetag 198s - $ echo delta > delta 198s - $ git add delta 198s - $ fn_git_commit -m 'add delta' 198s - $ git checkout master 198s - Switched to branch 'master' 198s - $ cd .. 198s - 198s - $ cd hgrepo 198s - $ cat >>$HGRCPATH < [paths] 198s - > other = $TESTTMP/gitrepo/.git 198s - > [hggit] 198s - > usephases = True 198s - > EOF 198s - 198s - $ hg phase -fd 'all()' 198s - 198s -we can restrict publishing to the remote HEAD and that tag, which 198s -happens to be the same thing here 198s - 198s -#if publish-specific 198s - $ cat >>$HGRCPATH < [git] 198s - > public = default/master, thetag 198s - > EOF 198s -#endif 198s - 198s -pulling publishes the branch 198s - 198s - $ hg phase -r master 198s - 0: draft 198s -#if publish-defaults 198s - $ hg pull -r master other 198s - pulling from $TESTTMP/gitrepo/.git 198s - importing 1 git commits 198s - updating bookmark master 198s - new changesets 7fe02317c63d 198s - 1 local changesets published 198s - (run 'hg update' to get a working copy) 198s -#else 198s - $ hg pull -r master other 198s - pulling from $TESTTMP/gitrepo/.git 198s - importing 1 git commits 198s - updating bookmark master 198s - new changesets 7fe02317c63d (1 drafts) 198s - (run 'hg update' to get a working copy) 198s -#endif 198s - $ hg phase -r master 198s - 1: draft (publish-specific !) 198s - 1: public (publish-defaults !) 198s -#if publish-defaults 198s - $ hg phase -fd master 198s - $ hg pull 198s - pulling from $TESTTMP/gitrepo 198s - importing 2 git commits 198s - adding bookmark not-master 198s - new changesets ca33a262eb46:03769a650ded (1 drafts) 198s - 1 local changesets published 198s - (run 'hg update' to get a working copy) 198s -#else 198s - $ hg pull 198s - pulling from $TESTTMP/gitrepo 198s - importing 2 git commits 198s - adding bookmark not-master 198s - new changesets ca33a262eb46:03769a650ded (1 drafts) 198s - 2 local changesets published 198s - (run 'hg update' to get a working copy) 198s -#endif 198s - $ hg phase -r master -r not-master -r thetag 198s - 1: public 198s - 3: draft 198s - 2: public 198s - 198s -public bookmark not pushed is not published after pull 198s - 198s - $ hg update 0 198s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 198s - $ echo delta > delta 198s - $ hg bookmark not-pushed 198s - $ hg add delta 198s - $ hg commit -m 'add delta' 198s - created new head 198s - $ hg phase -r 'all()' > $TESTTMP/before 198s - $ hg pull --config git.public=master,not-pushed 198s - pulling from $TESTTMP/gitrepo 198s - no changes found 198s - $ hg phase -r 'all()' > $TESTTMP/after 198s - $ cmp -s $TESTTMP/before $TESTTMP/after 198s - $ hg phase -r not-pushed 198s - 4: draft 198s - $ rm $TESTTMP/before $TESTTMP/after 198s - 198s -pushing public bookmark publishes local changesets, but only those 198s -actually pushed 198s - 198s - $ hg update master 198s - 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 198s - (activating bookmark master) 198s - $ echo epsilon > epsilon 198s - $ hg add epsilon 198s - $ hg commit -m 'add epsilon' 198s - created new head 198s - $ hg phase -r 'all() - master' > $TESTTMP/before 198s - $ hg push -B not-pushed 198s - pushing to $TESTTMP/gitrepo 198s - searching for changes 198s - adding objects 198s - remote: found 0 deltas to reuse 198s - added 1 commits with 1 trees and 1 blobs 198s - adding reference refs/heads/not-pushed 198s - $ hg phase -r 'all() - master' > $TESTTMP/after 198s - $ diff $TESTTMP/before $TESTTMP/after | tr '<>' '-+' 198s - $ hg phase -r not-pushed -r master 198s - 4: draft 198s - 5: draft 198s - $ hg push -B master 198s - pushing to $TESTTMP/gitrepo 198s - searching for changes 198s - adding objects 198s - remote: found 0 deltas to reuse 198s - added 1 commits with 1 trees and 1 blobs 198s - updating reference refs/heads/master 198s - $ hg phase -r 'all() - master' > $TESTTMP/after 198s - $ diff $TESTTMP/before $TESTTMP/after | tr '<>' '-+' 198s - $ hg phase -r master 198s - 5: public 198s 198s ERROR: test-phases-public.t#publish-defaults output changed 199s ! 199s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-phases-public.t 199s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-phases-public.t#publish-specific.err 199s @@ -25,148 +25,100 @@ 199s cloning with hggit.usephases publishes cloned HEAD 199s $ hg --config hggit.usephases=True clone -U gitrepo hgrepo 199s importing 1 git commits 199s - new changesets ff7a2f2d8d70 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 2046, in clone 199s + r = hg.clone( 199s + ui, 199s + ...<11 lines>... 199s + depth=opts.get('depth') or None, 199s + ) 199s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 199s + srcpeer, destpeer = orig(*args, **opts) 199s + ~~~~^^^^^^^^^^^^^^^ 199s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 199s + exchange.pull( 199s + ~~~~~~~~~~~~~^ 199s + local, 199s + ^^^^^^ 199s + ...<5 lines>... 199s + depth=depth, 199s + ^^^^^^^^^^^^ 199s + ) 199s + ^ 199s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 199s + return f(*args, **kwargs) 199s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 199s + pullop.cgresult = repo.githandler.fetch(remote, heads) 199s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 199s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 199s + imported = self.import_git_objects( 199s + b'pull', 199s + ...<2 lines>... 199s + heads=heads, 199s + ) 199s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 199s + self.import_git_commit( 199s + ~~~~~~~~~~~~~~~~~~~~~~^ 199s + command, 199s + ^^^^^^^^ 199s + self.git[commit.sha], 199s + ^^^^^^^^^^^^^^^^^^^^^ 199s + commit.phase, 199s + ^^^^^^^^^^^^^ 199s + ) 199s + ^ 199s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 199s + files, gitlinks, git_renames = self.get_files_changed( 199s + ~~~~~~~~~~~~~~~~~~~~~~^ 199s + commit, detect_renames 199s + ^^^^^^^^^^^^^^^^^^^^^^ 199s + ) 199s + ^ 199s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 199s + oldfile, oldmode, oldsha = change.old 199s + ^^^^^^^^^^^^^^^^^^^^^^^^ 199s + TypeError: cannot unpack non-iterable NoneType object 199s + [1] 199s 199s $ cd hgrepo 199s + $TESTTMP.sh: 22: cd: can't cd to hgrepo 199s $ hg phase -r master 199s - 0: public 199s - $ cd .. 199s - 199s -pulled changesets are public 199s - $ cd gitrepo 199s - $ git checkout -q master 199s - $ echo beta > beta 199s - $ git add beta 199s - $ fn_git_commit -m 'add beta' 199s - $ git checkout -b not-master 199s - Switched to a new branch 'not-master' 199s - $ echo gamma > gamma 199s - $ git add gamma 199s - $ fn_git_commit -m 'add gamma' 199s - $ git tag thetag 199s - $ echo delta > delta 199s - $ git add delta 199s - $ fn_git_commit -m 'add delta' 199s - $ git checkout master 199s - Switched to branch 'master' 199s - $ cd .. 199s - 199s - $ cd hgrepo 199s - $ cat >>$HGRCPATH < [paths] 199s - > other = $TESTTMP/gitrepo/.git 199s - > [hggit] 199s - > usephases = True 199s - > EOF 199s - 199s - $ hg phase -fd 'all()' 199s - 199s -we can restrict publishing to the remote HEAD and that tag, which 199s -happens to be the same thing here 199s - 199s -#if publish-specific 199s - $ cat >>$HGRCPATH < [git] 199s - > public = default/master, thetag 199s - > EOF 199s -#endif 199s - 199s -pulling publishes the branch 199s - 199s - $ hg phase -r master 199s - 0: draft 199s -#if publish-defaults 199s - $ hg pull -r master other 199s - pulling from $TESTTMP/gitrepo/.git 199s - importing 1 git commits 199s - updating bookmark master 199s - new changesets 7fe02317c63d 199s - 1 local changesets published 199s - (run 'hg update' to get a working copy) 199s -#else 199s - $ hg pull -r master other 199s - pulling from $TESTTMP/gitrepo/.git 199s - importing 1 git commits 199s - updating bookmark master 199s - new changesets 7fe02317c63d (1 drafts) 199s - (run 'hg update' to get a working copy) 199s -#endif 199s - $ hg phase -r master 199s - 1: draft (publish-specific !) 199s - 1: public (publish-defaults !) 199s -#if publish-defaults 199s - $ hg phase -fd master 199s - $ hg pull 199s - pulling from $TESTTMP/gitrepo 199s - importing 2 git commits 199s - adding bookmark not-master 199s - new changesets ca33a262eb46:03769a650ded (1 drafts) 199s - 1 local changesets published 199s - (run 'hg update' to get a working copy) 199s -#else 199s - $ hg pull 199s - pulling from $TESTTMP/gitrepo 199s - importing 2 git commits 199s - adding bookmark not-master 199s - new changesets ca33a262eb46:03769a650ded (1 drafts) 199s - 2 local changesets published 199s - (run 'hg update' to get a working copy) 199s -#endif 199s - $ hg phase -r master -r not-master -r thetag 199s - 1: public 199s - 3: draft 199s - 2: public 199s - 199s -public bookmark not pushed is not published after pull 199s - 199s - $ hg update 0 199s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 199s - $ echo delta > delta 199s - $ hg bookmark not-pushed 199s - $ hg add delta 199s - $ hg commit -m 'add delta' 199s - created new head 199s - $ hg phase -r 'all()' > $TESTTMP/before 199s - $ hg pull --config git.public=master,not-pushed 199s - pulling from $TESTTMP/gitrepo 199s - no changes found 199s - $ hg phase -r 'all()' > $TESTTMP/after 199s - $ cmp -s $TESTTMP/before $TESTTMP/after 199s - $ hg phase -r not-pushed 199s - 4: draft 199s - $ rm $TESTTMP/before $TESTTMP/after 199s - 199s -pushing public bookmark publishes local changesets, but only those 199s -actually pushed 199s - 199s - $ hg update master 199s - 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 199s - (activating bookmark master) 199s - $ echo epsilon > epsilon 199s - $ hg add epsilon 199s - $ hg commit -m 'add epsilon' 199s - created new head 199s - $ hg phase -r 'all() - master' > $TESTTMP/before 199s - $ hg push -B not-pushed 199s - pushing to $TESTTMP/gitrepo 199s - searching for changes 199s - adding objects 199s - remote: found 0 deltas to reuse 199s - added 1 commits with 1 trees and 1 blobs 199s - adding reference refs/heads/not-pushed 199s - $ hg phase -r 'all() - master' > $TESTTMP/after 199s - $ diff $TESTTMP/before $TESTTMP/after | tr '<>' '-+' 199s - $ hg phase -r not-pushed -r master 199s - 4: draft 199s - 5: draft 199s - $ hg push -B master 199s - pushing to $TESTTMP/gitrepo 199s - searching for changes 199s - adding objects 199s - remote: found 0 deltas to reuse 199s - added 1 commits with 1 trees and 1 blobs 199s - updating reference refs/heads/master 199s - $ hg phase -r 'all() - master' > $TESTTMP/after 199s - $ diff $TESTTMP/before $TESTTMP/after | tr '<>' '-+' 199s - $ hg phase -r master 199s - 5: public 199s 199s ERROR: test-phases-public.t#publish-specific output changed 200s !s 200s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-invalid-refs.t 200s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-invalid-refs.t.err 200s @@ -13,114 +13,100 @@ 200s $ cd .. 200s $ hg clone -U gitrepo hgrepo 200s importing 1 git commits 200s - new changesets ff7a2f2d8d70 (1 drafts) 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 200s + return f(*args, **kwargs) 200s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 200s + pullop.cgresult = repo.githandler.fetch(remote, heads) 200s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 200s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 + [1] 200s 200s $ cd hgrepo 200s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 200s $ hg up master 200s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 200s - (activating bookmark master) 200s - $ fn_hg_tag alph#a 200s - $ fn_hg_tag bet*a 200s - $ fn_hg_tag 'gamm a' 200s - $ hg book -r . delt#a 200s - $ hg book -r . epsil*on 200s - 200s - $ hg gexport 200s - warning: not exporting tag 'bet*a' due to invalid name 200s - warning: not exporting bookmark 'epsil*on' due to invalid name 200s - 200s - $ hg push 200s - pushing to $TESTTMP/gitrepo 200s - warning: not exporting tag 'bet*a' due to invalid name 200s - warning: not exporting bookmark 'epsil*on' due to invalid name 200s - searching for changes 200s - adding objects 200s - remote: found 0 deltas to reuse 200s - added 3 commits with 3 trees and 3 blobs 200s - adding reference refs/heads/delt#a 200s - updating reference refs/heads/master 200s - adding reference refs/tags/alph#a 200s - adding reference refs/tags/gamm_a 200s - 200s - $ hg log --graph 200s - @ changeset: 3:0950ab44ea23 200s - | bookmark: delt#a 200s - | bookmark: epsil*on 200s - | bookmark: master 200s - | tag: default/delt#a 200s - | tag: default/master 200s - | tag: tip 200s - | user: test 200s - | date: Mon Jan 01 00:00:13 2007 +0000 200s - | summary: Added tag gamm a for changeset 0b27ab2b3df6 200s - | 200s - o changeset: 2:0b27ab2b3df6 200s - | tag: gamm a 200s - | user: test 200s - | date: Mon Jan 01 00:00:12 2007 +0000 200s - | summary: Added tag bet*a for changeset 491ceeb1b0f1 200s - | 200s - o changeset: 1:491ceeb1b0f1 200s - | tag: bet*a 200s - | user: test 200s - | date: Mon Jan 01 00:00:11 2007 +0000 200s - | summary: Added tag alph#a for changeset ff7a2f2d8d70 200s - | 200s - o changeset: 0:ff7a2f2d8d70 200s - bookmark: not-master 200s - tag: alph#a 200s - tag: default/not-master 200s - user: test 200s - date: Mon Jan 01 00:00:10 2007 +0000 200s - summary: add alpha 200s - 200s - 200s - $ cd .. 200s - $ cd gitrepo 200s -git should have only the valid tag alph#a but have full commit log including the missing invalid bet*a tag commit 200s - $ git tag -l 200s - alph#a 200s - gamm_a 200s - 200s - $ cd .. 200s - $ hg clone -U gitrepo hgrepo2 200s - importing 4 git commits 200s - new changesets ff7a2f2d8d70:0950ab44ea23 (4 drafts) 200s - $ hg -R hgrepo2 log --graph 200s - o changeset: 3:0950ab44ea23 200s - | bookmark: delt#a 200s - | bookmark: master 200s - | tag: default/delt#a 200s - | tag: default/master 200s - | tag: tip 200s - | user: test 200s - | date: Mon Jan 01 00:00:13 2007 +0000 200s - | summary: Added tag gamm a for changeset 0b27ab2b3df6 200s - | 200s - o changeset: 2:0b27ab2b3df6 200s - | tag: gamm a 200s - | tag: gamm_a 200s - | user: test 200s - | date: Mon Jan 01 00:00:12 2007 +0000 200s - | summary: Added tag bet*a for changeset 491ceeb1b0f1 200s - | 200s - o changeset: 1:491ceeb1b0f1 200s - | tag: bet*a 200s - | user: test 200s - | date: Mon Jan 01 00:00:11 2007 +0000 200s - | summary: Added tag alph#a for changeset ff7a2f2d8d70 200s - | 200s - o changeset: 0:ff7a2f2d8d70 200s - bookmark: not-master 200s - tag: alph#a 200s - tag: default/not-master 200s - user: test 200s - date: Mon Jan 01 00:00:10 2007 +0000 200s - summary: add alpha 200s - 200s - 200s -the tag should be in .hgtags 200s - $ hg cat -r master hgrepo2/.hgtags 200s - ff7a2f2d8d7099694ae1e8b03838d40575bebb63 alph#a 200s - 491ceeb1b0f10d65d956dfcdd3470ac2bc2c96a8 bet*a 200s - 0b27ab2b3df69c6f7defd7040b93e539136db5be gamm a 200s 200s ERROR: test-invalid-refs.t output changed 202s ! 202s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-gc.t 202s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-gc.t.err 202s @@ -26,187 +26,99 @@ 202s $ cd .. 202s $ hg clone -U gitrepo hgrepo 202s importing 100 git commits 202s - new changesets 1c8407413fa3:eda59117ba04 (100 drafts) 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 202s + r = hg.clone( 202s + ui, 202s + ...<11 lines>... 202s + depth=opts.get('depth') or None, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 202s + srcpeer, destpeer = orig(*args, **opts) 202s + ~~~~^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 202s + exchange.pull( 202s + ~~~~~~~~~~~~~^ 202s + local, 202s + ^^^^^^ 202s + ...<5 lines>... 202s + depth=depth, 202s + ^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 202s + return f(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 202s + pullop.cgresult = repo.githandler.fetch(remote, heads) 202s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 202s + imported = self.import_git_objects( 202s + b'pull', 202s + ...<2 lines>... 202s + heads=heads, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 202s + self.import_git_commit( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + command, 202s + ^^^^^^^^ 202s + self.git[commit.sha], 202s + ^^^^^^^^^^^^^^^^^^^^^ 202s + commit.phase, 202s + ^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 202s + files, gitlinks, git_renames = self.get_files_changed( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + commit, detect_renames 202s + ^^^^^^^^^^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 202s + oldfile, oldmode, oldsha = change.old 202s + ^^^^^^^^^^^^^^^^^^^^^^^^ 202s + TypeError: cannot unpack non-iterable NoneType object 202s + [1] 202s $ cd hgrepo 202s + $TESTTMP.sh: 24: cd: can't cd to hgrepo 202s $ hg debug-remove-hggit-state 202s - clearing out the git cache data 202s - 202s ------------ 202s - 202s -Test garbage collection of loose objects into packs. We first test 202s -this with two threads, which is closest to the expected usage 202s -scenario, as almost all computers have at least two cores these days. 202s -The main downside is that this makes the output order unreliable, so 202s -we just sort it. 202s - 202s - $ hg gexport --config hggit.mapsavefrequency=33 --config hggit.threads=2 --debug | grep pack | sort 202s - packed 3 loose objects! 202s - packed 75 loose objects! 202s - packed 78 loose objects! 202s - packed 86 loose objects! 202s - packing 3 loose objects... 202s - packing 75 loose objects... 202s - packing 78 loose objects... 202s - packing 86 loose objects... 202s - $ hg debug-remove-hggit-state 202s - clearing out the git cache data 202s - 202s -Test the actual order of operations -- this uses a single thread, 202s -which means that the packing happens synchronously in the main thread, 202s -giving us a reliable output order. 202s - 202s -In addition, the transaction size is set up such that we happen to do 202s -nothing in the final, synchronous packing that happens on every pull. 202s -Lots of other tests have a map save frequency higher than the total 202s -amount of commits pulled, but let's just trigger that other odd 202s -occurence here. 202s - 202s - $ hg gexport --debug \ 202s - > --config hggit.mapsavefrequency=10 --config hggit.threads=1 | \ 202s - > sed 's/^converting revision.*/./' 202s - finding unexported changesets 202s - exporting 100 changesets 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 202s - packing 30 loose objects... 202s - packed 30 loose objects! 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 202s - packing 25 loose objects... 202s - packed 25 loose objects! 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 202s - packing 25 loose objects... 202s - packed 25 loose objects! 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 202s - packing 24 loose objects... 202s - packed 24 loose objects! 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 202s - packing 24 loose objects... 202s - packed 24 loose objects! 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 202s - packing 24 loose objects... 202s - packed 24 loose objects! 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 202s - packing 24 loose objects... 202s - packed 24 loose objects! 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 202s - packing 23 loose objects... 202s - packed 23 loose objects! 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 202s - packing 22 loose objects... 202s - packed 22 loose objects! 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - . 202s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 202s - packing 21 loose objects... 202s - packed 21 loose objects! 202s - packing 0 loose objects... 202s - packed 0 loose objects! 202s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 202s - $ find .hg/git/objects -type f | grep -Fv .idx | sort 202s - .hg/git/objects/pack/pack-33903607b479000b976a29a349fe0f4dffb0aaac.pack 202s - .hg/git/objects/pack/pack-40d9440e392d9eab62fa38a2ed66cc763d77aca3.pack 202s - .hg/git/objects/pack/pack-4ab2dac268f94e407788d52d6ba087b626c41651.pack 202s - .hg/git/objects/pack/pack-543e3b37bd36218a4dc6611a96d7c218afb78429.pack 202s - .hg/git/objects/pack/pack-5fc80292253ee10d1b86b5c4d9c51b29d2b4ba47.pack 202s - .hg/git/objects/pack/pack-9c636f5f16302fc5fadf0cc4ed42aeb67fc51f6a.pack 202s - .hg/git/objects/pack/pack-ae74b1f0197dfb45cfb13889453860a40103969a.pack 202s - .hg/git/objects/pack/pack-b432e2f477cb765fc0aeaa850d56e04b10392e6c.pack 202s - .hg/git/objects/pack/pack-cf7023660ce10ede2896d1be117f6ba93a261ff9.pack 202s - .hg/git/objects/pack/pack-e601b2af6a91a9cf6817d71f4eb660d2218d4094.pack 202s 202s ERROR: test-gc.t output changed 202s ! 202s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-hook.t 202s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-hook.t.err 202s @@ -41,27 +41,89 @@ 202s | preoutgoing.url=$TESTTMP/repo.git 202s | gitexport.nodes=[b'cc0ffa47c67ebcb08dc50f69afaecb5d622cc777'] 202s | gitexport.git=True 202s - searching for changes 202s - | prechangegroup.source=push 202s - | prechangegroup.git=True 202s - | prechangegroup.url=$TESTTMP/repo.git 202s - | outgoing.source=push 202s - | outgoing.git=True 202s - | outgoing.url=$TESTTMP/repo.git 202s - | outgoing.node=cc0ffa47c67ebcb08dc50f69afaecb5d622cc777 202s - | outgoing.git_node=681fb452693218a33986174228560272a6fad87a 202s - adding objects 202s - remote: found 0 deltas to reuse 202s - added 1 commits with 1 trees and 1 blobs 202s - adding reference refs/heads/master 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 202s + pushop = exchange.push( 202s + repo, 202s + ...<6 lines>... 202s + opargs=opargs, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 202s + return f(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 232, in exchangepush 202s + pushop.cgresult = repo.githandler.push( 202s + ~~~~~~~~~~~~~~~~~~~~^ 202s + remote.path, revs, bookmarks, force 202s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 520, in push 202s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 202s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 202s + all_exportable = self.export_commits() 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 202s + self.export_git_objects() 202s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 202s + packer.pack(synchronous=True) 202s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 202s + _process_batch(self.ui, self.object_store, todo) 202s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 202s + object_store._remove_loose_object(obj.id) 202s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 202s + [1] 202s 202s $ git clone -q ../repo.git ../gitrepo 202s + warning: You appear to have cloned an empty repository. 202s $ cd ../gitrepo 202s $ fn_commit git b 202s $ fn_commit git c 202s $ git push 202s To $TESTTMP/hgrepo/../repo.git 202s - 681fb45..1dab31e master -> master 202s + * [new branch] master -> master 202s $ cd ../hgrepo 202s 202s Hooks on pull? 202s @@ -71,27 +133,93 @@ 202s | gitimport.source=pull 202s | gitimport.git=True 202s | gitimport.names=[b'default'] 202s - | gitimport.refs={b'HEAD': b'1dab31e7bc9691ba42a2fe7b14680694770bc527', b'refs/heads/master': b'1dab31e7bc9691ba42a2fe7b14680694770bc527'} 202s + | gitimport.refs={b'HEAD': b'073d1514b9b792cb98ce11d76b6caa87c4887f5b', b'refs/heads/master': b'073d1514b9b792cb98ce11d76b6caa87c4887f5b'} 202s | gitimport.heads=None 202s importing 2 git commits 202s - : pretxncommit 202s - | incoming.git=True 202s - | incoming.source=pull 202s - | incoming.node=382ad5fa1d7727210384d40fa1539af52ca632c5 202s - | incoming.git_node=92150d1529ccaea34a6b36fe4144993193080499 202s - : pretxncommit 202s - | incoming.git=True 202s - | incoming.source=pull 202s - | incoming.node=892115eea5c32152e09ae4013c9a119d7b534049 202s - | incoming.git_node=1dab31e7bc9691ba42a2fe7b14680694770bc527 202s - updating bookmark master 202s - | changegroup.source=push 202s - | changegroup.git=True 202s - | changegroup.node=382ad5fa1d7727210384d40fa1539af52ca632c5 202s - | changegroup.node_last=892115eea5c32152e09ae4013c9a119d7b534049 202s - new changesets 382ad5fa1d77:892115eea5c3 (2 drafts) 202s - updating to active bookmark master 202s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 202s + modheads = exchange.pull( 202s + ~~~~~~~~~~~~~^ 202s + repo, 202s + ^^^^^ 202s + ...<6 lines>... 202s + confirm=opts.get('confirm'), 202s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + ).cgresult 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 202s + return f(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 202s + pullop.cgresult = repo.githandler.fetch(remote, heads) 202s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 202s + imported = self.import_git_objects( 202s + b'pull', 202s + ...<2 lines>... 202s + heads=heads, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 202s + self.import_git_commit( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + command, 202s + ^^^^^^^^ 202s + self.git[commit.sha], 202s + ^^^^^^^^^^^^^^^^^^^^^ 202s + commit.phase, 202s + ^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 202s + files, gitlinks, git_renames = self.get_files_changed( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + commit, detect_renames 202s + ^^^^^^^^^^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 202s + oldfile, oldmode, oldsha = change.old 202s + ^^^^^^^^^^^^^^^^^^^^^^^^ 202s + TypeError: cannot unpack non-iterable NoneType object 202s + [1] 202s 202s Hooks on push? 202s 202s @@ -102,16 +230,82 @@ 202s | preoutgoing.git=True 202s | preoutgoing.source=push 202s | preoutgoing.url=$TESTTMP/repo.git 202s - | gitexport.nodes=[b'cc6164a17449d58d7811ff3918f33f89c2c83fa5', b'46737f6a4c9d8307b681cbb2e9e2e5419cc87f82'] 202s + | gitexport.nodes=[b'eb13ee910fa61c332b2d3b5eca9f0c08e6c75893', b'450aa114da3b128c1174f32eccdd55539853d173'] 202s | gitexport.git=True 202s - searching for changes 202s - | prechangegroup.source=push 202s - | prechangegroup.git=True 202s - | prechangegroup.url=$TESTTMP/repo.git 202s - adding objects 202s - remote: found 0 deltas to reuse 202s - added 2 commits with 2 trees and 2 blobs 202s - updating reference refs/heads/master 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 202s + pushop = exchange.push( 202s + repo, 202s + ...<6 lines>... 202s + opargs=opargs, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 202s + return f(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 232, in exchangepush 202s + pushop.cgresult = repo.githandler.push( 202s + ~~~~~~~~~~~~~~~~~~~~^ 202s + remote.path, revs, bookmarks, force 202s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 520, in push 202s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 202s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 202s + all_exportable = self.export_commits() 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 202s + self.export_git_objects() 202s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 202s + packer.pack(synchronous=True) 202s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 202s + _process_batch(self.ui, self.object_store, todo) 202s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 202s + object_store._remove_loose_object(obj.id) 202s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 202s + [1] 202s 202s 202s And what does Mercurial do? 202s @@ -133,7 +327,7 @@ 202s adding changesets 202s adding manifests 202s adding file changes 202s - added 5 changesets with 5 changes to 5 files 202s + added 3 changesets with 3 changes to 3 files 202s 202s With more than one head: 202s 202s @@ -154,7 +348,7 @@ 202s adding changesets 202s adding manifests 202s adding file changes 202s - added 7 changesets with 7 changes to 7 files (+1 heads) 202s + added 5 changesets with 5 changes to 5 files (+1 heads) 202s 202s On pull: 202s 202s @@ -171,16 +365,16 @@ 202s adding manifests 202s adding file changes 202s added 1 changesets with 1 changes to 1 files (+1 heads) 202s - new changesets d4097d98a390 202s + new changesets 11a693974ec5 202s | changegroup.txnname=pull 202s file://$TESTTMP/hgrepo-copy 202s | changegroup.source=pull 202s | changegroup.url=file:$TESTTMP/hgrepo-copy 202s - | changegroup.node=d4097d98a3905be88e8a566039b1fdcca06e0d2e 202s - | changegroup.node_last=d4097d98a3905be88e8a566039b1fdcca06e0d2e 202s + | changegroup.node=11a693974ec530e32672629628dde90793335199 202s + | changegroup.node_last=11a693974ec530e32672629628dde90793335199 202s | incoming.txnname=pull 202s file://$TESTTMP/hgrepo-copy 202s | incoming.source=pull 202s | incoming.url=file:$TESTTMP/hgrepo-copy 202s - | incoming.node=d4097d98a3905be88e8a566039b1fdcca06e0d2e 202s + | incoming.node=11a693974ec530e32672629628dde90793335199 202s (run 'hg heads' to see heads) 202s 202s ERROR: test-hook.t output changed 202s ! 202s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-illegal-contents.t 202s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-illegal-contents.t.err 202s @@ -23,19 +23,132 @@ 202s warning: skipping invalid path '.git/hooks/post-update' 202s warning: skipping invalid path 'bar/.gi\xe2\x80\x8ct/wut' 202s warning: skipping invalid path 'foo/git~100/wat' 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/commands.py", line 64, in gexport 202s + repo.githandler.export_commits() 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 202s + self.export_git_objects() 202s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 202s + packer.pack(synchronous=True) 202s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 202s + _process_batch(self.ui, self.object_store, todo) 202s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 202s + object_store._remove_loose_object(obj.id) 202s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 202s + [1] 202s $ GIT_DIR=.hg/git git ls-tree -r --name-only master 202s - this/is/safe 202s + fatal: Not a valid object name master 202s + [128] 202s $ hg debug-remove-hggit-state 202s clearing out the git cache data 202s $ hg gexport --config hggit.invalidpaths=keep 202s warning: path '.git/hooks/post-update' contains an invalid path component 202s warning: path 'bar/.gi\xe2\x80\x8ct/wut' contains an invalid path component 202s warning: path 'foo/git~100/wat' contains an invalid path component 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/commands.py", line 64, in gexport 202s + repo.githandler.export_commits() 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 202s + self.export_git_objects() 202s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 202s + packer.pack(synchronous=True) 202s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 202s + _process_batch(self.ui, self.object_store, todo) 202s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 202s + object_store._remove_loose_object(obj.id) 202s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 202s + [1] 202s $ GIT_DIR=.hg/git git ls-tree -r --name-only master 202s - .git/hooks/post-update 202s - "bar/.gi\342\200\214t/wut" 202s - foo/git~100/wat 202s - this/is/safe 202s + fatal: Not a valid object name master 202s + [128] 202s $ cd .. 202s 202s $ rm -rf hg 202s @@ -53,8 +166,66 @@ 202s $ hg book master 202s $ hg gexport 202s warning: skipping invalid path 'nested/.git/hooks/post-update' 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/commands.py", line 64, in gexport 202s + repo.githandler.export_commits() 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 202s + self.export_git_objects() 202s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 202s + packer.pack(synchronous=True) 202s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 202s + _process_batch(self.ui, self.object_store, todo) 202s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 202s + object_store._remove_loose_object(obj.id) 202s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 202s + [1] 202s $ git clone .hg/git git 202s Cloning into 'git'... 202s + warning: You appear to have cloned an empty repository. 202s done. 202s $ rm -rf git 202s 202s @@ -70,17 +241,74 @@ 202s 202s $ hg --config hggit.invalidpaths=keep gexport 202s warning: path 'nested/.git/hooks/post-update' contains an invalid path component 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/commands.py", line 64, in gexport 202s + repo.githandler.export_commits() 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 202s + self.export_git_objects() 202s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 202s + packer.pack(synchronous=True) 202s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 202s + _process_batch(self.ui, self.object_store, todo) 202s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 202s + object_store._remove_loose_object(obj.id) 202s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 202s + [1] 202s $ cd .. 202s $ # different git versions give different return codes 202s $ git clone hg/.hg/git git || true 202s Cloning into 'git'... 202s - done. 202s - error: [Ii]nvalid path 'nested/\.git/hooks/post-update' (re) 202s + warning: You appear to have cloned an empty repository. 202s fatal: unable to checkout working tree (?) 202s warning: Clone succeeded, but checkout failed. (?) 202s You can inspect what was checked out with 'git status' (?) 202s and retry( the checkout)? with '.*' (re) (?) 202s (?) 202s + done. 202s 202s Now check something that case-folds to .git, which might let you own 202s Mac users: 202s @@ -100,6 +328,63 @@ 202s $ hg ci -m "also refuse to export this" 202s $ hg book master 202s $ hg gexport 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/commands.py", line 64, in gexport 202s + repo.githandler.export_commits() 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 202s + self.export_git_objects() 202s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 202s + packer.pack(synchronous=True) 202s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 202s + _process_batch(self.ui, self.object_store, todo) 202s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 202s + object_store._remove_loose_object(obj.id) 202s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 202s + [1] 202s $ cd .. 202s 202s And the NTFS case: 202s @@ -119,6 +404,63 @@ 202s $ hg book master 202s $ hg gexport 202s warning: skipping invalid path 'GIT~1/hooks/post-checkout' 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/commands.py", line 64, in gexport 202s + repo.githandler.export_commits() 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 202s + self.export_git_objects() 202s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 202s + packer.pack(synchronous=True) 202s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 202s + _process_batch(self.ui, self.object_store, todo) 202s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 202s + object_store._remove_loose_object(obj.id) 202s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 202s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 202s + [1] 202s $ cd .. 202s 202s Now check a Git repository containing a Mercurial repository, which 202s @@ -134,29 +476,294 @@ 202s $ cd .. 202s $ hg clone --config hggit.invalidpaths=abort git hg 202s importing 1 git commits 202s - abort: invalid path 'nested/.hg/00changelog.i' rejected by configuration 202s - (see 'hg help config.hggit.invalidpaths for details) 202s - [255] 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 202s + r = hg.clone( 202s + ui, 202s + ...<11 lines>... 202s + depth=opts.get('depth') or None, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 202s + srcpeer, destpeer = orig(*args, **opts) 202s + ~~~~^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 202s + exchange.pull( 202s + ~~~~~~~~~~~~~^ 202s + local, 202s + ^^^^^^ 202s + ...<5 lines>... 202s + depth=depth, 202s + ^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 202s + return f(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 202s + pullop.cgresult = repo.githandler.fetch(remote, heads) 202s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 202s + imported = self.import_git_objects( 202s + b'pull', 202s + ...<2 lines>... 202s + heads=heads, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 202s + self.import_git_commit( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + command, 202s + ^^^^^^^^ 202s + self.git[commit.sha], 202s + ^^^^^^^^^^^^^^^^^^^^^ 202s + commit.phase, 202s + ^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 202s + files, gitlinks, git_renames = self.get_files_changed( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + commit, detect_renames 202s + ^^^^^^^^^^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 202s + oldfile, oldmode, oldsha = change.old 202s + ^^^^^^^^^^^^^^^^^^^^^^^^ 202s + TypeError: cannot unpack non-iterable NoneType object 202s + [1] 202s $ rm -rf hg 202s $ hg clone --config hggit.invalidpaths=keep git hg 202s importing 1 git commits 202s - warning: path 'nested/.hg/00changelog.i' contains an invalid path component 202s - warning: path 'nested/.hg/requires' contains an invalid path component 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s warning: path 'nested/.hg/store/requires' contains an invalid path component (?) 202s - new changesets [0-9a-f]{12,12} \(1 drafts\) (re) 202s warning: path 'nested/.hg/store/requires' is within a nested repository, which Mercurial cannot check out. (?) 202s - updating to bookmark master 202s - abort: path 'nested/.hg/00changelog.i' is inside nested repo 'nested' 202s - [10] 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 202s + r = hg.clone( 202s + ui, 202s + ...<11 lines>... 202s + depth=opts.get('depth') or None, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 202s + srcpeer, destpeer = orig(*args, **opts) 202s + ~~~~^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 202s + exchange.pull( 202s + ~~~~~~~~~~~~~^ 202s + local, 202s + ^^^^^^ 202s + ...<5 lines>... 202s + depth=depth, 202s + ^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 202s + return f(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 202s + pullop.cgresult = repo.githandler.fetch(remote, heads) 202s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 202s + imported = self.import_git_objects( 202s + b'pull', 202s + ...<2 lines>... 202s + heads=heads, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 202s + self.import_git_commit( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + command, 202s + ^^^^^^^^ 202s + self.git[commit.sha], 202s + ^^^^^^^^^^^^^^^^^^^^^ 202s + commit.phase, 202s + ^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 202s + files, gitlinks, git_renames = self.get_files_changed( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + commit, detect_renames 202s + ^^^^^^^^^^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 202s + oldfile, oldmode, oldsha = change.old 202s + ^^^^^^^^^^^^^^^^^^^^^^^^ 202s + TypeError: cannot unpack non-iterable NoneType object 202s + [1] 202s $ rm -rf hg 202s $ hg clone git hg 202s importing 1 git commits 202s - warning: skipping invalid path 'nested/.hg/00changelog.i' 202s - warning: skipping invalid path 'nested/.hg/requires' 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s warning: skipping invalid path 'nested/.hg/store/requires' (?) 202s - new changesets 3ea18a67c0e6 (1 drafts) 202s - updating to bookmark master 202s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 202s + r = hg.clone( 202s + ui, 202s + ...<11 lines>... 202s + depth=opts.get('depth') or None, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 202s + srcpeer, destpeer = orig(*args, **opts) 202s + ~~~~^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 202s + exchange.pull( 202s + ~~~~~~~~~~~~~^ 202s + local, 202s + ^^^^^^ 202s + ...<5 lines>... 202s + depth=depth, 202s + ^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 202s + return f(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 202s + pullop.cgresult = repo.githandler.fetch(remote, heads) 202s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 202s + imported = self.import_git_objects( 202s + b'pull', 202s + ...<2 lines>... 202s + heads=heads, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 202s + self.import_git_commit( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + command, 202s + ^^^^^^^^ 202s + self.git[commit.sha], 202s + ^^^^^^^^^^^^^^^^^^^^^ 202s + commit.phase, 202s + ^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 202s + files, gitlinks, git_renames = self.get_files_changed( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + commit, detect_renames 202s + ^^^^^^^^^^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 202s + oldfile, oldmode, oldsha = change.old 202s + ^^^^^^^^^^^^^^^^^^^^^^^^ 202s + TypeError: cannot unpack non-iterable NoneType object 202s + [1] 202s $ cd .. 202s 202s Now check a Git repository containing paths with carriage return and 202s @@ -172,22 +779,288 @@ 202s $ cd .. 202s $ hg clone --config hggit.invalidpaths=abort git hg 202s importing 1 git commits 202s - abort: invalid path 'Icon\r' rejected by configuration 202s - (see 'hg help config.hggit.invalidpaths for details) 202s - [255] 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 202s + r = hg.clone( 202s + ui, 202s + ...<11 lines>... 202s + depth=opts.get('depth') or None, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 202s + srcpeer, destpeer = orig(*args, **opts) 202s + ~~~~^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 202s + exchange.pull( 202s + ~~~~~~~~~~~~~^ 202s + local, 202s + ^^^^^^ 202s + ...<5 lines>... 202s + depth=depth, 202s + ^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 202s + return f(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 202s + pullop.cgresult = repo.githandler.fetch(remote, heads) 202s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 202s + imported = self.import_git_objects( 202s + b'pull', 202s + ...<2 lines>... 202s + heads=heads, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 202s + self.import_git_commit( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + command, 202s + ^^^^^^^^ 202s + self.git[commit.sha], 202s + ^^^^^^^^^^^^^^^^^^^^^ 202s + commit.phase, 202s + ^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 202s + files, gitlinks, git_renames = self.get_files_changed( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + commit, detect_renames 202s + ^^^^^^^^^^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 202s + oldfile, oldmode, oldsha = change.old 202s + ^^^^^^^^^^^^^^^^^^^^^^^^ 202s + TypeError: cannot unpack non-iterable NoneType object 202s + [1] 202s $ hg clone --config hggit.invalidpaths=keep git hg 202s importing 1 git commits 202s - warning: skipping invalid path 'Icon\r' 202s - warning: skipping invalid path 'the\nfile' 202s - new changesets 8354c06a5842 (1 drafts) 202s - updating to bookmark master 202s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 202s + r = hg.clone( 202s + ui, 202s + ...<11 lines>... 202s + depth=opts.get('depth') or None, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 202s + srcpeer, destpeer = orig(*args, **opts) 202s + ~~~~^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 202s + exchange.pull( 202s + ~~~~~~~~~~~~~^ 202s + local, 202s + ^^^^^^ 202s + ...<5 lines>... 202s + depth=depth, 202s + ^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 202s + return f(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 202s + pullop.cgresult = repo.githandler.fetch(remote, heads) 202s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 202s + imported = self.import_git_objects( 202s + b'pull', 202s + ...<2 lines>... 202s + heads=heads, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 202s + self.import_git_commit( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + command, 202s + ^^^^^^^^ 202s + self.git[commit.sha], 202s + ^^^^^^^^^^^^^^^^^^^^^ 202s + commit.phase, 202s + ^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 202s + files, gitlinks, git_renames = self.get_files_changed( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + commit, detect_renames 202s + ^^^^^^^^^^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 202s + oldfile, oldmode, oldsha = change.old 202s + ^^^^^^^^^^^^^^^^^^^^^^^^ 202s + TypeError: cannot unpack non-iterable NoneType object 202s + [1] 202s $ rm -rf hg 202s $ hg clone git hg 202s importing 1 git commits 202s - warning: skipping invalid path 'Icon\r' 202s - warning: skipping invalid path 'the\nfile' 202s - new changesets 8354c06a5842 (1 drafts) 202s - updating to bookmark master 202s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 202s - 202s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 202s + ** which supports versions 6.9 of Mercurial. 202s + ** Please disable "hggit" and try your action again. 202s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 202s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 202s + ** Mercurial Distributed SCM (version 7.0.1) 202s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 202s + Traceback (most recent call last): 202s + File "/usr/bin/hg", line 51, in 202s + dispatch.run() 202s + ~~~~~~~~~~~~^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 202s + status = dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 202s + status = _rundispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 202s + ret = _runcatch(req) or 0 202s + ~~~~~~~~~^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 202s + return _callcatch(ui, _runcatchfunc) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 202s + return scmutil.callcatch(ui, func) 202s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 202s + return func() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 202s + return _dispatch(req) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 202s + return runcommand( 202s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 202s + ) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 202s + ret = _runcommand(ui, options, cmd, d) 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 202s + return cmdfunc() 202s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 202s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 202s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 202s + return func(*args, **kwargs) 202s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 202s + r = hg.clone( 202s + ui, 202s + ...<11 lines>... 202s + depth=opts.get('depth') or None, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 202s + srcpeer, destpeer = orig(*args, **opts) 202s + ~~~~^^^^^^^^^^^^^^^ 202s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 202s + exchange.pull( 202s + ~~~~~~~~~~~~~^ 202s + local, 202s + ^^^^^^ 202s + ...<5 lines>... 202s + depth=depth, 202s + ^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 202s + return f(*args, **kwargs) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 202s + pullop.cgresult = repo.githandler.fetch(remote, heads) 202s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 202s + imported = self.import_git_objects( 202s + b'pull', 202s + ...<2 lines>... 202s + heads=heads, 202s + ) 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 202s + self.import_git_commit( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + command, 202s + ^^^^^^^^ 202s + self.git[commit.sha], 202s + ^^^^^^^^^^^^^^^^^^^^^ 202s + commit.phase, 202s + ^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 202s + files, gitlinks, git_renames = self.get_files_changed( 202s + ~~~~~~~~~~~~~~~~~~~~~~^ 202s + commit, detect_renames 202s + ^^^^^^^^^^^^^^^^^^^^^^ 202s + ) 202s + ^ 202s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 202s + oldfile, oldmode, oldsha = change.old 202s + ^^^^^^^^^^^^^^^^^^^^^^^^ 202s + TypeError: cannot unpack non-iterable NoneType object 202s + [1] 202s + 202s 202s ERROR: test-illegal-contents.t output changed 203s ! 203s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-serve-hg.t 203s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-serve-hg.t#with-hggit.err 203s @@ -32,10 +32,101 @@ 203s 203s $ hg clone gitrepo hgrepo 203s importing 2 git commits 203s - new changesets f488b65fa424:c61c38c3d614 (2 drafts) 203s - updating to bookmark master 203s - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved 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 2046, in clone 203s + r = hg.clone( 203s + ui, 203s + ...<11 lines>... 203s + depth=opts.get('depth') or None, 203s + ) 203s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 203s + srcpeer, destpeer = orig(*args, **opts) 203s + ~~~~^^^^^^^^^^^^^^^ 203s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 203s + exchange.pull( 203s + ~~~~~~~~~~~~~^ 203s + local, 203s + ^^^^^^ 203s + ...<5 lines>... 203s + depth=depth, 203s + ^^^^^^^^^^^^ 203s + ) 203s + ^ 203s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 203s + return f(*args, **kwargs) 203s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 203s + pullop.cgresult = repo.githandler.fetch(remote, heads) 203s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 203s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 203s + imported = self.import_git_objects( 203s + b'pull', 203s + ...<2 lines>... 203s + heads=heads, 203s + ) 203s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 203s + self.import_git_commit( 203s + ~~~~~~~~~~~~~~~~~~~~~~^ 203s + command, 203s + ^^^^^^^^ 203s + self.git[commit.sha], 203s + ^^^^^^^^^^^^^^^^^^^^^ 203s + commit.phase, 203s + ^^^^^^^^^^^^^ 203s + ) 203s + ^ 203s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 203s + files, gitlinks, git_renames = self.get_files_changed( 203s + ~~~~~~~~~~~~~~~~~~~~~~^ 203s + commit, detect_renames 203s + ^^^^^^^^^^^^^^^^^^^^^^ 203s + ) 203s + ^ 203s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 203s + oldfile, oldmode, oldsha = change.old 203s + ^^^^^^^^^^^^^^^^^^^^^^^^ 203s + TypeError: cannot unpack non-iterable NoneType object 203s + [1] 203s $ cd hgrepo 203s + $TESTTMP.sh: 41: cd: can't cd to hgrepo 203s $ cat >> .hg/hgrc < [push] 203s > pushvars.server = true 203s @@ -45,81 +136,3 @@ 203s > [hooks] 203s > pretxnchangegroup = env | grep HG_USERVAR_ || true 203s > EOF 203s - $ hg serve -p $HGPORT -d --pid-file=../hg1.pid -E ../error.log 203s - $ hg --config server.uncompressed=False serve -p $HGPORT1 -d --pid-file=../hg2.pid 203s - 203s -Test server address cannot be reused 203s - 203s -#if windows 203s - $ hg serve -p $HGPORT1 2>&1 203s - abort: cannot start server at '*:$HGPORT1': * (glob) 203s - [255] 203s -#else 203s - $ hg serve -p $HGPORT1 2>&1 203s - abort: cannot start server at '*:$HGPORT1': Address* in use (glob) 203s - [255] 203s -#endif 203s - $ cd .. 203s - $ cat hg1.pid hg2.pid >> $DAEMON_PIDS 203s - 203s -Make sure that clone regular mercurial repos over http doesn't break, 203s -and that we can transfer the hg-git metadata 203s - 203s - $ hg clone http://localhost:$HGPORT/ copy 2>&1 203s - requesting all changes 203s - adding changesets 203s - adding manifests 203s - adding file changes 203s - added 2 changesets with 4 changes to 4 files 203s - new changesets f488b65fa424:c61c38c3d614 (?) 203s - updating to branch default 203s - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved 203s - 203s -And it shouldn't create a Git repository needlessly: 203s - $ test -e copy/git 203s - [1] 203s - $ cd copy 203s - 203s -#if without-hggit 203s - $ hg tags 203s - tip 1:c61c38c3d614 203s - $ hg log -T '{rev}:{node|short} | {bookmarks} | {gitnode} |\n' 203s - 1:c61c38c3d614 | master | | 203s - 0:f488b65fa424 | | | 203s - $ hg pull -u ../gitrepo 203s - pulling from ../gitrepo 203s - importing 2 git commits 203s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 203s -#else 203s - $ hg tags 203s - tip 1:c61c38c3d614 203s - thetag 0:f488b65fa424 203s - $ hg log -T '{rev}:{node|short} | {bookmarks} | {gitnode} |\n' 203s - 1:c61c38c3d614 | master | 95bcbb72932335c132c10950b5e5dc1066138ea1 | 203s - 0:f488b65fa424 | | a874aa4c9506ed30ef2c2c7313abd2c518e9e71e | 203s - $ hg pull -u ../gitrepo 203s - pulling from ../gitrepo 203s - warning: created new git repository at $TESTTMP/copy/.hg/git 203s - no changes found 203s -#endif 203s - 203s - $ hg tags 203s - tip 1:c61c38c3d614 203s - thetag 0:f488b65fa424 203s - $ hg log -T '{rev}:{node|short} | {bookmarks} | {gitnode} |\n' 203s - 1:c61c38c3d614 | master | 95bcbb72932335c132c10950b5e5dc1066138ea1 | 203s - 0:f488b65fa424 | | a874aa4c9506ed30ef2c2c7313abd2c518e9e71e | 203s - 203s -Furthermore, make sure that we pass all arguments when pushing: 203s - 203s - $ echo baz > baz 203s - $ fn_hg_commit -A -m baz 203s - $ hg push --pushvars FOO=BAR 203s - pushing to http://localhost:$HGPORT/ 203s - searching for changes 203s - remote: adding changesets 203s - remote: adding manifests 203s - remote: adding file changes 203s - remote: HG_USERVAR_FOO=BAR 203s - remote: added 1 changesets with 1 changes to 1 files 203s - $ cd .. 203s 203s ERROR: test-serve-hg.t#with-hggit output changed 204s ! 204s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push-to-head.t 204s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push-to-head.t.err 204s @@ -15,64 +15,99 @@ 204s 204s $ hg clone gitrepo hgrepo 204s importing 1 git commits 204s - new changesets ff7a2f2d8d70 (1 drafts) 204s - updating to bookmark master 204s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 204s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 204s + ** which supports versions 6.9 of Mercurial. 204s + ** Please disable "hggit" and try your action again. 204s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 204s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 204s + ** Mercurial Distributed SCM (version 7.0.1) 204s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 204s + Traceback (most recent call last): 204s + File "/usr/bin/hg", line 51, in 204s + dispatch.run() 204s + ~~~~~~~~~~~~^^ 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 204s + status = dispatch(req) 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 204s + status = _rundispatch(req) 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 204s + ret = _runcatch(req) or 0 204s + ~~~~~~~~~^^^^^ 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 204s + return _callcatch(ui, _runcatchfunc) 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 204s + return scmutil.callcatch(ui, func) 204s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 204s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 204s + return func() 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 204s + return _dispatch(req) 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 204s + return runcommand( 204s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 204s + ) 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 204s + ret = _runcommand(ui, options, cmd, d) 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 204s + return cmdfunc() 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 204s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 204s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 204s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 204s + return func(*args, **kwargs) 204s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 204s + r = hg.clone( 204s + ui, 204s + ...<11 lines>... 204s + depth=opts.get('depth') or None, 204s + ) 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 204s + srcpeer, destpeer = orig(*args, **opts) 204s + ~~~~^^^^^^^^^^^^^^^ 204s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 204s + exchange.pull( 204s + ~~~~~~~~~~~~~^ 204s + local, 204s + ^^^^^^ 204s + ...<5 lines>... 204s + depth=depth, 204s + ^^^^^^^^^^^^ 204s + ) 204s + ^ 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 204s + return f(*args, **kwargs) 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 204s + pullop.cgresult = repo.githandler.fetch(remote, heads) 204s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 204s + imported = self.import_git_objects( 204s + b'pull', 204s + ...<2 lines>... 204s + heads=heads, 204s + ) 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 204s + self.import_git_commit( 204s + ~~~~~~~~~~~~~~~~~~~~~~^ 204s + command, 204s + ^^^^^^^^ 204s + self.git[commit.sha], 204s + ^^^^^^^^^^^^^^^^^^^^^ 204s + commit.phase, 204s + ^^^^^^^^^^^^^ 204s + ) 204s + ^ 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 204s + files, gitlinks, git_renames = self.get_files_changed( 204s + ~~~~~~~~~~~~~~~~~~~~~~^ 204s + commit, detect_renames 204s + ^^^^^^^^^^^^^^^^^^^^^^ 204s + ) 204s + ^ 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 204s + oldfile, oldmode, oldsha = change.old 204s + ^^^^^^^^^^^^^^^^^^^^^^^^ 204s + TypeError: cannot unpack non-iterable NoneType object 204s + [1] 204s $ cd hgrepo 204s + $TESTTMP.sh: 18: cd: can't cd to hgrepo 204s $ echo beta > beta 204s - $ fn_hg_commit -A -m "add beta" 204s - 204s -The output is confusing, and this even more-so: 204s - 204s - $ hg push 204s - pushing to $TESTTMP/gitrepo 204s - searching for changes 204s - adding objects 204s - remote: found 0 deltas to reuse 204s - remote: error: refusing to update checked out branch: refs/heads/master 204s - remote: error: By default, updating the current branch in a non-bare repository 204s - remote: is denied, because it will make the index and work tree inconsistent 204s - remote: with what you pushed, and will require 'git reset --hard' to match 204s - remote: the work tree to HEAD. 204s - remote: 204s - remote: You can set the 'receive.denyCurrentBranch' configuration variable 204s - remote: to 'ignore' or 'warn' in the remote repository to allow pushing into 204s - remote: its current branch; however, this is not recommended unless you 204s - remote: arranged to update its work tree to match what you pushed in some 204s - remote: other way. 204s - remote: 204s - remote: To squelch this message and still keep the default behaviour, set 204s - remote: 'receive.denyCurrentBranch' configuration variable to 'refuse'. 204s - added 1 commits with 1 trees and 1 blobs 204s - warning: failed to update refs/heads/master; branch is currently checked out 204s - 204s - $ hg push 204s - pushing to $TESTTMP/gitrepo 204s - searching for changes 204s - adding objects 204s - remote: found 0 deltas to reuse 204s - remote: error: refusing to update checked out branch: refs/heads/master 204s - remote: error: By default, updating the current branch in a non-bare repository 204s - remote: is denied, because it will make the index and work tree inconsistent 204s - remote: with what you pushed, and will require 'git reset --hard' to match 204s - remote: the work tree to HEAD. 204s - remote: 204s - remote: You can set the 'receive.denyCurrentBranch' configuration variable 204s - remote: to 'ignore' or 'warn' in the remote repository to allow pushing into 204s - remote: its current branch; however, this is not recommended unless you 204s - remote: arranged to update its work tree to match what you pushed in some 204s - remote: other way. 204s - remote: 204s - remote: To squelch this message and still keep the default behaviour, set 204s - remote: 'receive.denyCurrentBranch' configuration variable to 'refuse'. 204s - added 1 commits with 1 trees and 1 blobs 204s - warning: failed to update refs/heads/master; branch is currently checked out 204s - 204s -Show that it really didn't get pushed: 204s - 204s - $ hg tags 204s - tip 1:47580592d3d6 204s - default/master 0:ff7a2f2d8d70 204s - $ cd ../gitrepo 204s - $ git log --all --oneline --decorate 204s - 7eeab2e (HEAD -> master) add alpha 204s 204s ERROR: test-push-to-head.t output changed 204s ! 204s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-serve-hg.t 204s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-serve-hg.t#without-hggit.err 204s @@ -32,10 +32,101 @@ 204s 204s $ hg clone gitrepo hgrepo 204s importing 2 git commits 204s - new changesets f488b65fa424:c61c38c3d614 (2 drafts) 204s - updating to bookmark master 204s - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved 204s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 204s + ** which supports versions 6.9 of Mercurial. 204s + ** Please disable "hggit" and try your action again. 204s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 204s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 204s + ** Mercurial Distributed SCM (version 7.0.1) 204s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 204s + Traceback (most recent call last): 204s + File "/usr/bin/hg", line 51, in 204s + dispatch.run() 204s + ~~~~~~~~~~~~^^ 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 204s + status = dispatch(req) 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 204s + status = _rundispatch(req) 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 204s + ret = _runcatch(req) or 0 204s + ~~~~~~~~~^^^^^ 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 204s + return _callcatch(ui, _runcatchfunc) 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 204s + return scmutil.callcatch(ui, func) 204s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 204s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 204s + return func() 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 204s + return _dispatch(req) 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 204s + return runcommand( 204s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 204s + ) 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 204s + ret = _runcommand(ui, options, cmd, d) 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 204s + return cmdfunc() 204s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 204s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 204s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 204s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 204s + return func(*args, **kwargs) 204s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 204s + r = hg.clone( 204s + ui, 204s + ...<11 lines>... 204s + depth=opts.get('depth') or None, 204s + ) 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 204s + srcpeer, destpeer = orig(*args, **opts) 204s + ~~~~^^^^^^^^^^^^^^^ 204s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 204s + exchange.pull( 204s + ~~~~~~~~~~~~~^ 204s + local, 204s + ^^^^^^ 204s + ...<5 lines>... 204s + depth=depth, 204s + ^^^^^^^^^^^^ 204s + ) 204s + ^ 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 204s + return f(*args, **kwargs) 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 204s + pullop.cgresult = repo.githandler.fetch(remote, heads) 204s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 204s + imported = self.import_git_objects( 204s + b'pull', 204s + ...<2 lines>... 204s + heads=heads, 204s + ) 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 204s + self.import_git_commit( 204s + ~~~~~~~~~~~~~~~~~~~~~~^ 204s + command, 204s + ^^^^^^^^ 204s + self.git[commit.sha], 204s + ^^^^^^^^^^^^^^^^^^^^^ 204s + commit.phase, 204s + ^^^^^^^^^^^^^ 204s + ) 204s + ^ 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 204s + files, gitlinks, git_renames = self.get_files_changed( 204s + ~~~~~~~~~~~~~~~~~~~~~~^ 204s + commit, detect_renames 204s + ^^^^^^^^^^^^^^^^^^^^^^ 204s + ) 204s + ^ 204s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 204s + oldfile, oldmode, oldsha = change.old 204s + ^^^^^^^^^^^^^^^^^^^^^^^^ 204s + TypeError: cannot unpack non-iterable NoneType object 204s + [1] 204s $ cd hgrepo 204s + $TESTTMP.sh: 36: cd: can't cd to hgrepo 204s $ cat >> .hg/hgrc < [push] 204s > pushvars.server = true 204s @@ -45,81 +136,3 @@ 204s > [hooks] 204s > pretxnchangegroup = env | grep HG_USERVAR_ || true 204s > EOF 204s - $ hg serve -p $HGPORT -d --pid-file=../hg1.pid -E ../error.log 204s - $ hg --config server.uncompressed=False serve -p $HGPORT1 -d --pid-file=../hg2.pid 204s - 204s -Test server address cannot be reused 204s - 204s -#if windows 204s - $ hg serve -p $HGPORT1 2>&1 204s - abort: cannot start server at '*:$HGPORT1': * (glob) 204s - [255] 204s -#else 204s - $ hg serve -p $HGPORT1 2>&1 204s - abort: cannot start server at '*:$HGPORT1': Address* in use (glob) 204s - [255] 204s -#endif 204s - $ cd .. 204s - $ cat hg1.pid hg2.pid >> $DAEMON_PIDS 204s - 204s -Make sure that clone regular mercurial repos over http doesn't break, 204s -and that we can transfer the hg-git metadata 204s - 204s - $ hg clone http://localhost:$HGPORT/ copy 2>&1 204s - requesting all changes 204s - adding changesets 204s - adding manifests 204s - adding file changes 204s - added 2 changesets with 4 changes to 4 files 204s - new changesets f488b65fa424:c61c38c3d614 (?) 204s - updating to branch default 204s - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved 204s - 204s -And it shouldn't create a Git repository needlessly: 204s - $ test -e copy/git 204s - [1] 204s - $ cd copy 204s - 204s -#if without-hggit 204s - $ hg tags 204s - tip 1:c61c38c3d614 204s - $ hg log -T '{rev}:{node|short} | {bookmarks} | {gitnode} |\n' 204s - 1:c61c38c3d614 | master | | 204s - 0:f488b65fa424 | | | 204s - $ hg pull -u ../gitrepo 204s - pulling from ../gitrepo 204s - importing 2 git commits 204s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 204s -#else 204s - $ hg tags 204s - tip 1:c61c38c3d614 204s - thetag 0:f488b65fa424 204s - $ hg log -T '{rev}:{node|short} | {bookmarks} | {gitnode} |\n' 204s - 1:c61c38c3d614 | master | 95bcbb72932335c132c10950b5e5dc1066138ea1 | 204s - 0:f488b65fa424 | | a874aa4c9506ed30ef2c2c7313abd2c518e9e71e | 204s - $ hg pull -u ../gitrepo 204s - pulling from ../gitrepo 204s - warning: created new git repository at $TESTTMP/copy/.hg/git 204s - no changes found 204s -#endif 204s - 204s - $ hg tags 204s - tip 1:c61c38c3d614 204s - thetag 0:f488b65fa424 204s - $ hg log -T '{rev}:{node|short} | {bookmarks} | {gitnode} |\n' 204s - 1:c61c38c3d614 | master | 95bcbb72932335c132c10950b5e5dc1066138ea1 | 204s - 0:f488b65fa424 | | a874aa4c9506ed30ef2c2c7313abd2c518e9e71e | 204s - 204s -Furthermore, make sure that we pass all arguments when pushing: 204s - 204s - $ echo baz > baz 204s - $ fn_hg_commit -A -m baz 204s - $ hg push --pushvars FOO=BAR 204s - pushing to http://localhost:$HGPORT/ 204s - searching for changes 204s - remote: adding changesets 204s - remote: adding manifests 204s - remote: adding file changes 204s - remote: HG_USERVAR_FOO=BAR 204s - remote: added 1 changesets with 1 changes to 1 files 204s - $ cd .. 204s 204s ERROR: test-serve-hg.t#without-hggit output changed 206s ! 206s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-orphan-tags.t 206s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-orphan-tags.t.err 206s @@ -62,16 +62,105 @@ 206s 206s $ hg clone -U repo.git hgrepo 206s importing 4 git commits 206s - new changesets b8e77484829b:387d03400596 (4 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 206s + return f(*args, **kwargs) 206s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 206s + pullop.cgresult = repo.githandler.fetch(remote, heads) 206s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 206s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 outgoing -R hgrepo 206s - comparing with $TESTTMP/repo.git 206s - searching for changes 206s - no changes found 206s + abort: repository hgrepo not found 206s + [255] 206s + $ hg push --debug -R hgrepo | grep -e reference -e found 206s + abort: repository hgrepo not found 206s [1] 206s - $ hg push --debug -R hgrepo | grep -e reference -e found 206s - unchanged reference default::refs/heads/master => GIT:996e5084 206s - unchanged reference default::refs/tags/the_tag => GIT:e4338156 206s - no changes found 206s 206s Verify that we can push this tag, and that outgoing doesn't report 206s them (#358) 206s @@ -83,33 +172,5 @@ 206s To $TESTTMP/repo.git 206s - [deleted] the_tag 206s $ cd ../hgrepo 206s + $TESTTMP.sh: 72: cd: can't cd to ../hgrepo 206s $ hg outgoing 206s - comparing with $TESTTMP/repo.git 206s - searching for changes 206s - changeset: 2:7b35eb0afb3f 206s - tag: the_tag 206s - user: test 206s - date: Mon Jan 01 00:00:12 2007 +0000 206s - summary: add foo3 206s - 206s - $ hg push --debug 206s - pushing to $TESTTMP/repo.git 206s - finding unexported changesets 206s - saving git map to $TESTTMP/hgrepo/.hg/git-mapfile 206s - searching for changes 206s - remote: counting objects: 5, done. 206s - 1 commits found 206s - list of commits: 206s - e12852326ef72772e9696b008ad6546b5266ff13 206s - adding objects 206s - remote: counting objects: 5, done. 206s - remote: found 0 deltas to reuse 206s - added 1 commits with 1 trees and 0 blobs 206s - unchanged reference default::refs/heads/master => GIT:996e5084 206s - adding reference default::refs/tags/the_tag => GIT:e4338156 206s - $ cd ../gitrepo 206s - $ git fetch 206s - From $TESTTMP/repo 206s - * [new tag] the_tag -> the_tag 206s - $ git tag -ln 206s - the_tag Tag message 206s 206s ERROR: test-orphan-tags.t output changed 207s !. 207s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-git-workflow.t 207s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-git-workflow.t.err 207s @@ -39,11 +39,68 @@ 207s $ hg debuggitdir 207s $TESTTMP/gitrepo/.git 207s $ hg gexport 207s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 207s + ** which supports versions 6.9 of Mercurial. 207s + ** Please disable "hggit" and try your action again. 207s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 207s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 207s + ** Mercurial Distributed SCM (version 7.0.1) 207s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 207s + Traceback (most recent call last): 207s + File "/usr/bin/hg", line 51, in 207s + dispatch.run() 207s + ~~~~~~~~~~~~^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 207s + status = dispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 207s + status = _rundispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 207s + ret = _runcatch(req) or 0 207s + ~~~~~~~~~^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 207s + return _callcatch(ui, _runcatchfunc) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 207s + return scmutil.callcatch(ui, func) 207s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 207s + return func() 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 207s + return _dispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 207s + return runcommand( 207s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 207s + ) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 207s + ret = _runcommand(ui, options, cmd, d) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 207s + return cmdfunc() 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 207s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 207s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 207s + return func(*args, **kwargs) 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/commands.py", line 64, in gexport 207s + repo.githandler.export_commits() 207s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 207s + self.export_git_objects() 207s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 207s + packer.pack(synchronous=True) 207s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 207s + _process_batch(self.ui, self.object_store, todo) 207s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 207s + object_store._remove_loose_object(obj.id) 207s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 207s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 207s + [1] 207s 207s do some work 207s $ git config core.bare false 207s $ git checkout master 2>&1 | sed s/\'/\"/g 207s - Already on "master" 207s + error: pathspec "master" did not match any file(s) known to git 207s $ echo beta > beta 207s $ git add beta 207s $ fn_git_commit -m 'add beta' 207s @@ -51,25 +108,79 @@ 207s get things back to hg 207s $ hg gimport 207s importing 1 git commits 207s - updating bookmark master 207s - new changesets 9f124f3c1fc2 (1 drafts) 207s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 207s + ** which supports versions 6.9 of Mercurial. 207s + ** Please disable "hggit" and try your action again. 207s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 207s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 207s + ** Mercurial Distributed SCM (version 7.0.1) 207s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 207s + Traceback (most recent call last): 207s + File "/usr/bin/hg", line 51, in 207s + dispatch.run() 207s + ~~~~~~~~~~~~^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 207s + status = dispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 207s + status = _rundispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 207s + ret = _runcatch(req) or 0 207s + ~~~~~~~~~^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 207s + return _callcatch(ui, _runcatchfunc) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 207s + return scmutil.callcatch(ui, func) 207s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 207s + return func() 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 207s + return _dispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 207s + return runcommand( 207s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 207s + ) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 207s + ret = _runcommand(ui, options, cmd, d) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 207s + return cmdfunc() 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 207s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 207s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 207s + return func(*args, **kwargs) 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/commands.py", line 46, in gimport 207s + repo.githandler.import_commits(remote_name) 207s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 388, in import_commits 207s + self.import_git_objects(b'gimport', remote_names, refs) 207s + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 207s + self.import_git_commit( 207s + ~~~~~~~~~~~~~~~~~~~~~~^ 207s + command, 207s + ^^^^^^^^ 207s + self.git[commit.sha], 207s + ^^^^^^^^^^^^^^^^^^^^^ 207s + commit.phase, 207s + ^^^^^^^^^^^^^ 207s + ) 207s + ^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 207s + files, gitlinks, git_renames = self.get_files_changed( 207s + ~~~~~~~~~~~~~~~~~~~~~~^ 207s + commit, detect_renames 207s + ^^^^^^^^^^^^^^^^^^^^^^ 207s + ) 207s + ^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 207s + oldfile, oldmode, oldsha = change.old 207s + ^^^^^^^^^^^^^^^^^^^^^^^^ 207s + TypeError: cannot unpack non-iterable NoneType object 207s + [1] 207s $ hg log --graph --debug | grep -v phase: 207s - o changeset: 1:9f124f3c1fc29a14f5eb027c24811b0ac9d5ff10 207s - | bookmark: master 207s - | tag: tip 207s - | parent: 0:0221c246a56712c6aa64e5ee382244d8a471b1e2 207s - | parent: -1:0000000000000000000000000000000000000000 207s - | manifest: 1:f0bd6fbafbaebe4bb59c35108428f6fce152431d 207s - | user: test 207s - | date: Mon Jan 01 00:00:11 2007 +0000 207s - | files+: beta 207s - | extra: branch=default 207s - | extra: hg-git-rename-source=git 207s - | description: 207s - | add beta 207s - | 207s - | 207s o changeset: 0:0221c246a56712c6aa64e5ee382244d8a471b1e2 207s + bookmark: master 207s + tag: tip 207s parent: -1:0000000000000000000000000000000000000000 207s parent: -1:0000000000000000000000000000000000000000 207s manifest: 0:8b8a0e87dfd7a0706c0524afa8ba67e20544cbf0 207s @@ -83,7 +194,7 @@ 207s 207s gimport should have updated the bookmarks as well 207s $ hg bookmarks 207s - master 1:9f124f3c1fc2 207s + master 0:0221c246a567 207s 207s gimport support for git.mindate 207s $ cat >> .hg/hgrc << EOF 207s @@ -98,14 +209,9 @@ 207s $ hg gimport 207s no changes found 207s $ hg log --graph 207s - o changeset: 1:9f124f3c1fc2 207s - | bookmark: master 207s - | tag: tip 207s - | user: test 207s - | date: Mon Jan 01 00:00:11 2007 +0000 207s - | summary: add beta 207s - | 207s o changeset: 0:0221c246a567 207s + bookmark: master 207s + tag: tip 207s user: test 207s date: Mon Jan 01 00:00:10 2007 +0000 207s summary: add alpha 207s @@ -117,28 +223,80 @@ 207s > GIT_COMMITTER_DATE="2014-01-02 00:00:00 +0000" \ 207s > git commit -m newcommit > /dev/null || echo "git commit error" 207s $ hg gimport 207s - importing 2 git commits 207s - updating bookmark master 207s - new changesets befdecd14df5:3d10b7289d79 (2 drafts) 207s + importing 3 git commits 207s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 207s + ** which supports versions 6.9 of Mercurial. 207s + ** Please disable "hggit" and try your action again. 207s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 207s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 207s + ** Mercurial Distributed SCM (version 7.0.1) 207s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 207s + Traceback (most recent call last): 207s + File "/usr/bin/hg", line 51, in 207s + dispatch.run() 207s + ~~~~~~~~~~~~^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 207s + status = dispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 207s + status = _rundispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 207s + ret = _runcatch(req) or 0 207s + ~~~~~~~~~^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 207s + return _callcatch(ui, _runcatchfunc) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 207s + return scmutil.callcatch(ui, func) 207s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 207s + return func() 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 207s + return _dispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 207s + return runcommand( 207s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 207s + ) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 207s + ret = _runcommand(ui, options, cmd, d) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 207s + return cmdfunc() 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 207s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 207s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 207s + return func(*args, **kwargs) 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/commands.py", line 46, in gimport 207s + repo.githandler.import_commits(remote_name) 207s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 388, in import_commits 207s + self.import_git_objects(b'gimport', remote_names, refs) 207s + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 207s + self.import_git_commit( 207s + ~~~~~~~~~~~~~~~~~~~~~~^ 207s + command, 207s + ^^^^^^^^ 207s + self.git[commit.sha], 207s + ^^^^^^^^^^^^^^^^^^^^^ 207s + commit.phase, 207s + ^^^^^^^^^^^^^ 207s + ) 207s + ^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 207s + files, gitlinks, git_renames = self.get_files_changed( 207s + ~~~~~~~~~~~~~~~~~~~~~~^ 207s + commit, detect_renames 207s + ^^^^^^^^^^^^^^^^^^^^^^ 207s + ) 207s + ^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 207s + oldfile, oldmode, oldsha = change.old 207s + ^^^^^^^^^^^^^^^^^^^^^^^^ 207s + TypeError: cannot unpack non-iterable NoneType object 207s + [1] 207s $ hg log --graph 207s - o changeset: 3:3d10b7289d79 207s - | bookmark: master 207s - | tag: tip 207s - | user: test 207s - | date: Wed Jan 01 00:00:00 2014 +0000 207s - | summary: newcommit 207s - | 207s - o changeset: 2:befdecd14df5 207s - | user: test 207s - | date: Sat Mar 01 00:00:00 2014 +0000 207s - | summary: oldcommit 207s - | 207s - o changeset: 1:9f124f3c1fc2 207s - | user: test 207s - | date: Mon Jan 01 00:00:11 2007 +0000 207s - | summary: add beta 207s - | 207s o changeset: 0:0221c246a567 207s + bookmark: master 207s + tag: tip 207s user: test 207s date: Mon Jan 01 00:00:10 2007 +0000 207s summary: add alpha 207s 207s ERROR: test-git-workflow.t output changed 207s ! 207s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-hg-branch.t 207s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-hg-branch.t.err 207s @@ -13,81 +13,100 @@ 207s $ cd .. 207s $ hg clone gitrepo hgrepo 207s importing 1 git commits 207s - new changesets ff7a2f2d8d70 (1 drafts) 207s - updating to bookmark not-master 207s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 207s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 207s + ** which supports versions 6.9 of Mercurial. 207s + ** Please disable "hggit" and try your action again. 207s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 207s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 207s + ** Mercurial Distributed SCM (version 7.0.1) 207s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 207s + Traceback (most recent call last): 207s + File "/usr/bin/hg", line 51, in 207s + dispatch.run() 207s + ~~~~~~~~~~~~^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 207s + status = dispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 207s + status = _rundispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 207s + ret = _runcatch(req) or 0 207s + ~~~~~~~~~^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 207s + return _callcatch(ui, _runcatchfunc) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 207s + return scmutil.callcatch(ui, func) 207s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 207s + return func() 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 207s + return _dispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 207s + return runcommand( 207s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 207s + ) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 207s + ret = _runcommand(ui, options, cmd, d) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 207s + return cmdfunc() 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 207s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 207s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 207s + return func(*args, **kwargs) 207s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 207s + r = hg.clone( 207s + ui, 207s + ...<11 lines>... 207s + depth=opts.get('depth') or None, 207s + ) 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 207s + srcpeer, destpeer = orig(*args, **opts) 207s + ~~~~^^^^^^^^^^^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 207s + exchange.pull( 207s + ~~~~~~~~~~~~~^ 207s + local, 207s + ^^^^^^ 207s + ...<5 lines>... 207s + depth=depth, 207s + ^^^^^^^^^^^^ 207s + ) 207s + ^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 207s + return f(*args, **kwargs) 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 207s + pullop.cgresult = repo.githandler.fetch(remote, heads) 207s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 207s + imported = self.import_git_objects( 207s + b'pull', 207s + ...<2 lines>... 207s + heads=heads, 207s + ) 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 207s + self.import_git_commit( 207s + ~~~~~~~~~~~~~~~~~~~~~~^ 207s + command, 207s + ^^^^^^^^ 207s + self.git[commit.sha], 207s + ^^^^^^^^^^^^^^^^^^^^^ 207s + commit.phase, 207s + ^^^^^^^^^^^^^ 207s + ) 207s + ^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 207s + files, gitlinks, git_renames = self.get_files_changed( 207s + ~~~~~~~~~~~~~~~~~~~~~~^ 207s + commit, detect_renames 207s + ^^^^^^^^^^^^^^^^^^^^^^ 207s + ) 207s + ^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 207s + oldfile, oldmode, oldsha = change.old 207s + ^^^^^^^^^^^^^^^^^^^^^^^^ 207s + TypeError: cannot unpack non-iterable NoneType object 207s + [1] 207s 207s $ cd hgrepo 207s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 207s $ hg co master 207s - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 207s - (activating bookmark master) 207s - $ hg mv alpha beta 207s - $ fn_hg_commit -m 'rename alpha to beta' 207s - $ hg push 207s - pushing to $TESTTMP/gitrepo 207s - searching for changes 207s - adding objects 207s - remote: found 0 deltas to reuse 207s - added 1 commits with 1 trees and 0 blobs 207s - updating reference refs/heads/master 207s - 207s - $ hg branch gamma | grep -v 'permanent and global' 207s - marked working directory as branch gamma 207s - $ fn_hg_commit -m 'started branch gamma' 207s - $ hg push 207s - pushing to $TESTTMP/gitrepo 207s - searching for changes 207s - adding objects 207s - remote: found 0 deltas to reuse 207s - added 1 commits with 1 trees and 0 blobs 207s - updating reference refs/heads/master 207s - 207s - $ hg log --graph 207s - @ changeset: 2:400db38f4f64 207s - | branch: gamma 207s - | bookmark: master 207s - | tag: default/master 207s - | tag: tip 207s - | user: test 207s - | date: Mon Jan 01 00:00:12 2007 +0000 207s - | summary: started branch gamma 207s - | 207s - o changeset: 1:3baa67317a4d 207s - | user: test 207s - | date: Mon Jan 01 00:00:11 2007 +0000 207s - | summary: rename alpha to beta 207s - | 207s - o changeset: 0:ff7a2f2d8d70 207s - bookmark: not-master 207s - tag: default/not-master 207s - user: test 207s - date: Mon Jan 01 00:00:10 2007 +0000 207s - summary: add alpha 207s - 207s - 207s - $ cd .. 207s - $ hg clone -U gitrepo hgrepo2 207s - importing 3 git commits 207s - new changesets ff7a2f2d8d70:400db38f4f64 (3 drafts) 207s - $ hg -R hgrepo2 log --graph 207s - o changeset: 2:400db38f4f64 207s - | branch: gamma 207s - | bookmark: master 207s - | tag: default/master 207s - | tag: tip 207s - | user: test 207s - | date: Mon Jan 01 00:00:12 2007 +0000 207s - | summary: started branch gamma 207s - | 207s - o changeset: 1:3baa67317a4d 207s - | user: test 207s - | date: Mon Jan 01 00:00:11 2007 +0000 207s - | summary: rename alpha to beta 207s - | 207s - o changeset: 0:ff7a2f2d8d70 207s - bookmark: not-master 207s - tag: default/not-master 207s - user: test 207s - date: Mon Jan 01 00:00:10 2007 +0000 207s - summary: add alpha 207s - 207s 207s ERROR: test-hg-branch.t output changed 207s ! 207s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push-missing-commit.t 207s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push-missing-commit.t.err 207s @@ -23,74 +23,99 @@ 207s 207s $ hg clone -U repo.git hgrepo 207s importing 1 git commits 207s - new changesets fb68c5a534ce (1 drafts) 207s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 207s + ** which supports versions 6.9 of Mercurial. 207s + ** Please disable "hggit" and try your action again. 207s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 207s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 207s + ** Mercurial Distributed SCM (version 7.0.1) 207s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 207s + Traceback (most recent call last): 207s + File "/usr/bin/hg", line 51, in 207s + dispatch.run() 207s + ~~~~~~~~~~~~^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 207s + status = dispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 207s + status = _rundispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 207s + ret = _runcatch(req) or 0 207s + ~~~~~~~~~^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 207s + return _callcatch(ui, _runcatchfunc) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 207s + return scmutil.callcatch(ui, func) 207s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 207s + return func() 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 207s + return _dispatch(req) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 207s + return runcommand( 207s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 207s + ) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 207s + ret = _runcommand(ui, options, cmd, d) 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 207s + return cmdfunc() 207s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 207s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 207s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 207s + return func(*args, **kwargs) 207s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 207s + r = hg.clone( 207s + ui, 207s + ...<11 lines>... 207s + depth=opts.get('depth') or None, 207s + ) 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 207s + srcpeer, destpeer = orig(*args, **opts) 207s + ~~~~^^^^^^^^^^^^^^^ 207s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 207s + exchange.pull( 207s + ~~~~~~~~~~~~~^ 207s + local, 207s + ^^^^^^ 207s + ...<5 lines>... 207s + depth=depth, 207s + ^^^^^^^^^^^^ 207s + ) 207s + ^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 207s + return f(*args, **kwargs) 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 207s + pullop.cgresult = repo.githandler.fetch(remote, heads) 207s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 207s + imported = self.import_git_objects( 207s + b'pull', 207s + ...<2 lines>... 207s + heads=heads, 207s + ) 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 207s + self.import_git_commit( 207s + ~~~~~~~~~~~~~~~~~~~~~~^ 207s + command, 207s + ^^^^^^^^ 207s + self.git[commit.sha], 207s + ^^^^^^^^^^^^^^^^^^^^^ 207s + commit.phase, 207s + ^^^^^^^^^^^^^ 207s + ) 207s + ^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 207s + files, gitlinks, git_renames = self.get_files_changed( 207s + ~~~~~~~~~~~~~~~~~~~~~~^ 207s + commit, detect_renames 207s + ^^^^^^^^^^^^^^^^^^^^^^ 207s + ) 207s + ^ 207s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 207s + oldfile, oldmode, oldsha = change.old 207s + ^^^^^^^^^^^^^^^^^^^^^^^^ 207s + TypeError: cannot unpack non-iterable NoneType object 207s + [1] 207s $ cd hgrepo 207s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 207s $ hg up -q master 207s - $ echo other > thefile 207s - $ fn_hg_commit -m 'change thefile' 207s - $ cd .. 207s - 207s -now remove the git commit from the cache repository used internally by 207s -hg-git — actually, changing `git.intree` is equivalent to this, and how 207s -a user noticed it in #376. 207s - 207s - $ rm -rf hgrepo/.hg/git 207s - 207s -what happens when we push it? 207s - 207s - $ hg -R hgrepo push 207s - pushing to $TESTTMP/repo.git 207s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 207s - abort: cannot push git commit 533d4e670a8b as it is not present locally 207s - (please try pulling first, or as a fallback run git-cleanup to re-export the missing commits) 207s - [255] 207s - 207s -try to follow the hint: 207s - 207s -(and just to see that the warning is useful, try re-resetting first) 207s - 207s - $ rm -rf hgrepo/.hg/git hgrepo/.git 207s - $ hg -R hgrepo pull 207s - pulling from $TESTTMP/repo.git 207s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 207s - no changes found 207s - not updating diverged bookmark master 207s - $ hg -R hgrepo push 207s - pushing to $TESTTMP/repo.git 207s - searching for changes 207s - adding objects 207s - remote: found 0 deltas to reuse 207s - added 1 commits with 1 trees and 1 blobs 207s - updating reference refs/heads/master 207s - 207s -and as an extra test, what if we want to push a commit that's 207s -converted, but gone? 207s - 207s -simply pushing doesn't suffice: 207s - 207s - $ cd hgrepo 207s - $ rm -rf .hg/git 207s - $ hg push 207s - pushing to $TESTTMP/repo.git 207s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 207s - searching for changes 207s - no changes found 207s - [1] 207s - $ cd .. 207s - 207s -but we can't create another commit building on the git history, export 207s -it, and push: 207s - 207s - $ cd hgrepo 207s - $ echo not that > thefile 207s - $ fn_hg_commit -m 'change thefile again' 207s - $ hg gexport 207s - $ rm -rf .hg/git 207s - $ hg push 207s - pushing to $TESTTMP/repo.git 207s - warning: created new git repository at $TESTTMP/hgrepo/.hg/git 207s - searching for changes 207s - abort: cannot push git commit 61619410916a as it is not present locally 207s - (please try pulling first, or as a fallback run git-cleanup to re-export the missing commits) 207s - [255] 207s - $ cd .. 207s 207s ERROR: test-push-missing-commit.t output changed 208s ! 208s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-pull-after-strip.t 208s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-pull-after-strip.t.err 208s @@ -16,81 +16,99 @@ 208s $ cd .. 208s $ hg clone -U gitrepo hgrepo 208s importing 2 git commits 208s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 208s + return f(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 208s + pullop.cgresult = repo.githandler.fetch(remote, heads) 208s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 $ cd hgrepo 208s + $TESTTMP.sh: 26: cd: can't cd to hgrepo 208s $ hg up master 208s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 208s - (activating bookmark master) 208s - $ hg log --graph 208s - @ changeset: 1:7fe02317c63d 208s - | bookmark: master 208s - | tag: default/master 208s - | tag: thetag 208s - | tag: tip 208s - | user: test 208s - | date: Mon Jan 01 00:00:11 2007 +0000 208s - | summary: add beta 208s - | 208s - o changeset: 0:ff7a2f2d8d70 208s - user: test 208s - date: Mon Jan 01 00:00:10 2007 +0000 208s - summary: add alpha 208s - 208s - $ cd ../gitrepo 208s - $ echo beta line 2 >> beta 208s - $ git add beta 208s - $ fn_git_commit -m 'add to beta' 208s - 208s - $ cd .. 208s - $ cd hgrepo 208s - $ hg debugstrip --no-backup tip 208s - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 208s - $ hg pull 208s - pulling from $TESTTMP/gitrepo 208s - importing 1 git commits 208s - abort: you appear to have run strip - please run hg git-cleanup 208s - [255] 208s - $ hg tags 208s - tip 0:ff7a2f2d8d70 208s - $ hg git-cleanup 208s - git commit map cleaned 208s - 208s -pull works after 'hg git-cleanup' 208s - 208s - $ hg pull 208s - pulling from $TESTTMP/gitrepo 208s - importing 2 git commits 208s - updating bookmark master 208s - new changesets 7fe02317c63d:cc1e605d90db (2 drafts) 208s - (run 'hg update' to get a working copy) 208s - $ hg log --graph 208s - o changeset: 2:cc1e605d90db 208s - | bookmark: master 208s - | tag: default/master 208s - | tag: tip 208s - | user: test 208s - | date: Mon Jan 01 00:00:12 2007 +0000 208s - | summary: add to beta 208s - | 208s - o changeset: 1:7fe02317c63d 208s - | tag: thetag 208s - | user: test 208s - | date: Mon Jan 01 00:00:11 2007 +0000 208s - | summary: add beta 208s - | 208s - @ changeset: 0:ff7a2f2d8d70 208s - user: test 208s - date: Mon Jan 01 00:00:10 2007 +0000 208s - summary: add alpha 208s - 208s - 208s - $ cd .. 208s - 208s -Check that we also remove bad refs: 208s - 208s - $ cd hgrepo 208s - $ echo e93b671cb24bff41779187edff99178e2597c2 > .hg/git/refs/tags/bad-tag 208s - $ hg git-cleanup 208s - git commit map cleaned 208s - $ test -e .hg/git/refs/tags/bad-tag 208s - [1] 208s 208s ERROR: test-pull-after-strip.t output changed 208s ! 208s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-transactions.t 208s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-transactions.t.err 208s @@ -42,7 +42,104 @@ 208s 208s $ hg clone gitrepo hgrepo --config hggit.mapsavefrequency=10 --debug \ 208s > | grep -c saving 208s - 1 208s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 208s + ** which supports versions unknown of Mercurial. 208s + ** Please disable "breakage" and try your action again. 208s + ** If that fixes the bug please report it to the extension author. 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: breakage, 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 208s + return f(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 208s + pullop.cgresult = repo.githandler.fetch(remote, heads) 208s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 208s + return func(*(args + a), **kw) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 208s + return orig(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 + 0 208s + [1] 208s $ rm -rf hgrepo 208s 208s pull with mapsavefreq set 208s @@ -54,7 +151,95 @@ 208s > EOF 208s $ hg -R hgrepo --config hggit.mapsavefrequency=10 pull --debug \ 208s > | grep -c saving 208s - 10 208s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 208s + ** which supports versions unknown of Mercurial. 208s + ** Please disable "breakage" and try your action again. 208s + ** If that fixes the bug please report it to the extension author. 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: breakage, 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 5235, in pull 208s + modheads = exchange.pull( 208s + ~~~~~~~~~~~~~^ 208s + repo, 208s + ^^^^^ 208s + ...<6 lines>... 208s + confirm=opts.get('confirm'), 208s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 208s + ).cgresult 208s + ^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 208s + return f(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 208s + pullop.cgresult = repo.githandler.fetch(remote, heads) 208s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 208s + return func(*(args + a), **kw) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 208s + return orig(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 + 0 208s + [1] 208s $ rm -rf hgrepo 208s 208s The user experience 208s @@ -77,16 +262,100 @@ 208s $ hg --config hggit.mapsavefrequency=25 pull 208s pulling from $TESTTMP/gitrepo 208s importing 100 git commits 208s - new changesets 1c8407413fa3:abc468b9e51b (25 drafts) 208s - new changesets 217c308baf47:d5d14eeedd08 (25 drafts) 208s - new changesets d9807ef6abcb:4678067bd500 (25 drafts) 208s - adding bookmark master 208s - new changesets c31a154888bb:eda59117ba04 (25 drafts) 208s - (run 'hg update' to get a working copy) 208s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 208s + ** which supports versions unknown of Mercurial. 208s + ** Please disable "breakage" and try your action again. 208s + ** If that fixes the bug please report it to the extension author. 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: breakage, 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 5235, in pull 208s + modheads = exchange.pull( 208s + ~~~~~~~~~~~~~^ 208s + repo, 208s + ^^^^^ 208s + ...<6 lines>... 208s + confirm=opts.get('confirm'), 208s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 208s + ).cgresult 208s + ^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 208s + return f(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 208s + pullop.cgresult = repo.githandler.fetch(remote, heads) 208s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 208s + return func(*(args + a), **kw) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 208s + return orig(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 Reset the repository 208s 208s $ hg debugstrip --no-backup 'all()' 208s + abort: empty revision set 208s + [255] 208s $ hg debug-remove-hggit-state 208s clearing out the git cache data 208s 208s @@ -96,16 +365,100 @@ 208s $ hg --config hggit.mapsavefrequency=25 --config hggit.usephases=yes pull 208s pulling from $TESTTMP/gitrepo 208s importing 100 git commits 208s - new changesets 1c8407413fa3:abc468b9e51b 208s - new changesets 217c308baf47:d5d14eeedd08 208s - new changesets d9807ef6abcb:4678067bd500 208s - updating bookmark master 208s - new changesets c31a154888bb:eda59117ba04 208s - (run 'hg update' to get a working copy) 208s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 208s + ** which supports versions unknown of Mercurial. 208s + ** Please disable "breakage" and try your action again. 208s + ** If that fixes the bug please report it to the extension author. 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: breakage, 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 5235, in pull 208s + modheads = exchange.pull( 208s + ~~~~~~~~~~~~~^ 208s + repo, 208s + ^^^^^ 208s + ...<6 lines>... 208s + confirm=opts.get('confirm'), 208s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 208s + ).cgresult 208s + ^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 208s + return f(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 208s + pullop.cgresult = repo.githandler.fetch(remote, heads) 208s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 208s + return func(*(args + a), **kw) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 208s + return orig(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 Reset the repository 208s 208s $ hg debugstrip --no-backup 'all()' 208s + abort: empty revision set 208s + [255] 208s $ hg debug-remove-hggit-state 208s clearing out the git cache data 208s 208s @@ -123,10 +476,94 @@ 208s $ ABORT_AFTER=99 hg pull 208s pulling from $TESTTMP/gitrepo 208s importing 100 git commits 208s - transaction abort! 208s - rollback completed 208s - abort: aborted after 99 commits! 208s - [255] 208s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 208s + ** which supports versions unknown of Mercurial. 208s + ** Please disable "breakage" and try your action again. 208s + ** If that fixes the bug please report it to the extension author. 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: breakage, 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 5235, in pull 208s + modheads = exchange.pull( 208s + ~~~~~~~~~~~~~^ 208s + repo, 208s + ^^^^^ 208s + ...<6 lines>... 208s + confirm=opts.get('confirm'), 208s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 208s + ).cgresult 208s + ^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 208s + return f(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 208s + pullop.cgresult = repo.githandler.fetch(remote, heads) 208s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 208s + return func(*(args + a), **kw) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 208s + return orig(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 $ hg log -l 10 -T '{rev} {gitnode}\n' 208s 208s Test the user exiting in the first transaction: 208s @@ -134,10 +571,94 @@ 208s $ EXIT_AFTER=5 hg --config hggit.mapsavefrequency=10 pull 208s pulling from $TESTTMP/gitrepo 208s importing 100 git commits 208s - transaction abort! 208s - rollback completed 208s - interrupted! 208s - [255] 208s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 208s + ** which supports versions unknown of Mercurial. 208s + ** Please disable "breakage" and try your action again. 208s + ** If that fixes the bug please report it to the extension author. 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: breakage, 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 5235, in pull 208s + modheads = exchange.pull( 208s + ~~~~~~~~~~~~~^ 208s + repo, 208s + ^^^^^ 208s + ...<6 lines>... 208s + confirm=opts.get('confirm'), 208s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 208s + ).cgresult 208s + ^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 208s + return f(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 208s + pullop.cgresult = repo.githandler.fetch(remote, heads) 208s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 208s + return func(*(args + a), **kw) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 208s + return orig(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 $ hg log -l 10 -T '{rev} {gitnode}\n' 208s 208s Check that we have no state, but clear it just in case 208s @@ -153,22 +674,95 @@ 208s $ EXIT_AFTER=15 hg --config hggit.mapsavefrequency=10 pull 208s pulling from $TESTTMP/gitrepo 208s importing 100 git commits 208s - new changesets 1c8407413fa3:7c8c534a5fbe (10 drafts) 208s - transaction abort! 208s - rollback completed 208s - interrupted! 208s - [255] 208s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 208s + ** which supports versions unknown of Mercurial. 208s + ** Please disable "breakage" and try your action again. 208s + ** If that fixes the bug please report it to the extension author. 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: breakage, 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 5235, in pull 208s + modheads = exchange.pull( 208s + ~~~~~~~~~~~~~^ 208s + repo, 208s + ^^^^^ 208s + ...<6 lines>... 208s + confirm=opts.get('confirm'), 208s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 208s + ).cgresult 208s + ^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 208s + return f(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 208s + pullop.cgresult = repo.githandler.fetch(remote, heads) 208s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 208s + return func(*(args + a), **kw) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 208s + return orig(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 $ hg log -l 10 -T '{rev} {gitnode}\n' 208s - 9 7cbb16ec981b308e1e2b181f8e1f22c8f409f44e 208s - 8 42da70ed92bbecf9f348ba59c93646be723d0bf2 208s - 7 17e841146e5744b81af9959634d82c20a5d7df52 208s - 6 c31065bf97bf014815e37cdfbdef2c32c687f314 208s - 5 fcf21b8e0520ec1cced1d7593d13f9ee54721269 208s - 4 46acd02d0352e4b92bd6a099bb0490305d847a18 208s - 3 61eeda444b37b8aa3892d5f04c66c5441d21dd66 208s - 2 e55db11bb0472791c7af3fc636772174cdea4a36 208s - 1 17a2672b3c24c02d568f99d8d55ccae2bf362d5c 208s - 0 4e195b4c6e77604b70a8ad3b01306adbb9b1c7e7 208s $ cd .. 208s $ rm -rf hgrepo 208s 208s @@ -184,10 +778,103 @@ 208s > --cwd hgrepo \ 208s > clone -U $TESTTMP/gitrepo . 208s importing 100 git commits 208s - transaction abort! 208s - rollback completed 208s - interrupted! 208s - [255] 208s + ** Unknown exception encountered with possibly-broken third-party extension "breakage" (version N/A) 208s + ** which supports versions unknown of Mercurial. 208s + ** Please disable "breakage" and try your action again. 208s + ** If that fixes the bug please report it to the extension author. 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: breakage, 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 208s + return f(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 208s + pullop.cgresult = repo.githandler.fetch(remote, heads) 208s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 "/usr/lib/python3/dist-packages/mercurial/extensions.py", line 528, in closure 208s + return func(*(args + a), **kw) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/tests/testlib/ext-break-git-import.py", line 25, in wrap 208s + return orig(*args, **kwargs) 208s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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 the leftover below appeared in Mercurial 5.9+; it is unintentional 208s $ ls -A hgrepo 208s .git 208s 208s ERROR: test-transactions.t output changed 209s ! 209s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-subrepos-syntax.t 209s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-subrepos-syntax.t.err 209s @@ -39,53 +39,99 @@ 209s 209s $ hg clone -U repo.git hgrepo 209s importing 3 git commits 209s - new changesets e532b2bfda10:3c4fd561cbeb (3 drafts) 209s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 209s + ** which supports versions 6.9 of Mercurial. 209s + ** Please disable "hggit" and try your action again. 209s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 209s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 209s + ** Mercurial Distributed SCM (version 7.0.1) 209s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 209s + Traceback (most recent call last): 209s + File "/usr/bin/hg", line 51, in 209s + dispatch.run() 209s + ~~~~~~~~~~~~^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 209s + status = dispatch(req) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 209s + status = _rundispatch(req) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 209s + ret = _runcatch(req) or 0 209s + ~~~~~~~~~^^^^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 209s + return _callcatch(ui, _runcatchfunc) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 209s + return scmutil.callcatch(ui, func) 209s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 209s + return func() 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 209s + return _dispatch(req) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 209s + return runcommand( 209s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 209s + ) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 209s + ret = _runcommand(ui, options, cmd, d) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 209s + return cmdfunc() 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 209s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 209s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 209s + return func(*args, **kwargs) 209s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 209s + r = hg.clone( 209s + ui, 209s + ...<11 lines>... 209s + depth=opts.get('depth') or None, 209s + ) 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 209s + srcpeer, destpeer = orig(*args, **opts) 209s + ~~~~^^^^^^^^^^^^^^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 209s + exchange.pull( 209s + ~~~~~~~~~~~~~^ 209s + local, 209s + ^^^^^^ 209s + ...<5 lines>... 209s + depth=depth, 209s + ^^^^^^^^^^^^ 209s + ) 209s + ^ 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 209s + return f(*args, **kwargs) 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 209s + pullop.cgresult = repo.githandler.fetch(remote, heads) 209s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 209s + imported = self.import_git_objects( 209s + b'pull', 209s + ...<2 lines>... 209s + heads=heads, 209s + ) 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 209s + self.import_git_commit( 209s + ~~~~~~~~~~~~~~~~~~~~~~^ 209s + command, 209s + ^^^^^^^^ 209s + self.git[commit.sha], 209s + ^^^^^^^^^^^^^^^^^^^^^ 209s + commit.phase, 209s + ^^^^^^^^^^^^^ 209s + ) 209s + ^ 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 209s + files, gitlinks, git_renames = self.get_files_changed( 209s + ~~~~~~~~~~~~~~~~~~~~~~^ 209s + commit, detect_renames 209s + ^^^^^^^^^^^^^^^^^^^^^^ 209s + ) 209s + ^ 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 209s + oldfile, oldmode, oldsha = change.old 209s + ^^^^^^^^^^^^^^^^^^^^^^^^ 209s + TypeError: cannot unpack non-iterable NoneType object 209s + [1] 209s $ cd hgrepo 209s + $TESTTMP.sh: 42: cd: can't cd to hgrepo 209s $ hg up master 209s - Cloning into '$TESTTMP/hgrepo/subrepo1'... 209s - done. 209s - Cloning into '$TESTTMP/hgrepo/xyz/subrepo2'... 209s - done. 209s - cloning subrepo subrepo1 from $TESTTMP/gitsubrepo 209s - cloning subrepo xyz/subrepo2 from $TESTTMP/gitsubrepo 209s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 209s - (activating bookmark master) 209s - $ cat >> .hgsub < # this is a comment 209s - > [subpaths] 209s - > flaf = blyf 209s - > EOF 209s - $ fn_hg_commit -m 'add comment & subsection' 209s - $ hg push 209s - pushing to $TESTTMP/repo.git 209s - searching for changes 209s - adding objects 209s - remote: found 0 deltas to reuse 209s - added 1 commits with 1 trees and 0 blobs 209s - updating reference refs/heads/master 209s - $ cd .. 209s - 209s - $ cd gitrepo 209s - $ git pull --ff-only 209s - From $TESTTMP/repo 209s - 89c22d7..106b34e master -> origin/master 209s - Updating 89c22d7..106b34e 209s - Fast-forward 209s - $ cat .gitmodules 209s - [submodule "subrepo1"] 209s - path = subrepo1 209s - url = ../gitsubrepo 209s - [submodule "xyz/subrepo2"] 209s - path = xyz/subrepo2 209s - url = ../gitsubrepo 209s - $ cd .. 209s - 209s -We broke bidirectionality: 209s - 209s - $ hg clone -U repo.git hgrepo2 209s - importing 4 git commits 209s - new changesets e532b2bfda10:cbf584fe001b (4 drafts) 209s - $ hg id -r tip hgrepo 209s - c58a542b18bc default/master/tip master 209s - $ hg id -r tip hgrepo2 209s - cbf584fe001b default/master/tip master 209s 209s ERROR: test-subrepos-syntax.t output changed 209s ! 209s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-merge.t 209s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-merge.t.err 209s @@ -31,59 +31,101 @@ 209s 209s $ hg clone gitrepo hgrepo 209s importing 4 git commits 209s - new changesets ff7a2f2d8d70:89ca4a68d6b9 (4 drafts) 209s - updating to bookmark master 209s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 209s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 209s + ** which supports versions 6.9 of Mercurial. 209s + ** Please disable "hggit" and try your action again. 209s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 209s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 209s + ** Mercurial Distributed SCM (version 7.0.1) 209s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 209s + Traceback (most recent call last): 209s + File "/usr/bin/hg", line 51, in 209s + dispatch.run() 209s + ~~~~~~~~~~~~^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 209s + status = dispatch(req) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 209s + status = _rundispatch(req) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 209s + ret = _runcatch(req) or 0 209s + ~~~~~~~~~^^^^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 209s + return _callcatch(ui, _runcatchfunc) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 209s + return scmutil.callcatch(ui, func) 209s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 209s + return func() 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 209s + return _dispatch(req) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 209s + return runcommand( 209s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 209s + ) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 209s + ret = _runcommand(ui, options, cmd, d) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 209s + return cmdfunc() 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 209s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 209s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 209s + return func(*args, **kwargs) 209s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 209s + r = hg.clone( 209s + ui, 209s + ...<11 lines>... 209s + depth=opts.get('depth') or None, 209s + ) 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 209s + srcpeer, destpeer = orig(*args, **opts) 209s + ~~~~^^^^^^^^^^^^^^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 209s + exchange.pull( 209s + ~~~~~~~~~~~~~^ 209s + local, 209s + ^^^^^^ 209s + ...<5 lines>... 209s + depth=depth, 209s + ^^^^^^^^^^^^ 209s + ) 209s + ^ 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 209s + return f(*args, **kwargs) 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 209s + pullop.cgresult = repo.githandler.fetch(remote, heads) 209s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 209s + imported = self.import_git_objects( 209s + b'pull', 209s + ...<2 lines>... 209s + heads=heads, 209s + ) 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 209s + self.import_git_commit( 209s + ~~~~~~~~~~~~~~~~~~~~~~^ 209s + command, 209s + ^^^^^^^^ 209s + self.git[commit.sha], 209s + ^^^^^^^^^^^^^^^^^^^^^ 209s + commit.phase, 209s + ^^^^^^^^^^^^^ 209s + ) 209s + ^ 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 209s + files, gitlinks, git_renames = self.get_files_changed( 209s + ~~~~~~~~~~~~~~~~~~~~~~^ 209s + commit, detect_renames 209s + ^^^^^^^^^^^^^^^^^^^^^^ 209s + ) 209s + ^ 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 209s + oldfile, oldmode, oldsha = change.old 209s + ^^^^^^^^^^^^^^^^^^^^^^^^ 209s + TypeError: cannot unpack non-iterable NoneType object 209s + [1] 209s $ cd hgrepo 209s + $TESTTMP.sh: 40: cd: can't cd to hgrepo 209s 209s clear the cache to be sure it is regenerated correctly 209s $ hg debug-remove-hggit-state 209s - clearing out the git cache data 209s - $ hg push ../repo.git 209s - pushing to ../repo.git 209s - searching for changes 209s - adding objects 209s - remote: found 0 deltas to reuse 209s - added 4 commits with 4 trees and 3 blobs 209s - adding reference refs/heads/beta 209s - adding reference refs/heads/master 209s - 209s - $ cd .. 209s -git log in repo pushed from hg 209s - $ git --git-dir=repo.git log --pretty=medium master | sed 's/\.\.\.//g' 209s - commit 5806851511aaf3bfe813ae3a86c5027165fa9b96 209s - Merge: e5023f9 9497a4e 209s - Author: test 209s - Date: Mon Jan 1 00:00:12 2007 +0000 209s - 209s - Merge branch 'beta' 209s - 209s - commit e5023f9e5cb24fdcec7b6c127cec45d8888e35a9 209s - Author: test 209s - Date: Mon Jan 1 00:00:12 2007 +0000 209s - 209s - add gamma 209s - 209s - commit 9497a4ee62e16ee641860d7677cdb2589ea15554 209s - Author: test 209s - Date: Mon Jan 1 00:00:11 2007 +0000 209s - 209s - add beta 209s - 209s - commit 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 209s - Author: test 209s - Date: Mon Jan 1 00:00:10 2007 +0000 209s - 209s - add alpha 209s - $ git --git-dir=repo.git log --pretty=medium beta | sed 's/\.\.\.//g' 209s - commit 9497a4ee62e16ee641860d7677cdb2589ea15554 209s - Author: test 209s - Date: Mon Jan 1 00:00:11 2007 +0000 209s - 209s - add beta 209s - 209s - commit 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 209s - Author: test 209s - Date: Mon Jan 1 00:00:10 2007 +0000 209s - 209s - add alpha 209s 209s ERROR: test-merge.t output changed 209s ! 209s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-hg-tags.t 209s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-hg-tags.t.err 209s @@ -17,68 +17,100 @@ 209s $ cd .. 209s $ hg clone -U repo.git hgrepo 209s importing 1 git commits 209s - new changesets ff7a2f2d8d70 (1 drafts) 209s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 209s + ** which supports versions 6.9 of Mercurial. 209s + ** Please disable "hggit" and try your action again. 209s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 209s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 209s + ** Mercurial Distributed SCM (version 7.0.1) 209s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 209s + Traceback (most recent call last): 209s + File "/usr/bin/hg", line 51, in 209s + dispatch.run() 209s + ~~~~~~~~~~~~^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 209s + status = dispatch(req) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 209s + status = _rundispatch(req) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 209s + ret = _runcatch(req) or 0 209s + ~~~~~~~~~^^^^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 209s + return _callcatch(ui, _runcatchfunc) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 209s + return scmutil.callcatch(ui, func) 209s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 209s + return func() 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 209s + return _dispatch(req) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 209s + return runcommand( 209s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 209s + ) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 209s + ret = _runcommand(ui, options, cmd, d) 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 209s + return cmdfunc() 209s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 209s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 209s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 209s + return func(*args, **kwargs) 209s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 209s + r = hg.clone( 209s + ui, 209s + ...<11 lines>... 209s + depth=opts.get('depth') or None, 209s + ) 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 209s + srcpeer, destpeer = orig(*args, **opts) 209s + ~~~~^^^^^^^^^^^^^^^ 209s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 209s + exchange.pull( 209s + ~~~~~~~~~~~~~^ 209s + local, 209s + ^^^^^^ 209s + ...<5 lines>... 209s + depth=depth, 209s + ^^^^^^^^^^^^ 209s + ) 209s + ^ 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 209s + return f(*args, **kwargs) 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 209s + pullop.cgresult = repo.githandler.fetch(remote, heads) 209s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 209s + imported = self.import_git_objects( 209s + b'pull', 209s + ...<2 lines>... 209s + heads=heads, 209s + ) 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 209s + self.import_git_commit( 209s + ~~~~~~~~~~~~~~~~~~~~~~^ 209s + command, 209s + ^^^^^^^^ 209s + self.git[commit.sha], 209s + ^^^^^^^^^^^^^^^^^^^^^ 209s + commit.phase, 209s + ^^^^^^^^^^^^^ 209s + ) 209s + ^ 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 209s + files, gitlinks, git_renames = self.get_files_changed( 209s + ~~~~~~~~~~~~~~~~~~~~~~^ 209s + commit, detect_renames 209s + ^^^^^^^^^^^^^^^^^^^^^^ 209s + ) 209s + ^ 209s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 209s + oldfile, oldmode, oldsha = change.old 209s + ^^^^^^^^^^^^^^^^^^^^^^^^ 209s + TypeError: cannot unpack non-iterable NoneType object 209s + [1] 209s 209s $ cd hgrepo 209s + $TESTTMP.sh: 22: cd: can't cd to hgrepo 209s $ hg co master 209s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 209s - (activating bookmark master) 209s - $ fn_hg_tag alpha 209s - $ hg push 209s - pushing to $TESTTMP/repo.git 209s - searching for changes 209s - adding objects 209s - remote: found 0 deltas to reuse 209s - added 1 commits with 1 trees and 1 blobs 209s - updating reference refs/heads/master 209s - adding reference refs/tags/alpha 209s - 209s - $ hg log --graph 209s - @ changeset: 1:e8b150f84560 209s - | bookmark: master 209s - | tag: default/master 209s - | tag: tip 209s - | user: test 209s - | date: Mon Jan 01 00:00:11 2007 +0000 209s - | summary: Added tag alpha for changeset ff7a2f2d8d70 209s - | 209s - o changeset: 0:ff7a2f2d8d70 209s - tag: alpha 209s - user: test 209s - date: Mon Jan 01 00:00:10 2007 +0000 209s - summary: add alpha 209s - 209s - 209s - $ cd .. 209s - $ cd gitrepo 209s -git should have the tag alpha 209s - $ git fetch origin 209s - From $TESTTMP/repo 209s - 7eeab2e..bbae830 master -> origin/master 209s - * [new tag] alpha -> alpha 209s - $ cd .. 209s - 209s - $ hg clone repo.git hgrepo2 209s - importing 2 git commits 209s - new changesets ff7a2f2d8d70:e8b150f84560 (2 drafts) 209s - updating to bookmark master 209s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 209s - $ hg -R hgrepo2 log --graph 209s - @ changeset: 1:e8b150f84560 209s - | bookmark: master 209s - | tag: default/master 209s - | tag: tip 209s - | user: test 209s - | date: Mon Jan 01 00:00:11 2007 +0000 209s - | summary: Added tag alpha for changeset ff7a2f2d8d70 209s - | 209s - o changeset: 0:ff7a2f2d8d70 209s - tag: alpha 209s - user: test 209s - date: Mon Jan 01 00:00:10 2007 +0000 209s - summary: add alpha 209s - 209s - 209s -the tag should be in .hgtags 209s - $ cat hgrepo2/.hgtags 209s - ff7a2f2d8d7099694ae1e8b03838d40575bebb63 alpha 209s 209s ERROR: test-hg-tags.t output changed 210s ! 210s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push-authors.t 210s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push-authors.t.err 210s @@ -73,11 +73,80 @@ 210s 210s $ hg push 210s pushing to $TESTTMP/repo.git 210s - searching for changes 210s - adding objects 210s - remote: found 0 deltas to reuse 210s - added 6 commits with 6 trees and 1 blobs 210s - adding reference refs/heads/master 210s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 210s + ** which supports versions 6.9 of Mercurial. 210s + ** Please disable "hggit" and try your action again. 210s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 210s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 210s + ** Mercurial Distributed SCM (version 7.0.1) 210s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 210s + Traceback (most recent call last): 210s + File "/usr/bin/hg", line 51, in 210s + dispatch.run() 210s + ~~~~~~~~~~~~^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 210s + status = dispatch(req) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 210s + status = _rundispatch(req) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 210s + ret = _runcatch(req) or 0 210s + ~~~~~~~~~^^^^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 210s + return _callcatch(ui, _runcatchfunc) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 210s + return scmutil.callcatch(ui, func) 210s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 210s + return func() 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 210s + return _dispatch(req) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 210s + return runcommand( 210s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 210s + ) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 210s + ret = _runcommand(ui, options, cmd, d) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 210s + return cmdfunc() 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 210s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 210s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 210s + return func(*args, **kwargs) 210s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 210s + pushop = exchange.push( 210s + repo, 210s + ...<6 lines>... 210s + opargs=opargs, 210s + ) 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 210s + return f(*args, **kwargs) 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 232, in exchangepush 210s + pushop.cgresult = repo.githandler.push( 210s + ~~~~~~~~~~~~~~~~~~~~^ 210s + remote.path, revs, bookmarks, force 210s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 210s + ) 210s + ^ 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 520, in push 210s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 210s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 210s + all_exportable = self.export_commits() 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 210s + self.export_git_objects() 210s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 210s + packer.pack(synchronous=True) 210s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 210s + _process_batch(self.ui, self.object_store, todo) 210s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 210s + object_store._remove_loose_object(obj.id) 210s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 210s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 210s + [1] 210s 210s Check the results: 210s 210s @@ -107,28 +176,6 @@ 210s User #3 = user3@example.com 210s user4 = 210s $ git log --pretty='tformat:Commit: %H%nAuthor: %an <%ae>%nCommitter: %cn <%ce>%n---' 210s - Commit: 869e310765d5d7ad92f83bf036e12b0341922a65 210s - Author: test 210s - Committer: test 210s - --- 210s - Commit: b5c0fcb75f876b158ece64859400d36b07570ce9 210s - Author: User #5 210s - Committer: User #5 210s - --- 210s - Commit: 2833824a870810915f7a7a27c05cccad0448bfd7 210s - Author: 210s - Committer: 210s - --- 210s - Commit: fe63bf29ef0bd4af50e85b8aec8d2fbeff255845 210s - Author: user3@example.com 210s - Committer: user3@example.com 210s - --- 210s - Commit: eba936dd13172a2f17936785e3604845aed9170d 210s - Author: user2 210s - Committer: user2 210s - --- 210s - Commit: 796162e5747a7ba57f31fb828b88319caf7b1f7b 210s - Author: User no. 1 210s - Committer: User no. 1 210s - --- 210s + fatal: your current branch 'master' does not have any commits yet 210s + [128] 210s $ cd .. 210s 210s ERROR: test-push-authors.t output changed 210s ! 210s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push-detached.t 210s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push-detached.t.err 210s @@ -41,36 +41,99 @@ 210s 210s $ hg clone gitrepo hgrepo 210s importing 1 git commits 210s - new changesets ff7a2f2d8d70 (1 drafts) 210s - updating to bookmark master 210s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 210s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 210s + ** which supports versions 6.9 of Mercurial. 210s + ** Please disable "hggit" and try your action again. 210s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 210s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 210s + ** Mercurial Distributed SCM (version 7.0.1) 210s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 210s + Traceback (most recent call last): 210s + File "/usr/bin/hg", line 51, in 210s + dispatch.run() 210s + ~~~~~~~~~~~~^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 210s + status = dispatch(req) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 210s + status = _rundispatch(req) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 210s + ret = _runcatch(req) or 0 210s + ~~~~~~~~~^^^^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 210s + return _callcatch(ui, _runcatchfunc) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 210s + return scmutil.callcatch(ui, func) 210s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 210s + return func() 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 210s + return _dispatch(req) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 210s + return runcommand( 210s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 210s + ) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 210s + ret = _runcommand(ui, options, cmd, d) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 210s + return cmdfunc() 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 210s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 210s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 210s + return func(*args, **kwargs) 210s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 210s + r = hg.clone( 210s + ui, 210s + ...<11 lines>... 210s + depth=opts.get('depth') or None, 210s + ) 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 210s + srcpeer, destpeer = orig(*args, **opts) 210s + ~~~~^^^^^^^^^^^^^^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 210s + exchange.pull( 210s + ~~~~~~~~~~~~~^ 210s + local, 210s + ^^^^^^ 210s + ...<5 lines>... 210s + depth=depth, 210s + ^^^^^^^^^^^^ 210s + ) 210s + ^ 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 210s + return f(*args, **kwargs) 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 210s + pullop.cgresult = repo.githandler.fetch(remote, heads) 210s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 210s + imported = self.import_git_objects( 210s + b'pull', 210s + ...<2 lines>... 210s + heads=heads, 210s + ) 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 210s + self.import_git_commit( 210s + ~~~~~~~~~~~~~~~~~~~~~~^ 210s + command, 210s + ^^^^^^^^ 210s + self.git[commit.sha], 210s + ^^^^^^^^^^^^^^^^^^^^^ 210s + commit.phase, 210s + ^^^^^^^^^^^^^ 210s + ) 210s + ^ 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 210s + files, gitlinks, git_renames = self.get_files_changed( 210s + ~~~~~~~~~~~~~~~~~~~~~~^ 210s + commit, detect_renames 210s + ^^^^^^^^^^^^^^^^^^^^^^ 210s + ) 210s + ^ 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 210s + oldfile, oldmode, oldsha = change.old 210s + ^^^^^^^^^^^^^^^^^^^^^^^^ 210s + TypeError: cannot unpack non-iterable NoneType object 210s + [1] 210s $ cd hgrepo 210s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 210s $ echo beta > beta 210s - $ hg add beta 210s - $ fn_hg_commit -m "add beta" 210s - 210s -Pushing that changeset, with phases, publishes the detached HEAD. 210s -Whether this should happen is debatable, but it's a side effect from 210s -the fact that pushing to the remote HEAD, with HEAD being the usual 210s -symref, should publish it. 210s - 210s - $ hg push -v --config hggit.usephases=yes 210s - pushing to $TESTTMP/gitrepo 210s - finding unexported changesets 210s - exporting 1 changesets 210s - converting revision 47580592d3d6492421a1e6cebc5c2d701a2e858b 210s - packing 3 loose objects... 210s - searching for changes 210s - remote: counting objects: 5, done. 210s - 1 commits found 210s - adding objects 210s - remote: counting objects: 5, done. 210s - remote: found 0 deltas to reuse 210s - added 1 commits with 1 trees and 1 blobs 210s - updating reference default::refs/heads/master => GIT:0f378ab6 210s - publishing remote HEAD 210s - $ hg phase 'all()' 210s - 0: public 210s - 1: draft 210s - $ cd .. 210s - 210s 210s ERROR: test-push-detached.t output changed 210s ! 210s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-hg-clone.t 210s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-hg-clone.t.err 210s @@ -12,87 +12,106 @@ 210s 210s $ hg clone -U gitrepo hgrepo 210s importing 1 git commits 210s - new changesets ff7a2f2d8d70 (1 drafts) 210s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 210s + ** which supports versions 6.9 of Mercurial. 210s + ** Please disable "hggit" and try your action again. 210s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 210s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 210s + ** Mercurial Distributed SCM (version 7.0.1) 210s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 210s + Traceback (most recent call last): 210s + File "/usr/bin/hg", line 51, in 210s + dispatch.run() 210s + ~~~~~~~~~~~~^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 210s + status = dispatch(req) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 210s + status = _rundispatch(req) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 210s + ret = _runcatch(req) or 0 210s + ~~~~~~~~~^^^^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 210s + return _callcatch(ui, _runcatchfunc) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 210s + return scmutil.callcatch(ui, func) 210s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 210s + return func() 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 210s + return _dispatch(req) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 210s + return runcommand( 210s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 210s + ) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 210s + ret = _runcommand(ui, options, cmd, d) 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 210s + return cmdfunc() 210s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 210s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 210s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 210s + return func(*args, **kwargs) 210s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 210s + r = hg.clone( 210s + ui, 210s + ...<11 lines>... 210s + depth=opts.get('depth') or None, 210s + ) 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 210s + srcpeer, destpeer = orig(*args, **opts) 210s + ~~~~^^^^^^^^^^^^^^^ 210s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 210s + exchange.pull( 210s + ~~~~~~~~~~~~~^ 210s + local, 210s + ^^^^^^ 210s + ...<5 lines>... 210s + depth=depth, 210s + ^^^^^^^^^^^^ 210s + ) 210s + ^ 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 210s + return f(*args, **kwargs) 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 210s + pullop.cgresult = repo.githandler.fetch(remote, heads) 210s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 210s + imported = self.import_git_objects( 210s + b'pull', 210s + ...<2 lines>... 210s + heads=heads, 210s + ) 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 210s + self.import_git_commit( 210s + ~~~~~~~~~~~~~~~~~~~~~~^ 210s + command, 210s + ^^^^^^^^ 210s + self.git[commit.sha], 210s + ^^^^^^^^^^^^^^^^^^^^^ 210s + commit.phase, 210s + ^^^^^^^^^^^^^ 210s + ) 210s + ^ 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 210s + files, gitlinks, git_renames = self.get_files_changed( 210s + ~~~~~~~~~~~~~~~~~~~~~~^ 210s + commit, detect_renames 210s + ^^^^^^^^^^^^^^^^^^^^^^ 210s + ) 210s + ^ 210s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 210s + oldfile, oldmode, oldsha = change.old 210s + ^^^^^^^^^^^^^^^^^^^^^^^^ 210s + TypeError: cannot unpack non-iterable NoneType object 210s + [1] 210s 210s By default, the Git state isn't preserved across a copying/linking 210s clone 210s 210s $ hg clone -U hgrepo otherhgrepo 210s + abort: repository hgrepo not found 210s + [255] 210s $ cd otherhgrepo 210s + $TESTTMP.sh: 22: cd: can't cd to otherhgrepo 210s $ find .hg -name 'git*' | sort 210s - $ hg tags -v 210s - tip 0:ff7a2f2d8d70 210s - $ hg log -r 'fromgit()' -T '{rev}:{node|short} {gitnode|short}\n' 210s - $ cd .. 210s - $ rm -r otherhgrepo 210s - 210s -Nor using a pull clone 210s - 210s - $ hg clone -U --pull hgrepo otherhgrepo 210s - requesting all changes 210s - adding changesets 210s - adding manifests 210s - adding file changes 210s - added 1 changesets with 1 changes to 1 files 210s - new changesets ff7a2f2d8d70 210s - $ cd otherhgrepo 210s - $ find .hg -name 'git*' | sort 210s - $ hg tags -v 210s - tip 0:ff7a2f2d8d70 210s - $ hg log -r 'fromgit()' -T '{rev}:{node|short} {gitnode|short}\n' 210s - $ cd .. 210s - $ rm -r otherhgrepo 210s - 210s -But we can enable it! 210s - 210s - $ cat >> $HGRCPATH < [experimental] 210s - > hg-git-serve = yes 210s - > EOF 210s - 210s -Check transferring between Mercurial repositories using a 210s -copying/linking clone 210s - 210s - $ hg clone -U hgrepo otherhgrepo 210s - $ cd otherhgrepo 210s - $ find .hg -name 'git*' | sort 210s - $ hg tags -q 210s - tip 210s - $ hg log -r 'fromgit()' -T '{rev}:{node|short} {gitnode|short}\n' 210s - $ cd .. 210s - 210s -Checking using a pull clone 210s - 210s - $ rm -rf otherhgrepo 210s - $ hg clone -U --pull hgrepo otherhgrepo 210s - requesting all changes 210s - adding changesets 210s - adding manifests 210s - adding file changes 210s - added 1 changesets with 1 changes to 1 files 210s - new changesets ff7a2f2d8d70 210s - $ cd otherhgrepo 210s - $ hg tags -q 210s - tip 210s - alpha 210s - $ hg log -r 'fromgit()' -T '{rev}:{node|short} {gitnode|short}\n' 210s - 0:ff7a2f2d8d70 7eeab2ea75ec 210s - $ cd .. 210s - 210s -Can we repopulate the state from a Mercurial repository? 210s - 210s - $ cd otherhgrepo 210s - $ hg debug-remove-hggit-state 210s - clearing out the git cache data 210s - $ hg log -qr 'fromgit()' 210s - $ hg tags 210s - tip 0:ff7a2f2d8d70 210s - $ hg pull 210s - pulling from $TESTTMP/hgrepo 210s - searching for changes 210s - no changes found 210s - $ hg log -qr 'fromgit()' 210s - $ hg tags 210s - tip 0:ff7a2f2d8d70 210s - 210s -Sadly, no. 210s 210s ERROR: test-hg-clone.t output changed 211s ! 211s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-serve-git.t 211s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-serve-git.t.err 211s @@ -48,13 +48,104 @@ 211s \r (no-eol) (esc) 211s \r (no-eol) (esc) 211s importing commits 1/2 b23744d34f97 [======> ]\r (no-eol) (esc) 211s - importing commits 2/2 3af9773036a9 [=============>]\r (no-eol) (esc) 211s \r (no-eol) (esc) 211s importing 2 git commits 211s - new changesets c4d188f6e13d:221dd250e933 211s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 211s + ** which supports versions 6.9 of Mercurial. 211s + ** Please disable "hggit" and try your action again. 211s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 211s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 211s + ** Mercurial Distributed SCM (version 7.0.1) 211s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 211s + Traceback (most recent call last): 211s + File "/usr/bin/hg", line 51, in 211s + dispatch.run() 211s + ~~~~~~~~~~~~^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 211s + status = dispatch(req) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 211s + status = _rundispatch(req) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 211s + ret = _runcatch(req) or 0 211s + ~~~~~~~~~^^^^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 211s + return _callcatch(ui, _runcatchfunc) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 211s + return scmutil.callcatch(ui, func) 211s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 211s + return func() 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 211s + return _dispatch(req) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 211s + return runcommand( 211s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 211s + ) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 211s + ret = _runcommand(ui, options, cmd, d) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 211s + return cmdfunc() 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 211s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 211s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 211s + return func(*args, **kwargs) 211s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 211s + r = hg.clone( 211s + ui, 211s + ...<11 lines>... 211s + depth=opts.get('depth') or None, 211s + ) 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 211s + srcpeer, destpeer = orig(*args, **opts) 211s + ~~~~^^^^^^^^^^^^^^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 211s + exchange.pull( 211s + ~~~~~~~~~~~~~^ 211s + local, 211s + ^^^^^^ 211s + ...<5 lines>... 211s + depth=depth, 211s + ^^^^^^^^^^^^ 211s + ) 211s + ^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 211s + return f(*args, **kwargs) 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 211s + pullop.cgresult = repo.githandler.fetch(remote, heads) 211s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 211s + imported = self.import_git_objects( 211s + b'pull', 211s + ...<2 lines>... 211s + heads=heads, 211s + ) 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 211s + self.import_git_commit( 211s + ~~~~~~~~~~~~~~~~~~~~~~^ 211s + command, 211s + ^^^^^^^^ 211s + self.git[commit.sha], 211s + ^^^^^^^^^^^^^^^^^^^^^ 211s + commit.phase, 211s + ^^^^^^^^^^^^^ 211s + ) 211s + ^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 211s + files, gitlinks, git_renames = self.get_files_changed( 211s + ~~~~~~~~~~~~~~~~~~~~~~^ 211s + commit, detect_renames 211s + ^^^^^^^^^^^^^^^^^^^^^^ 211s + ) 211s + ^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 211s + oldfile, oldmode, oldsha = change.old 211s + ^^^^^^^^^^^^^^^^^^^^^^^^ 211s + TypeError: cannot unpack non-iterable NoneType object 211s + [1] 211s $ hg log -T 'HG:{node|short} GIT:{gitnode|short}\n' -R copy 211s - HG:221dd250e933 GIT:3af9773036a9 211s - HG:c4d188f6e13d GIT:b23744d34f97 211s + abort: repository copy not found 211s + [255] 211s $ hg tags -v -R copy 211s - tip 1:221dd250e933 211s - default/master 1:221dd250e933 git-remote 211s + abort: repository copy not found 211s + [255] 211s 211s ERROR: test-serve-git.t output changed 211s ! 211s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-multiple-remotes.t 211s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-multiple-remotes.t.err 211s @@ -28,50 +28,175 @@ 211s $ hg pull 211s pulling from $TESTTMP/gitrepo 211s importing 1 git commits 211s - adding bookmark master 211s - adding bookmark not-master 211s - new changesets ff7a2f2d8d70 (1 drafts) 211s - (run 'hg update' to get a working copy) 211s - pulling from $TESTTMP/repo.git 211s - no changes found 211s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 211s + ** which supports versions 6.9 of Mercurial. 211s + ** Please disable "hggit" and try your action again. 211s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 211s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 211s + ** Mercurial Distributed SCM (version 7.0.1) 211s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 211s + Traceback (most recent call last): 211s + File "/usr/bin/hg", line 51, in 211s + dispatch.run() 211s + ~~~~~~~~~~~~^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 211s + status = dispatch(req) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 211s + status = _rundispatch(req) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 211s + ret = _runcatch(req) or 0 211s + ~~~~~~~~~^^^^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 211s + return _callcatch(ui, _runcatchfunc) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 211s + return scmutil.callcatch(ui, func) 211s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 211s + return func() 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 211s + return _dispatch(req) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 211s + return runcommand( 211s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 211s + ) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 211s + ret = _runcommand(ui, options, cmd, d) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 211s + return cmdfunc() 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 211s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 211s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 211s + return func(*args, **kwargs) 211s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5235, in pull 211s + modheads = exchange.pull( 211s + ~~~~~~~~~~~~~^ 211s + repo, 211s + ^^^^^ 211s + ...<6 lines>... 211s + confirm=opts.get('confirm'), 211s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s + ).cgresult 211s + ^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 211s + return f(*args, **kwargs) 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 211s + pullop.cgresult = repo.githandler.fetch(remote, heads) 211s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 211s + imported = self.import_git_objects( 211s + b'pull', 211s + ...<2 lines>... 211s + heads=heads, 211s + ) 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 211s + self.import_git_commit( 211s + ~~~~~~~~~~~~~~~~~~~~~~^ 211s + command, 211s + ^^^^^^^^ 211s + self.git[commit.sha], 211s + ^^^^^^^^^^^^^^^^^^^^^ 211s + commit.phase, 211s + ^^^^^^^^^^^^^ 211s + ) 211s + ^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 211s + files, gitlinks, git_renames = self.get_files_changed( 211s + ~~~~~~~~~~~~~~~~~~~~~~^ 211s + commit, detect_renames 211s + ^^^^^^^^^^^^^^^^^^^^^^ 211s + ) 211s + ^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 211s + oldfile, oldmode, oldsha = change.old 211s + ^^^^^^^^^^^^^^^^^^^^^^^^ 211s + TypeError: cannot unpack non-iterable NoneType object 211s + [1] 211s $ hg tags 211s - tip 0:ff7a2f2d8d70 211s - git/not-master 0:ff7a2f2d8d70 211s - git/master 0:ff7a2f2d8d70 211s - bare/not-master 0:ff7a2f2d8d70 211s - bare/master 0:ff7a2f2d8d70 211s - also-git/not-master 0:ff7a2f2d8d70 211s - also-git/master 0:ff7a2f2d8d70 211s - also-bare/not-master 0:ff7a2f2d8d70 211s - also-bare/master 0:ff7a2f2d8d70 211s + tip -1:000000000000 211s 211s $ hg up master 211s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 211s - (activating bookmark master) 211s + abort: unknown revision 'master' 211s + [10] 211s $ echo beta > beta 211s $ fn_hg_commit -A -m "add beta" 211s $ hg push 211s pushing to $TESTTMP/gitrepo 211s - searching for changes 211s - adding objects 211s - remote: found 0 deltas to reuse 211s - added 1 commits with 1 trees and 1 blobs 211s - updating reference refs/heads/master 211s - pushing to $TESTTMP/repo.git 211s - searching for changes 211s - adding objects 211s - remote: found 0 deltas to reuse 211s - added 1 commits with 1 trees and 1 blobs 211s - updating reference refs/heads/master 211s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 211s + ** which supports versions 6.9 of Mercurial. 211s + ** Please disable "hggit" and try your action again. 211s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 211s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 211s + ** Mercurial Distributed SCM (version 7.0.1) 211s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 211s + Traceback (most recent call last): 211s + File "/usr/bin/hg", line 51, in 211s + dispatch.run() 211s + ~~~~~~~~~~~~^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 211s + status = dispatch(req) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 211s + status = _rundispatch(req) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 211s + ret = _runcatch(req) or 0 211s + ~~~~~~~~~^^^^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 211s + return _callcatch(ui, _runcatchfunc) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 211s + return scmutil.callcatch(ui, func) 211s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 211s + return func() 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 211s + return _dispatch(req) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 211s + return runcommand( 211s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 211s + ) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 211s + ret = _runcommand(ui, options, cmd, d) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 211s + return cmdfunc() 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 211s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 211s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 211s + return func(*args, **kwargs) 211s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 211s + pushop = exchange.push( 211s + repo, 211s + ...<6 lines>... 211s + opargs=opargs, 211s + ) 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 211s + return f(*args, **kwargs) 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 232, in exchangepush 211s + pushop.cgresult = repo.githandler.push( 211s + ~~~~~~~~~~~~~~~~~~~~^ 211s + remote.path, revs, bookmarks, force 211s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s + ) 211s + ^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 520, in push 211s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 211s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 211s + all_exportable = self.export_commits() 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 211s + self.export_git_objects() 211s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 211s + packer.pack(synchronous=True) 211s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 211s + _process_batch(self.ui, self.object_store, todo) 211s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 211s + object_store._remove_loose_object(obj.id) 211s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 211s + [1] 211s 211s $ hg tags 211s - tip 1:47580592d3d6 211s - git/master 1:47580592d3d6 211s - bare/master 1:47580592d3d6 211s - also-git/master 1:47580592d3d6 211s - also-bare/master 1:47580592d3d6 211s - git/not-master 0:ff7a2f2d8d70 211s - bare/not-master 0:ff7a2f2d8d70 211s - also-git/not-master 0:ff7a2f2d8d70 211s - also-bare/not-master 0:ff7a2f2d8d70 211s - 211s + tip 0:59e1f63242de 211s + 211s 211s ERROR: test-multiple-remotes.t output changed 211s ! 211s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-verify-fail.t 211s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-verify-fail.t.err 211s @@ -74,6 +74,63 @@ 211s $ hg debug-remove-hggit-state 211s clearing out the git cache data 211s $ hg gexport 211s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 211s + ** which supports versions 6.9 of Mercurial. 211s + ** Please disable "hggit" and try your action again. 211s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 211s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 211s + ** Mercurial Distributed SCM (version 7.0.1) 211s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 211s + Traceback (most recent call last): 211s + File "/usr/bin/hg", line 51, in 211s + dispatch.run() 211s + ~~~~~~~~~~~~^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 211s + status = dispatch(req) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 211s + status = _rundispatch(req) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 211s + ret = _runcatch(req) or 0 211s + ~~~~~~~~~^^^^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 211s + return _callcatch(ui, _runcatchfunc) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 211s + return scmutil.callcatch(ui, func) 211s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 211s + return func() 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 211s + return _dispatch(req) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 211s + return runcommand( 211s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 211s + ) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 211s + ret = _runcommand(ui, options, cmd, d) 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 211s + return cmdfunc() 211s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 211s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 211s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 211s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 211s + return func(*args, **kwargs) 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/commands.py", line 64, in gexport 211s + repo.githandler.export_commits() 211s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 211s + self.export_git_objects() 211s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 211s + packer.pack(synchronous=True) 211s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 211s + _process_batch(self.ui, self.object_store, todo) 211s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 211s + object_store._remove_loose_object(obj.id) 211s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 211s + [1] 211s $ mv .hg/git/objects/pack $TESTTMP/pack-old 211s $ for packfile in $TESTTMP/pack-old/*.pack 211s > do 211s 211s ERROR: test-verify-fail.t output changed 212s !. 212s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-phases-draft.t 212s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-phases-draft.t.err 212s @@ -12,73 +12,100 @@ 212s cloning without hggit.usephases does not publish local changesets 212s $ cd .. 212s $ hg clone gitrepo hgrepo | grep -v '^updating' 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 "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 212s + r = hg.clone( 212s + ui, 212s + ...<11 lines>... 212s + depth=opts.get('depth') or None, 212s + ) 212s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 212s + srcpeer, destpeer = orig(*args, **opts) 212s + ~~~~^^^^^^^^^^^^^^^ 212s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 212s + exchange.pull( 212s + ~~~~~~~~~~~~~^ 212s + local, 212s + ^^^^^^ 212s + ...<5 lines>... 212s + depth=depth, 212s + ^^^^^^^^^^^^ 212s + ) 212s + ^ 212s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 212s + return f(*args, **kwargs) 212s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 212s + pullop.cgresult = repo.githandler.fetch(remote, heads) 212s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 212s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 212s + imported = self.import_git_objects( 212s + b'pull', 212s + ...<2 lines>... 212s + heads=heads, 212s + ) 212s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 212s + self.import_git_commit( 212s + ~~~~~~~~~~~~~~~~~~~~~~^ 212s + command, 212s + ^^^^^^^^ 212s + self.git[commit.sha], 212s + ^^^^^^^^^^^^^^^^^^^^^ 212s + commit.phase, 212s + ^^^^^^^^^^^^^ 212s + ) 212s + ^ 212s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 212s + files, gitlinks, git_renames = self.get_files_changed( 212s + ~~~~~~~~~~~~~~~~~~~~~~^ 212s + commit, detect_renames 212s + ^^^^^^^^^^^^^^^^^^^^^^ 212s + ) 212s + ^ 212s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 212s + oldfile, oldmode, oldsha = change.old 212s + ^^^^^^^^^^^^^^^^^^^^^^^^ 212s + TypeError: cannot unpack non-iterable NoneType object 212s importing 1 git commits 212s - new changesets ff7a2f2d8d70 (1 drafts) 212s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 212s 212s $ cd hgrepo 212s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 212s $ hg phase -r master 212s - 0: draft 212s - 212s -pulling advances the draft phase, though 212s - 212s - $ hg phase -fs 0 212s - $ hg pull 212s - pulling from $TESTTMP/gitrepo 212s - no changes found 212s - $ hg phase tip 212s - 0: draft 212s - 212s -even if we don't have a name? 212s - 212s - $ hg phase -fs 0 212s - $ mv .hg/hgrc .hg/hgrc.bak 212s - $ hg pull ../gitrepo 212s - pulling from ../gitrepo 212s - no changes found 212s - $ hg phase tip 212s - 0: draft 212s - $ mv .hg/hgrc.bak .hg/hgrc 212s - $ cd .. 212s - 212s - 212s -pulling without hggit.usephases does not publish local changesets 212s - $ cd gitrepo 212s - $ git checkout -q master 212s - $ echo beta > beta 212s - $ git add beta 212s - $ fn_git_commit -m 'add beta' 212s - $ cd .. 212s - 212s - $ cd hgrepo 212s - $ hg pull 212s - pulling from $TESTTMP/gitrepo 212s - importing 1 git commits 212s - updating bookmark master 212s - new changesets 7fe02317c63d (1 drafts) 212s - (run 'hg update' to get a working copy) 212s - $ hg phase -r master 212s - 1: draft 212s - 212s -pulling with git.public does not publish local changesets 212s - $ hg --config git.public=master pull 212s - pulling from $TESTTMP/gitrepo 212s - no changes found 212s - $ hg phase -r master 212s - 1: draft 212s - 212s -pushing without hggit.usephases does not publish local changesets 212s - $ hg update master 212s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 212s - $ echo gamma > gamma 212s - $ hg add gamma 212s - $ hg commit -m 'gamma' 212s - $ hg push 212s - pushing to $TESTTMP/gitrepo 212s - searching for changes 212s - adding objects 212s - remote: found 0 deltas to reuse 212s - added 1 commits with 1 trees and 1 blobs 212s - updating reference refs/heads/master 212s - $ hg phase -r master 212s - 2: draft 212s 212s ERROR: test-phases-draft.t output changed 213s ! 213s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-pull-after-obsolete.t 213s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-pull-after-obsolete.t.err 213s @@ -21,51 +21,99 @@ 213s $ cd .. 213s $ hg clone -U gitrepo hgrepo 213s importing 2 git commits 213s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 213s + return f(*args, **kwargs) 213s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 213s + pullop.cgresult = repo.githandler.fetch(remote, heads) 213s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 213s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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: 31: cd: can't cd to hgrepo 213s $ hg up master 213s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 213s - (activating bookmark master) 213s - $ hg log --graph 213s - @ changeset: 1:7fe02317c63d 213s - | bookmark: master 213s - | tag: default/master 213s - | tag: thetag 213s - | tag: tip 213s - | user: test 213s - | date: Mon Jan 01 00:00:11 2007 +0000 213s - | summary: add beta 213s - | 213s - o changeset: 0:ff7a2f2d8d70 213s - user: test 213s - date: Mon Jan 01 00:00:10 2007 +0000 213s - summary: add alpha 213s - 213s - $ cd ../gitrepo 213s - $ echo beta line 2 >> beta 213s - $ git add beta 213s - $ fn_git_commit -m 'add to beta' 213s - 213s -Create a commit, obsolete it, and pull, to ensure that we can pull if 213s -the tipmost commit is hidden. 213s - 213s - $ cd ../hgrepo 213s - $ hg bookmark --inactive 213s - $ echo gamma > gamma 213s - $ hg add gamma 213s - $ fn_hg_commit -m 'add gamma' 213s - $ hg up master 213s - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 213s - (activating bookmark master) 213s - $ hg log -T '{rev}:{node} {desc}\n' -r tip 213s - 2:4090a1266584bc1a47ce562e9349b1e0f1b44611 add gamma 213s - $ hg debugobsolete 4090a1266584bc1a47ce562e9349b1e0f1b44611 213s - 1 new obsolescence markers 213s - obsoleted 1 changesets 213s - 213s - $ hg pull 213s - pulling from $TESTTMP/gitrepo 213s - importing 1 git commits 213s - updating bookmark master 213s - new changesets cc1e605d90db (1 drafts) 213s - (run 'hg update' to get a working copy) 213s 213s ERROR: test-pull-after-obsolete.t output changed 214s ! 214s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-gitignore.t 214s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-gitignore.t.err 214s @@ -27,6 +27,63 @@ 214s it's gone: 214s 214s $ hg gexport 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 "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/commands.py", line 64, in gexport 214s + repo.githandler.export_commits() 214s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 214s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 214s + self.export_git_objects() 214s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 214s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 214s + packer.pack(synchronous=True) 214s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 214s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 214s + _process_batch(self.ui, self.object_store, todo) 214s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 214s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 214s + object_store._remove_loose_object(obj.id) 214s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 214s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 214s + [1] 214s $ hg status 214s ? .gitignore 214s ? bar 214s 214s ERROR: test-gitignore.t output changed 216s ! 216s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-git-clone.t 216s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-git-clone.t.err 216s @@ -15,29 +15,110 @@ 216s 216s $ hg clone gitrepo hgrepo 216s importing 2 git commits 216s - new changesets ff7a2f2d8d70:7fe02317c63d (2 drafts) 216s - updating to bookmark master 216s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 216s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 216s + ** which supports versions 6.9 of Mercurial. 216s + ** Please disable "hggit" and try your action again. 216s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 216s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 216s + ** Mercurial Distributed SCM (version 7.0.1) 216s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 216s + Traceback (most recent call last): 216s + File "/usr/bin/hg", line 51, in 216s + dispatch.run() 216s + ~~~~~~~~~~~~^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 216s + status = dispatch(req) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 216s + status = _rundispatch(req) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 216s + ret = _runcatch(req) or 0 216s + ~~~~~~~~~^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 216s + return _callcatch(ui, _runcatchfunc) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 216s + return scmutil.callcatch(ui, func) 216s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 216s + return func() 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 216s + return _dispatch(req) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 216s + return runcommand( 216s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 216s + ) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 216s + ret = _runcommand(ui, options, cmd, d) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 216s + return cmdfunc() 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 216s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 216s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 216s + return func(*args, **kwargs) 216s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 216s + r = hg.clone( 216s + ui, 216s + ...<11 lines>... 216s + depth=opts.get('depth') or None, 216s + ) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 216s + srcpeer, destpeer = orig(*args, **opts) 216s + ~~~~^^^^^^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 216s + exchange.pull( 216s + ~~~~~~~~~~~~~^ 216s + local, 216s + ^^^^^^ 216s + ...<5 lines>... 216s + depth=depth, 216s + ^^^^^^^^^^^^ 216s + ) 216s + ^ 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 216s + return f(*args, **kwargs) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 216s + pullop.cgresult = repo.githandler.fetch(remote, heads) 216s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 216s + imported = self.import_git_objects( 216s + b'pull', 216s + ...<2 lines>... 216s + heads=heads, 216s + ) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 216s + self.import_git_commit( 216s + ~~~~~~~~~~~~~~~~~~~~~~^ 216s + command, 216s + ^^^^^^^^ 216s + self.git[commit.sha], 216s + ^^^^^^^^^^^^^^^^^^^^^ 216s + commit.phase, 216s + ^^^^^^^^^^^^^ 216s + ) 216s + ^ 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 216s + files, gitlinks, git_renames = self.get_files_changed( 216s + ~~~~~~~~~~~~~~~~~~~~~~^ 216s + commit, detect_renames 216s + ^^^^^^^^^^^^^^^^^^^^^^ 216s + ) 216s + ^ 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 216s + oldfile, oldmode, oldsha = change.old 216s + ^^^^^^^^^^^^^^^^^^^^^^^^ 216s + TypeError: cannot unpack non-iterable NoneType object 216s + [1] 216s $ hg -R hgrepo log --graph 216s - @ changeset: 1:7fe02317c63d 216s - | bookmark: master 216s - | tag: default/master 216s - | tag: tip 216s - | user: test 216s - | date: Mon Jan 01 00:00:11 2007 +0000 216s - | summary: add beta 216s - | 216s - o changeset: 0:ff7a2f2d8d70 216s - user: test 216s - date: Mon Jan 01 00:00:10 2007 +0000 216s - summary: add alpha 216s - 216s + abort: repository hgrepo not found 216s + [255] 216s 216s we should have some bookmarks 216s $ hg -R hgrepo book 216s - * master 1:7fe02317c63d 216s + abort: repository hgrepo not found 216s + [255] 216s $ hg -R hgrepo gverify 216s - verifying rev 7fe02317c63d against git commit 9497a4ee62e16ee641860d7677cdb2589ea15554 216s + abort: repository hgrepo not found 216s + [255] 216s 216s test for ssh vulnerability 216s 216s @@ -53,10 +134,180 @@ 216s abort: potentially unsafe hostname: '-oProxyCommand=rm${IFS}nonexistent' 216s [255] 216s $ hg clone -q 'git+ssh://fakehost|rm${IFS}nonexistent/path' 216s - ssh: * fakehost%7?rm%24%7????%7?nonexistent* (glob) 216s - abort: git remote error: The remote server unexpectedly closed the connection. 216s - [255] 216s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 216s + ** which supports versions 6.9 of Mercurial. 216s + ** Please disable "hggit" and try your action again. 216s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 216s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 216s + ** Mercurial Distributed SCM (version 7.0.1) 216s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 216s + Traceback (most recent call last): 216s + File "/usr/bin/hg", line 51, in 216s + dispatch.run() 216s + ~~~~~~~~~~~~^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 216s + status = dispatch(req) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 216s + status = _rundispatch(req) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 216s + ret = _runcatch(req) or 0 216s + ~~~~~~~~~^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 216s + return _callcatch(ui, _runcatchfunc) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 216s + return scmutil.callcatch(ui, func) 216s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 216s + return func() 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 216s + return _dispatch(req) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 216s + return runcommand( 216s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 216s + ) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 216s + ret = _runcommand(ui, options, cmd, d) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 216s + return cmdfunc() 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 216s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 216s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 216s + return func(*args, **kwargs) 216s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 216s + r = hg.clone( 216s + ui, 216s + ...<11 lines>... 216s + depth=opts.get('depth') or None, 216s + ) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 216s + srcpeer, destpeer = orig(*args, **opts) 216s + ~~~~^^^^^^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 216s + exchange.pull( 216s + ~~~~~~~~~~~~~^ 216s + local, 216s + ^^^^^^ 216s + ...<5 lines>... 216s + depth=depth, 216s + ^^^^^^^^^^^^ 216s + ) 216s + ^ 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 216s + return f(*args, **kwargs) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 216s + pullop.cgresult = repo.githandler.fetch(remote, heads) 216s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 391, in fetch 216s + result = self.fetch_pack(remote.path, heads) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1644, in fetch_pack 216s + ret = self._call_client( 216s + remote, 216s + ...<4 lines>... 216s + progress.progress, 216s + ) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1680, in _call_client 216s + ret = func(path, *args, **kwargs) 216s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 1599, in fetch_pack 216s + proto, can_read, stderr = self._connect(b"upload-pack", path, protocol_version) 216s + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 3139, in _connect 216s + con = self.ssh_vendor.run_command( 216s + self.host, 216s + ...<4 lines>... 216s + **kwargs, 216s + ) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/_ssh.py", line 23, in run_command 216s + assert isinstance(command, str) 216s + ~~~~~~~~~~^^^^^^^^^^^^^^ 216s + AssertionError 216s + [1] 216s $ hg clone -q 'git+ssh://fakehost%7Crm${IFS}nonexistent/path' 216s - ssh: * fakehost%7?rm%24%7????%7?nonexistent* (glob) 216s - abort: git remote error: The remote server unexpectedly closed the connection. 216s - [255] 216s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 216s + ** which supports versions 6.9 of Mercurial. 216s + ** Please disable "hggit" and try your action again. 216s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 216s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 216s + ** Mercurial Distributed SCM (version 7.0.1) 216s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 216s + Traceback (most recent call last): 216s + File "/usr/bin/hg", line 51, in 216s + dispatch.run() 216s + ~~~~~~~~~~~~^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 216s + status = dispatch(req) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 216s + status = _rundispatch(req) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 216s + ret = _runcatch(req) or 0 216s + ~~~~~~~~~^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 216s + return _callcatch(ui, _runcatchfunc) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 216s + return scmutil.callcatch(ui, func) 216s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 216s + return func() 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 216s + return _dispatch(req) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 216s + return runcommand( 216s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 216s + ) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 216s + ret = _runcommand(ui, options, cmd, d) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 216s + return cmdfunc() 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 216s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 216s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 216s + return func(*args, **kwargs) 216s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 216s + r = hg.clone( 216s + ui, 216s + ...<11 lines>... 216s + depth=opts.get('depth') or None, 216s + ) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 216s + srcpeer, destpeer = orig(*args, **opts) 216s + ~~~~^^^^^^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 216s + exchange.pull( 216s + ~~~~~~~~~~~~~^ 216s + local, 216s + ^^^^^^ 216s + ...<5 lines>... 216s + depth=depth, 216s + ^^^^^^^^^^^^ 216s + ) 216s + ^ 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 216s + return f(*args, **kwargs) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 216s + pullop.cgresult = repo.githandler.fetch(remote, heads) 216s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 391, in fetch 216s + result = self.fetch_pack(remote.path, heads) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1644, in fetch_pack 216s + ret = self._call_client( 216s + remote, 216s + ...<4 lines>... 216s + progress.progress, 216s + ) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1680, in _call_client 216s + ret = func(path, *args, **kwargs) 216s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 1599, in fetch_pack 216s + proto, can_read, stderr = self._connect(b"upload-pack", path, protocol_version) 216s + ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/dulwich/client.py", line 3139, in _connect 216s + con = self.ssh_vendor.run_command( 216s + self.host, 216s + ...<4 lines>... 216s + **kwargs, 216s + ) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/_ssh.py", line 23, in run_command 216s + assert isinstance(command, str) 216s + ~~~~~~~~~~^^^^^^^^^^^^^^ 216s + AssertionError 216s + [1] 216s 216s ERROR: test-git-clone.t output changed 216s ! 216s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-git-gpg.t 216s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-git-gpg.t.err 216s @@ -56,22 +56,100 @@ 216s 216s $ hg clone gitrepo hgrepo 216s importing 2 git commits 216s - new changesets ab60c5e55bd6:[0-9a-f]{12,12} \(2 drafts\) (re) 216s - updating to bookmark signed 216s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 216s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 216s + ** which supports versions 6.9 of Mercurial. 216s + ** Please disable "hggit" and try your action again. 216s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 216s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 216s + ** Mercurial Distributed SCM (version 7.0.1) 216s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 216s + Traceback (most recent call last): 216s + File "/usr/bin/hg", line 51, in 216s + dispatch.run() 216s + ~~~~~~~~~~~~^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 216s + status = dispatch(req) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 216s + status = _rundispatch(req) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 216s + ret = _runcatch(req) or 0 216s + ~~~~~~~~~^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 216s + return _callcatch(ui, _runcatchfunc) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 216s + return scmutil.callcatch(ui, func) 216s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 216s + return func() 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 216s + return _dispatch(req) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 216s + return runcommand( 216s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 216s + ) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 216s + ret = _runcommand(ui, options, cmd, d) 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 216s + return cmdfunc() 216s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 216s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 216s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 216s + return func(*args, **kwargs) 216s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 216s + r = hg.clone( 216s + ui, 216s + ...<11 lines>... 216s + depth=opts.get('depth') or None, 216s + ) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 216s + srcpeer, destpeer = orig(*args, **opts) 216s + ~~~~^^^^^^^^^^^^^^^ 216s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 216s + exchange.pull( 216s + ~~~~~~~~~~~~~^ 216s + local, 216s + ^^^^^^ 216s + ...<5 lines>... 216s + depth=depth, 216s + ^^^^^^^^^^^^ 216s + ) 216s + ^ 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 216s + return f(*args, **kwargs) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 216s + pullop.cgresult = repo.githandler.fetch(remote, heads) 216s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 216s + imported = self.import_git_objects( 216s + b'pull', 216s + ...<2 lines>... 216s + heads=heads, 216s + ) 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 216s + self.import_git_commit( 216s + ~~~~~~~~~~~~~~~~~~~~~~^ 216s + command, 216s + ^^^^^^^^ 216s + self.git[commit.sha], 216s + ^^^^^^^^^^^^^^^^^^^^^ 216s + commit.phase, 216s + ^^^^^^^^^^^^^ 216s + ) 216s + ^ 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 216s + files, gitlinks, git_renames = self.get_files_changed( 216s + ~~~~~~~~~~~~~~~~~~~~~~^ 216s + commit, detect_renames 216s + ^^^^^^^^^^^^^^^^^^^^^^ 216s + ) 216s + ^ 216s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 216s + oldfile, oldmode, oldsha = change.old 216s + ^^^^^^^^^^^^^^^^^^^^^^^^ 216s + TypeError: cannot unpack non-iterable NoneType object 216s + [1] 216s 216s $ cd hgrepo 216s + $TESTTMP.sh: 46: cd: can't cd to hgrepo 216s $ hg push ../gitrepo2 -B signed 216s - pushing to ../gitrepo2 216s - searching for changes 216s - adding objects 216s - remote: found 0 deltas to reuse 216s - added 1 commits with 1 trees and 0 blobs 216s - adding reference refs/heads/signed 216s - $ cd .. 216s - 216s -Verify the commit 216s - 216s - $ cd gitrepo2 216s - $ git show --show-signature signed | grep "Good signature from" 216s - gpg: Good signature from "hgtest" [ultimate] 216s 216s ERROR: test-git-gpg.t output changed 217s ! 217s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-keywords.t 217s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-keywords.t.err 217s @@ -22,28 +22,99 @@ 217s 217s $ hg clone gitrepo hgrepo 217s importing 3 git commits 217s - new changesets ff7a2f2d8d70:8e3f0ecc9aef (3 drafts) 217s - updating to bookmark master 217s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 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 2046, in clone 217s + r = hg.clone( 217s + ui, 217s + ...<11 lines>... 217s + depth=opts.get('depth') or None, 217s + ) 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 217s + srcpeer, destpeer = orig(*args, **opts) 217s + ~~~~^^^^^^^^^^^^^^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 217s + exchange.pull( 217s + ~~~~~~~~~~~~~^ 217s + local, 217s + ^^^^^^ 217s + ...<5 lines>... 217s + depth=depth, 217s + ^^^^^^^^^^^^ 217s + ) 217s + ^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 217s + return f(*args, **kwargs) 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 217s + pullop.cgresult = repo.githandler.fetch(remote, heads) 217s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 217s + imported = self.import_git_objects( 217s + b'pull', 217s + ...<2 lines>... 217s + heads=heads, 217s + ) 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 217s + self.import_git_commit( 217s + ~~~~~~~~~~~~~~~~~~~~~~^ 217s + command, 217s + ^^^^^^^^ 217s + self.git[commit.sha], 217s + ^^^^^^^^^^^^^^^^^^^^^ 217s + commit.phase, 217s + ^^^^^^^^^^^^^ 217s + ) 217s + ^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 217s + files, gitlinks, git_renames = self.get_files_changed( 217s + ~~~~~~~~~~~~~~~~~~~~~~^ 217s + commit, detect_renames 217s + ^^^^^^^^^^^^^^^^^^^^^^ 217s + ) 217s + ^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 217s + oldfile, oldmode, oldsha = change.old 217s + ^^^^^^^^^^^^^^^^^^^^^^^^ 217s + TypeError: cannot unpack non-iterable NoneType object 217s + [1] 217s $ cd hgrepo 217s + $TESTTMP.sh: 30: cd: can't cd to hgrepo 217s $ echo gamma > gamma 217s - $ hg add gamma 217s - $ hg commit -m 'add gamma' 217s - 217s - $ hg log --template "{rev} {node} {node|short} {gitnode} {gitnode|short}\n" 217s - 3 965bf7d08d3ac847dd8eb9e72ee0bf547d1a65d9 965bf7d08d3a 217s - 2 8e3f0ecc9aefd4ea2fdf8e2d5299cac548762a1c 8e3f0ecc9aef 7e2a5465ff4e3b992c429bb87a392620a0ac97b7 7e2a5465ff4e 217s - 1 7fe02317c63d9ee324d4b5df7c9296085162da1b 7fe02317c63d 9497a4ee62e16ee641860d7677cdb2589ea15554 9497a4ee62e1 217s - 0 ff7a2f2d8d7099694ae1e8b03838d40575bebb63 ff7a2f2d8d70 7eeab2ea75ec1ac0ff3d500b5b6f8a3447dd7c03 7eeab2ea75ec 217s - $ hg log --template "fromgit {rev}\n" --rev "fromgit()" 217s - fromgit 0 217s - fromgit 1 217s - fromgit 2 217s - $ hg log --template "gitnode_existsA {rev}\n" --rev "gitnode(9497a4ee62e16ee641860d7677cdb2589ea15554)" 217s - gitnode_existsA 1 217s - $ hg log --template "gitnode_existsB {rev}\n" --rev "gitnode(7eeab)" 217s - gitnode_existsB 0 217s - $ hg log --rev "gitnode(7e)" 217s - abort: git-mapfile@7e: ambiguous identifier!? (re) 217s - [50] 217s - $ hg log --template "gitnode_notexists {rev}\n" --rev "gitnode(1234567890ab)" 217s 217s ERROR: test-keywords.t output changed 217s ! 217s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-convergedmerge.t 217s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-convergedmerge.t.err 217s @@ -49,34 +49,88 @@ 217s $ hg bookmark -r4 master 217s $ hg push -r master ../repo.git 217s pushing to ../repo.git 217s - searching for changes 217s - adding objects 217s - remote: found 0 deltas to reuse 217s - added 5 commits with 3 trees and 3 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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 217s + return f(*args, **kwargs) 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 217s + all_exportable = self.export_commits() 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 217s + self.export_git_objects() 217s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 217s + packer.pack(synchronous=True) 217s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 217s + _process_batch(self.ui, self.object_store, todo) 217s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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 $ hg clone repo.git hgrepo2 217s - importing 5 git commits 217s - new changesets 5d1a6b64f9d0:eaa21d002113 (5 drafts) 217s - updating to bookmark master 217s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 217s + updating to branch default 217s + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 217s expect the same revision ids as above 217s $ hg -R hgrepo2 log --graph --style compact | sed 's/\[.*\]//g' 217s - @ 4:1,3 eaa21d002113 1970-01-01 00:00 +0000 test 217s - |\ merge 217s - | | 217s - | o 3 0dbe4ac1a758 1970-01-01 00:00 +0000 test 217s - | | B->C 217s - | | 217s - | o 2:0 7205e83b5a3f 1970-01-01 00:00 +0000 test 217s - | | A->B 217s - | | 217s - o | 1 ea82b67264a1 1970-01-01 00:00 +0000 test 217s - |/ A->C 217s - | 217s - o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test 217s - origin 217s - 217s $ hg -R hgrepo2 gverify 217s - verifying rev eaa21d002113 against git commit fb8c9e2afe5418cfff337eeed79fad5dd58826f0 217s + abort: no git commit found for rev 000000000000 217s + (if this is an octopus merge, verify against the last rev) 217s + [255] 217s 217s ERROR: test-convergedmerge.t output changed 217s ! 217s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-subrepos-delete.t 217s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-subrepos-delete.t.err 217s @@ -53,21 +53,99 @@ 217s 217s $ hg clone -U repo.git hgrepo 217s importing 3 git commits 217s - new changesets e532b2bfda10:cc611d35fb62 (3 drafts) 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 2046, in clone 217s + r = hg.clone( 217s + ui, 217s + ...<11 lines>... 217s + depth=opts.get('depth') or None, 217s + ) 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 217s + srcpeer, destpeer = orig(*args, **opts) 217s + ~~~~^^^^^^^^^^^^^^^ 217s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 217s + exchange.pull( 217s + ~~~~~~~~~~~~~^ 217s + local, 217s + ^^^^^^ 217s + ...<5 lines>... 217s + depth=depth, 217s + ^^^^^^^^^^^^ 217s + ) 217s + ^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 217s + return f(*args, **kwargs) 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 217s + pullop.cgresult = repo.githandler.fetch(remote, heads) 217s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 217s + imported = self.import_git_objects( 217s + b'pull', 217s + ...<2 lines>... 217s + heads=heads, 217s + ) 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 217s + self.import_git_commit( 217s + ~~~~~~~~~~~~~~~~~~~~~~^ 217s + command, 217s + ^^^^^^^^ 217s + self.git[commit.sha], 217s + ^^^^^^^^^^^^^^^^^^^^^ 217s + commit.phase, 217s + ^^^^^^^^^^^^^ 217s + ) 217s + ^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 217s + files, gitlinks, git_renames = self.get_files_changed( 217s + ~~~~~~~~~~~~~~~~~~~~~~^ 217s + commit, detect_renames 217s + ^^^^^^^^^^^^^^^^^^^^^^ 217s + ) 217s + ^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 217s + oldfile, oldmode, oldsha = change.old 217s + ^^^^^^^^^^^^^^^^^^^^^^^^ 217s + TypeError: cannot unpack non-iterable NoneType object 217s + [1] 217s $ cd hgrepo 217s + $TESTTMP.sh: 50: cd: can't cd to hgrepo 217s $ hg log --graph --template info 217s - o 217s - | commit: 2:cc611d35fb62 delete subrepo 217s - | added: 217s - | removed: .hgsub .hgsubstate 217s - o 217s - | commit: 1:8d549bcc5179 add subrepo 217s - | added: .hgsub .hgsubstate 217s - | removed: 217s - o 217s - commit: 0:e532b2bfda10 add alpha 217s - added: alpha 217s - removed: 217s - $ hg manifest -r tip 217s - alpha 217s - $ cd .. 217s 217s ERROR: test-subrepos-delete.t output changed 217s ! 217s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-conflict-1.t 217s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-conflict-1.t.err 217s @@ -47,29 +47,84 @@ 217s $ hg bookmark -r tip master 217s $ hg push -r master ../repo.git 217s pushing to ../repo.git 217s - searching for changes 217s - adding objects 217s - remote: found 0 deltas to reuse 217s - added 4 commits with 3 trees and 3 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.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 217s + return f(*args, **kwargs) 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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.o3VBq3/build.GHT/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.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 217s + all_exportable = self.export_commits() 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 217s + self.export_git_objects() 217s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 217s + packer.pack(synchronous=True) 217s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 217s + _process_batch(self.ui, self.object_store, todo) 217s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 217s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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 $ hg clone repo.git hgrepo2 217s - importing 4 git commits 217s - new changesets 5d1a6b64f9d0:6c53bc0f062f (4 drafts) 217s - updating to bookmark master 217s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 217s + updating to branch default 217s + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 217s expect the same revision ids as above 217s $ hg -R hgrepo2 log --graph --style compact | sed 's/\[.*\]//g' 217s - @ 3:1,2 6c53bc0f062f 1970-01-01 00:00 +0000 test 217s - |\ merge to C 217s - | | 217s - | o 2:0 7205e83b5a3f 1970-01-01 00:00 +0000 test 217s - | | A->B 217s - | | 217s - o | 1 ea82b67264a1 1970-01-01 00:00 +0000 test 217s - |/ A->C 217s - | 217s - o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test 217s - origin 217s - 217s 217s ERROR: test-conflict-1.t output changed 218s ! 218s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-conflict-2.t 218s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-conflict-2.t.err 218s @@ -47,29 +47,84 @@ 218s $ hg bookmark -r tip master 218s $ hg push -r master ../repo.git 218s pushing to ../repo.git 218s - searching for changes 218s - adding objects 218s - remote: found 0 deltas to reuse 218s - added 4 commits with 3 trees and 3 blobs 218s - adding reference refs/heads/master 218s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 218s + ** which supports versions 6.9 of Mercurial. 218s + ** Please disable "hggit" and try your action again. 218s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 218s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 218s + ** Mercurial Distributed SCM (version 7.0.1) 218s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 218s + Traceback (most recent call last): 218s + File "/usr/bin/hg", line 51, in 218s + dispatch.run() 218s + ~~~~~~~~~~~~^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 218s + status = dispatch(req) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 218s + status = _rundispatch(req) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 218s + ret = _runcatch(req) or 0 218s + ~~~~~~~~~^^^^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 218s + return _callcatch(ui, _runcatchfunc) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 218s + return scmutil.callcatch(ui, func) 218s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 218s + return func() 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 218s + return _dispatch(req) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 218s + return runcommand( 218s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 218s + ) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 218s + ret = _runcommand(ui, options, cmd, d) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 218s + return cmdfunc() 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 218s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 218s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 218s + return func(*args, **kwargs) 218s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 218s + pushop = exchange.push( 218s + repo, 218s + ...<6 lines>... 218s + opargs=opargs, 218s + ) 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 218s + return f(*args, **kwargs) 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 232, in exchangepush 218s + pushop.cgresult = repo.githandler.push( 218s + ~~~~~~~~~~~~~~~~~~~~^ 218s + remote.path, revs, bookmarks, force 218s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 218s + ) 218s + ^ 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 520, in push 218s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 218s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 218s + all_exportable = self.export_commits() 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 218s + self.export_git_objects() 218s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 218s + packer.pack(synchronous=True) 218s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 218s + _process_batch(self.ui, self.object_store, todo) 218s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 218s + object_store._remove_loose_object(obj.id) 218s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 218s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 218s + [1] 218s $ cd .. 218s 218s $ hg clone repo.git hgrepo2 218s - importing 4 git commits 218s - new changesets 5d1a6b64f9d0:120385945d08 (4 drafts) 218s - updating to bookmark master 218s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 218s + updating to branch default 218s + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 218s expect the same revision ids as above 218s $ hg -R hgrepo2 log --graph --style compact | sed 's/\[.*\]//g' 218s - @ 3:1,2 120385945d08 1970-01-01 00:00 +0000 test 218s - |\ merge to B 218s - | | 218s - | o 2:0 7205e83b5a3f 1970-01-01 00:00 +0000 test 218s - | | A->B 218s - | | 218s - o | 1 ea82b67264a1 1970-01-01 00:00 +0000 test 218s - |/ A->C 218s - | 218s - o 0 5d1a6b64f9d0 1970-01-01 00:00 +0000 test 218s - origin 218s - 218s 218s ERROR: test-conflict-2.t output changed 218s ! 218s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-tree-decomposition.t 218s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-tree-decomposition.t.err 218s @@ -25,44 +25,99 @@ 218s 218s $ hg clone gitrepo hgrepo 218s importing 3 git commits 218s - new changesets d4d3d2417141:541f27994b81 (3 drafts) 218s - updating to bookmark master 218s - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 218s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 218s + ** which supports versions 6.9 of Mercurial. 218s + ** Please disable "hggit" and try your action again. 218s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 218s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 218s + ** Mercurial Distributed SCM (version 7.0.1) 218s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 218s + Traceback (most recent call last): 218s + File "/usr/bin/hg", line 51, in 218s + dispatch.run() 218s + ~~~~~~~~~~~~^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 218s + status = dispatch(req) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 218s + status = _rundispatch(req) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 218s + ret = _runcatch(req) or 0 218s + ~~~~~~~~~^^^^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 218s + return _callcatch(ui, _runcatchfunc) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 218s + return scmutil.callcatch(ui, func) 218s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 218s + return func() 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 218s + return _dispatch(req) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 218s + return runcommand( 218s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 218s + ) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 218s + ret = _runcommand(ui, options, cmd, d) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 218s + return cmdfunc() 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 218s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 218s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 218s + return func(*args, **kwargs) 218s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 218s + r = hg.clone( 218s + ui, 218s + ...<11 lines>... 218s + depth=opts.get('depth') or None, 218s + ) 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 218s + srcpeer, destpeer = orig(*args, **opts) 218s + ~~~~^^^^^^^^^^^^^^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 218s + exchange.pull( 218s + ~~~~~~~~~~~~~^ 218s + local, 218s + ^^^^^^ 218s + ...<5 lines>... 218s + depth=depth, 218s + ^^^^^^^^^^^^ 218s + ) 218s + ^ 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 218s + return f(*args, **kwargs) 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 218s + pullop.cgresult = repo.githandler.fetch(remote, heads) 218s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 218s + imported = self.import_git_objects( 218s + b'pull', 218s + ...<2 lines>... 218s + heads=heads, 218s + ) 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 218s + self.import_git_commit( 218s + ~~~~~~~~~~~~~~~~~~~~~~^ 218s + command, 218s + ^^^^^^^^ 218s + self.git[commit.sha], 218s + ^^^^^^^^^^^^^^^^^^^^^ 218s + commit.phase, 218s + ^^^^^^^^^^^^^ 218s + ) 218s + ^ 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 218s + files, gitlinks, git_renames = self.get_files_changed( 218s + ~~~~~~~~~~~~~~~~~~~~~~^ 218s + commit, detect_renames 218s + ^^^^^^^^^^^^^^^^^^^^^^ 218s + ) 218s + ^ 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 218s + oldfile, oldmode, oldsha = change.old 218s + ^^^^^^^^^^^^^^^^^^^^^^^^ 218s + TypeError: cannot unpack non-iterable NoneType object 218s + [1] 218s $ cd hgrepo 218s + $TESTTMP.sh: 38: cd: can't cd to hgrepo 218s $ hg log --template 'adds: {file_adds}\ndels: {file_dels}\n' 218s - adds: d1 218s - dels: d1/f1 218s - adds: d2/f2 218s - dels: d1/f2 218s - adds: d1/f1 d1/f2 218s - dels: 218s - 218s - $ hg debug-remove-hggit-state 218s - clearing out the git cache data 218s - $ hg push ../repo.git 218s - pushing to ../repo.git 218s - searching for changes 218s - adding objects 218s - remote: found 0 deltas to reuse 218s - added 3 commits with 6 trees and 3 blobs 218s - adding reference refs/heads/master 218s - $ cd .. 218s - 218s - $ git --git-dir=repo.git log --pretty=medium 218s - commit 6e0dbd8cd92ed4823c69cb48d8a2b81f904e6e69 218s - Author: test 218s - Date: Mon Jan 1 00:00:12 2007 +0000 218s - 218s - replace a dir with a file 218s - 218s - commit a1874d5cd0b1549ed729e36f0da4a93ed36259ee 218s - Author: test 218s - Date: Mon Jan 1 00:00:11 2007 +0000 218s - 218s - rename 218s - 218s - commit 102c17a5deda49db3f10ec5573f9378867098b7c 218s - Author: test 218s - Date: Mon Jan 1 00:00:10 2007 +0000 218s - 218s - initial 218s 218s ERROR: test-tree-decomposition.t output changed 218s ! 218s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push-anonymous.t 218s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push-anonymous.t.err 218s @@ -26,27 +26,99 @@ 218s 218s $ hg clone -U gitrepo hgrepo 218s importing 1 git commits 218s - new changesets ff7a2f2d8d70 (1 drafts) 218s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 218s + ** which supports versions 6.9 of Mercurial. 218s + ** Please disable "hggit" and try your action again. 218s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 218s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 218s + ** Mercurial Distributed SCM (version 7.0.1) 218s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 218s + Traceback (most recent call last): 218s + File "/usr/bin/hg", line 51, in 218s + dispatch.run() 218s + ~~~~~~~~~~~~^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 218s + status = dispatch(req) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 218s + status = _rundispatch(req) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 218s + ret = _runcatch(req) or 0 218s + ~~~~~~~~~^^^^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 218s + return _callcatch(ui, _runcatchfunc) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 218s + return scmutil.callcatch(ui, func) 218s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 218s + return func() 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 218s + return _dispatch(req) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 218s + return runcommand( 218s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 218s + ) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 218s + ret = _runcommand(ui, options, cmd, d) 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 218s + return cmdfunc() 218s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 218s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 218s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 218s + return func(*args, **kwargs) 218s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 218s + r = hg.clone( 218s + ui, 218s + ...<11 lines>... 218s + depth=opts.get('depth') or None, 218s + ) 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 218s + srcpeer, destpeer = orig(*args, **opts) 218s + ~~~~^^^^^^^^^^^^^^^ 218s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 218s + exchange.pull( 218s + ~~~~~~~~~~~~~^ 218s + local, 218s + ^^^^^^ 218s + ...<5 lines>... 218s + depth=depth, 218s + ^^^^^^^^^^^^ 218s + ) 218s + ^ 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 218s + return f(*args, **kwargs) 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 218s + pullop.cgresult = repo.githandler.fetch(remote, heads) 218s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 218s + imported = self.import_git_objects( 218s + b'pull', 218s + ...<2 lines>... 218s + heads=heads, 218s + ) 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 218s + self.import_git_commit( 218s + ~~~~~~~~~~~~~~~~~~~~~~^ 218s + command, 218s + ^^^^^^^^ 218s + self.git[commit.sha], 218s + ^^^^^^^^^^^^^^^^^^^^^ 218s + commit.phase, 218s + ^^^^^^^^^^^^^ 218s + ) 218s + ^ 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 218s + files, gitlinks, git_renames = self.get_files_changed( 218s + ~~~~~~~~~~~~~~~~~~~~~~^ 218s + commit, detect_renames 218s + ^^^^^^^^^^^^^^^^^^^^^^ 218s + ) 218s + ^ 218s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 218s + oldfile, oldmode, oldsha = change.old 218s + ^^^^^^^^^^^^^^^^^^^^^^^^ 218s + TypeError: cannot unpack non-iterable NoneType object 218s + [1] 218s $ cd hgrepo 218s + $TESTTMP.sh: 20: cd: can't cd to hgrepo 218s $ hg up tip 218s - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 218s - $ echo beta > beta 218s - $ hg add beta 218s - $ fn_hg_commit -m "add beta" 218s - 218s -Pushing that changeset should print a helpful message: 218s - 218s - $ hg push 218s - pushing to $TESTTMP/gitrepo 218s - searching for changes 218s - no changes found (ignoring 1 changesets without bookmarks or tags) 218s - [1] 218s - 218s -But what about untagged, but secret changesets? 218s - 218s - $ hg phase -fs tip 218s - $ hg push 218s - pushing to $TESTTMP/gitrepo 218s - searching for changes 218s - no changes found 218s - [1] 218s 218s ERROR: test-push-anonymous.t output changed 219s ! 219s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-subrepos-push.t 219s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-subrepos-push.t.err 219s @@ -41,11 +41,80 @@ 219s pushing subrepo hg to $TESTTMP/hgsubrepo 219s searching for changes 219s no changes found 219s - searching for changes 219s - adding objects 219s - remote: found 0 deltas to reuse 219s - added 4 commits with 2 trees and 2 blobs 219s - adding reference refs/heads/master 219s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 219s + ** which supports versions 6.9 of Mercurial. 219s + ** Please disable "hggit" and try your action again. 219s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 219s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 219s + ** Mercurial Distributed SCM (version 7.0.1) 219s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 219s + Traceback (most recent call last): 219s + File "/usr/bin/hg", line 51, in 219s + dispatch.run() 219s + ~~~~~~~~~~~~^^ 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 219s + status = dispatch(req) 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 219s + status = _rundispatch(req) 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 219s + ret = _runcatch(req) or 0 219s + ~~~~~~~~~^^^^^ 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 219s + return _callcatch(ui, _runcatchfunc) 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 219s + return scmutil.callcatch(ui, func) 219s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 219s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 219s + return func() 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 219s + return _dispatch(req) 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 219s + return runcommand( 219s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 219s + ) 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 219s + ret = _runcommand(ui, options, cmd, d) 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 219s + return cmdfunc() 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 219s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 219s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 219s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 219s + return func(*args, **kwargs) 219s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 219s + pushop = exchange.push( 219s + repo, 219s + ...<6 lines>... 219s + opargs=opargs, 219s + ) 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 219s + return f(*args, **kwargs) 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 232, in exchangepush 219s + pushop.cgresult = repo.githandler.push( 219s + ~~~~~~~~~~~~~~~~~~~~^ 219s + remote.path, revs, bookmarks, force 219s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 219s + ) 219s + ^ 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 520, in push 219s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 219s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 219s + all_exportable = self.export_commits() 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 219s + self.export_git_objects() 219s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 219s + packer.pack(synchronous=True) 219s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 219s + _process_batch(self.ui, self.object_store, todo) 219s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 219s + object_store._remove_loose_object(obj.id) 219s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 219s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 219s + [1] 219s $ cat .hgsub 219s hg = ../hgsubrepo 219s git = [git]../gitsubrepo 219s @@ -58,21 +127,14 @@ 219s 219s $ git clone --recurse-submodules repo.git gitrepo 219s Cloning into 'gitrepo'... 219s + warning: You appear to have cloned an empty repository. 219s done. 219s - Submodule 'git' ($TESTTMP/gitsubrepo) registered for path 'git' 219s - Cloning into '$TESTTMP/gitrepo/git'... 219s - done. 219s - Submodule path 'git': checked out 'aaae5224095dca7403147c0e20cbac1f450b0e95' 219s $ cd gitrepo 219s $ ls -A 219s .git 219s - .gitmodules 219s - alpha 219s - git 219s $ cat .gitmodules 219s - [submodule "git"] 219s - path = git 219s - url = ../gitsubrepo 219s + cat: .gitmodules: No such file or directory (os error 2) 219s + [1] 219s $ ls -A git 219s - .git 219s - thefile 219s + ls: cannot access 'git': No such file or directory 219s + [2] 219s 219s ERROR: test-subrepos-push.t output changed 219s ! 219s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-ambiguousprefix.t 219s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-ambiguousprefix.t.err 219s @@ -22,12 +22,101 @@ 219s 219s $ hg clone gitrepo hgrepo 219s importing 3 git commits 219s - new changesets ff7a2f2d8d70:8e3f0ecc9aef (3 drafts) 219s - updating to bookmark master 219s - 3 files updated, 0 files merged, 0 files removed, 0 files unresolved 219s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 219s + ** which supports versions 6.9 of Mercurial. 219s + ** Please disable "hggit" and try your action again. 219s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 219s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 219s + ** Mercurial Distributed SCM (version 7.0.1) 219s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 219s + Traceback (most recent call last): 219s + File "/usr/bin/hg", line 51, in 219s + dispatch.run() 219s + ~~~~~~~~~~~~^^ 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 219s + status = dispatch(req) 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 219s + status = _rundispatch(req) 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 219s + ret = _runcatch(req) or 0 219s + ~~~~~~~~~^^^^^ 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 219s + return _callcatch(ui, _runcatchfunc) 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 219s + return scmutil.callcatch(ui, func) 219s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 219s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 219s + return func() 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 219s + return _dispatch(req) 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 219s + return runcommand( 219s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 219s + ) 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 219s + ret = _runcommand(ui, options, cmd, d) 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 219s + return cmdfunc() 219s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 219s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 219s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 219s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 219s + return func(*args, **kwargs) 219s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 219s + r = hg.clone( 219s + ui, 219s + ...<11 lines>... 219s + depth=opts.get('depth') or None, 219s + ) 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/schemes.py", line 116, in clone 219s + srcpeer, destpeer = orig(*args, **opts) 219s + ~~~~^^^^^^^^^^^^^^^ 219s + File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 219s + exchange.pull( 219s + ~~~~~~~~~~~~~^ 219s + local, 219s + ^^^^^^ 219s + ...<5 lines>... 219s + depth=depth, 219s + ^^^^^^^^^^^^ 219s + ) 219s + ^ 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 219s + return f(*args, **kwargs) 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 195, in exchangepull 219s + pullop.cgresult = repo.githandler.fetch(remote, heads) 219s + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 397, in fetch 219s + imported = self.import_git_objects( 219s + b'pull', 219s + ...<2 lines>... 219s + heads=heads, 219s + ) 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1085, in import_git_objects 219s + self.import_git_commit( 219s + ~~~~~~~~~~~~~~~~~~~~~~^ 219s + command, 219s + ^^^^^^^^ 219s + self.git[commit.sha], 219s + ^^^^^^^^^^^^^^^^^^^^^ 219s + commit.phase, 219s + ^^^^^^^^^^^^^ 219s + ) 219s + ^ 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1145, in import_git_commit 219s + files, gitlinks, git_renames = self.get_files_changed( 219s + ~~~~~~~~~~~~~~~~~~~~~~^ 219s + commit, detect_renames 219s + ^^^^^^^^^^^^^^^^^^^^^^ 219s + ) 219s + ^ 219s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 2130, in get_files_changed 219s + oldfile, oldmode, oldsha = change.old 219s + ^^^^^^^^^^^^^^^^^^^^^^^^ 219s + TypeError: cannot unpack non-iterable NoneType object 219s + [1] 219s 219s $ cd hgrepo 219s + $TESTTMP.sh: 30: cd: can't cd to hgrepo 219s 219s $ hg log -r 'gitnode(7e)' 219s - abort: git-mapfile@7e: ambiguous identifier!? (re) 219s - [50] 219s 219s ERROR: test-ambiguousprefix.t output changed 220s ! 220s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push-phases.t 220s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-push-phases.t.err 220s @@ -26,12 +26,80 @@ 220s $ hg book -r . secret 220s $ hg push 220s pushing to $TESTTMP/repo.git 220s - warning: not exporting secret bookmark 'secret' 220s - searching for changes 220s - adding objects 220s - remote: found 0 deltas to reuse 220s - added 1 commits with 1 trees and 1 blobs 220s - adding reference refs/heads/master 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 "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 220s + pushop = exchange.push( 220s + repo, 220s + ...<6 lines>... 220s + opargs=opargs, 220s + ) 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 220s + return f(*args, **kwargs) 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 232, in exchangepush 220s + pushop.cgresult = repo.githandler.push( 220s + ~~~~~~~~~~~~~~~~~~~~^ 220s + remote.path, revs, bookmarks, force 220s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 220s + ) 220s + ^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 520, in push 220s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 220s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 220s + all_exportable = self.export_commits() 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 220s + self.export_git_objects() 220s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 220s + packer.pack(synchronous=True) 220s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 220s + _process_batch(self.ui, self.object_store, todo) 220s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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 $ cd .. 220s $ hg -R hgrepo log --graph --template phases 220s @ changeset: 1:62966756ea96 220s @@ -44,8 +112,7 @@ 220s | 220s o changeset: 0:d4b83afc35d1 220s bookmark: master 220s - tag: default/master 220s - phase: public 220s + phase: draft 220s user: test 220s date: Mon Jan 01 00:00:10 2007 +0000 220s summary: alpha 220s @@ -63,14 +130,9 @@ 220s Only one changeset was pushed: 220s 220s $ GIT_DIR=repo.git git log --graph --all --decorate=short 220s - * commit 2cc4e3d19551e459a0dd606f4cf890de571c7d33 (HEAD -> master) 220s - Author: test 220s - Date: Mon Jan 1 00:00:10 2007 +0000 220s - 220s - alpha 220s 220s And this published the remote head: 220s 220s $ hg -R hgrepo phase 'all()' 220s - 0: public 220s + 0: draft 220s 1: secret 220s 220s ERROR: test-push-phases.t output changed 220s ! 220s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-annotate.t 220s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-annotate.t.err 220s @@ -46,6 +46,63 @@ 220s 0* a 220s 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.o3VBq3/build.GHT/src/hggit/commands.py", line 64, in gexport 220s + repo.githandler.export_commits() 220s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 220s + self.export_git_objects() 220s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 220s + packer.pack(synchronous=True) 220s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 220s + _process_batch(self.ui, self.object_store, todo) 220s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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 $ hg log -T '{rev}:{node} {gitnode}\n' 220s 2:beb139b96eec386addc02d48db524b7646ef1605 19388575d02e71e917e7013aa854d4a21c509819 220s 1:a9a255d66663f9216bdcf8dda69211d7280f7278 debec50a14cc4830584dd4fa1507c51cce1c098f 220s 220s ERROR: test-annotate.t output changed 220s ! 220s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-empty-working-tree.t 220s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-empty-working-tree.t.err 220s @@ -24,15 +24,81 @@ 220s clearing out the git cache data 220s $ hg push ../repo.git 220s pushing to ../repo.git 220s - searching for changes 220s - adding objects 220s - remote: found 0 deltas to reuse 220s - added 1 commits with 1 trees and 0 blobs 220s - adding reference refs/heads/master 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 "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 220s + pushop = exchange.push( 220s + repo, 220s + ...<6 lines>... 220s + opargs=opargs, 220s + ) 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 220s + return f(*args, **kwargs) 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 232, in exchangepush 220s + pushop.cgresult = repo.githandler.push( 220s + ~~~~~~~~~~~~~~~~~~~~^ 220s + remote.path, revs, bookmarks, force 220s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 220s + ) 220s + ^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 520, in push 220s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 220s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 220s + all_exportable = self.export_commits() 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 220s + self.export_git_objects() 220s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 220s + packer.pack(synchronous=True) 220s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 220s + _process_batch(self.ui, self.object_store, todo) 220s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 220s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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 $ cd .. 220s $ git --git-dir=repo.git log --pretty=medium 220s - commit 678256865a8c85ae925bf834369264193c88f8de 220s - Author: test 220s - Date: Mon Jan 1 00:00:00 2007 +0000 220s - 220s - empty 220s + fatal: your current branch 'master' does not have any commits yet 220s + [128] 220s 220s ERROR: test-empty-working-tree.t output changed 221s !s.. 221s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-gitignore-permissions.t 221s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-gitignore-permissions.t.err 221s @@ -18,6 +18,63 @@ 221s $ hg add thefile 221s $ hg ci -A -m commit 221s $ hg gexport 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 "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/commands.py", line 64, in gexport 221s + repo.githandler.export_commits() 221s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 221s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 221s + self.export_git_objects() 221s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 221s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 221s + packer.pack(synchronous=True) 221s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 221s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 221s + _process_batch(self.ui, self.object_store, todo) 221s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 221s + File "/tmp/autopkgtest.o3VBq3/build.GHT/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 221s Create a file that we can ignore 221s 221s 221s ERROR: test-gitignore-permissions.t output changed 222s ! 222s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-timezone.t 222s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-timezone.t.err 222s @@ -30,3 +30,60 @@ 222s $ hg import patch2 222s applying patch2 222s $ hg gexport 222s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 222s + ** which supports versions 6.9 of Mercurial. 222s + ** Please disable "hggit" and try your action again. 222s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 222s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 222s + ** Mercurial Distributed SCM (version 7.0.1) 222s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 222s + Traceback (most recent call last): 222s + File "/usr/bin/hg", line 51, in 222s + dispatch.run() 222s + ~~~~~~~~~~~~^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 222s + status = dispatch(req) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 222s + status = _rundispatch(req) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 222s + ret = _runcatch(req) or 0 222s + ~~~~~~~~~^^^^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 222s + return _callcatch(ui, _runcatchfunc) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 222s + return scmutil.callcatch(ui, func) 222s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 222s + return func() 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 222s + return _dispatch(req) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 222s + return runcommand( 222s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 222s + ) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 222s + ret = _runcommand(ui, options, cmd, d) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 222s + return cmdfunc() 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 222s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 222s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 222s + return func(*args, **kwargs) 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/commands.py", line 64, in gexport 222s + repo.githandler.export_commits() 222s + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 222s + self.export_git_objects() 222s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 222s + packer.pack(synchronous=True) 222s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 222s + _process_batch(self.ui, self.object_store, todo) 222s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 222s + object_store._remove_loose_object(obj.id) 222s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 222s + [1] 222s 222s ERROR: test-timezone.t output changed 222s ! 222s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-subrepos-drop.t 222s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-subrepos-drop.t.err 222s @@ -37,11 +37,80 @@ 222s $ hg -R hgrepo push 222s pushing to $TESTTMP/repo.git 222s warning: ignoring modifications to '.gitmodules' file; please use '.hgsub' instead 222s - searching for changes 222s - adding objects 222s - remote: found 0 deltas to reuse 222s - added 2 commits with 1 trees and 1 blobs 222s - adding reference refs/heads/master 222s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 222s + ** which supports versions 6.9 of Mercurial. 222s + ** Please disable "hggit" and try your action again. 222s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 222s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 222s + ** Mercurial Distributed SCM (version 7.0.1) 222s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 222s + Traceback (most recent call last): 222s + File "/usr/bin/hg", line 51, in 222s + dispatch.run() 222s + ~~~~~~~~~~~~^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 222s + status = dispatch(req) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 222s + status = _rundispatch(req) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 222s + ret = _runcatch(req) or 0 222s + ~~~~~~~~~^^^^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 222s + return _callcatch(ui, _runcatchfunc) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 222s + return scmutil.callcatch(ui, func) 222s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 222s + return func() 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 222s + return _dispatch(req) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 222s + return runcommand( 222s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 222s + ) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 222s + ret = _runcommand(ui, options, cmd, d) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 222s + return cmdfunc() 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 222s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 222s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 222s + return func(*args, **kwargs) 222s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 222s + pushop = exchange.push( 222s + repo, 222s + ...<6 lines>... 222s + opargs=opargs, 222s + ) 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 222s + return f(*args, **kwargs) 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 232, in exchangepush 222s + pushop.cgresult = repo.githandler.push( 222s + ~~~~~~~~~~~~~~~~~~~~^ 222s + remote.path, revs, bookmarks, force 222s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + ) 222s + ^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 520, in push 222s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 222s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 222s + all_exportable = self.export_commits() 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 222s + self.export_git_objects() 222s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 222s + packer.pack(synchronous=True) 222s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 222s + _process_batch(self.ui, self.object_store, todo) 222s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 222s + object_store._remove_loose_object(obj.id) 222s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 222s + [1] 222s 222s But we don't get a warning if we don't touch .gitmodules: 222s 222s @@ -50,19 +119,87 @@ 222s $ fn_hg_commit -A -m 'add that' 222s $ hg push 222s pushing to $TESTTMP/repo.git 222s - searching for changes 222s - adding objects 222s - remote: found 0 deltas to reuse 222s - added 1 commits with 1 trees and 0 blobs 222s - updating reference refs/heads/master 222s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 222s + ** which supports versions 6.9 of Mercurial. 222s + ** Please disable "hggit" and try your action again. 222s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 222s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 222s + ** Mercurial Distributed SCM (version 7.0.1) 222s + ** Extensions loaded: hggit unknown (dulwich 0.24.10) 222s + Traceback (most recent call last): 222s + File "/usr/bin/hg", line 51, in 222s + dispatch.run() 222s + ~~~~~~~~~~~~^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 222s + status = dispatch(req) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 222s + status = _rundispatch(req) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 222s + ret = _runcatch(req) or 0 222s + ~~~~~~~~~^^^^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 222s + return _callcatch(ui, _runcatchfunc) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 222s + return scmutil.callcatch(ui, func) 222s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 222s + return func() 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 222s + return _dispatch(req) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 222s + return runcommand( 222s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 222s + ) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 222s + ret = _runcommand(ui, options, cmd, d) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 222s + return cmdfunc() 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 222s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 222s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 222s + return func(*args, **kwargs) 222s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 222s + pushop = exchange.push( 222s + repo, 222s + ...<6 lines>... 222s + opargs=opargs, 222s + ) 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 222s + return f(*args, **kwargs) 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 232, in exchangepush 222s + pushop.cgresult = repo.githandler.push( 222s + ~~~~~~~~~~~~~~~~~~~~^ 222s + remote.path, revs, bookmarks, force 222s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + ) 222s + ^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 520, in push 222s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 222s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 222s + all_exportable = self.export_commits() 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 222s + self.export_git_objects() 222s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 222s + packer.pack(synchronous=True) 222s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 222s + _process_batch(self.ui, self.object_store, todo) 222s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 222s + object_store._remove_loose_object(obj.id) 222s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 222s + [1] 222s $ cd .. 222s 222s Check that it didn't silenty come through, or something: 222s 222s $ git clone repo.git gitrepo 222s Cloning into 'gitrepo'... 222s + warning: You appear to have cloned an empty repository. 222s done. 222s $ ls -A gitrepo 222s .git 222s - that 222s - this 222s 222s ERROR: test-subrepos-drop.t output changed 222s ! 222s --- /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-gitignore-share.t 222s +++ /tmp/autopkgtest.o3VBq3/build.GHT/src/tests/test-gitignore-share.t.err 222s @@ -20,11 +20,80 @@ 222s $ hg book master 222s $ hg push 222s pushing to $TESTTMP/repo.git 222s - searching for changes 222s - adding objects 222s - remote: found 0 deltas to reuse 222s - added 1 commits with 1 trees and 1 blobs 222s - adding reference refs/heads/master 222s + ** Unknown exception encountered with possibly-broken third-party extension "hggit" unknown (dulwich 0.24.10) 222s + ** which supports versions 6.9 of Mercurial. 222s + ** Please disable "hggit" and try your action again. 222s + ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 222s + ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 222s + ** Mercurial Distributed SCM (version 7.0.1) 222s + ** Extensions loaded: hggit unknown (dulwich 0.24.10), share 222s + Traceback (most recent call last): 222s + File "/usr/bin/hg", line 51, in 222s + dispatch.run() 222s + ~~~~~~~~~~~~^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 222s + status = dispatch(req) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 222s + status = _rundispatch(req) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 222s + ret = _runcatch(req) or 0 222s + ~~~~~~~~~^^^^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 222s + return _callcatch(ui, _runcatchfunc) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 222s + return scmutil.callcatch(ui, func) 222s + ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 222s + return func() 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 222s + return _dispatch(req) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 222s + return runcommand( 222s + lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 222s + ) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 222s + ret = _runcommand(ui, options, cmd, d) 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 222s + return cmdfunc() 222s + File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 222s + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 222s + ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 222s + File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 222s + return func(*args, **kwargs) 222s + File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 5567, in push 222s + pushop = exchange.push( 222s + repo, 222s + ...<6 lines>... 222s + opargs=opargs, 222s + ) 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/util.py", line 98, in inner 222s + return f(*args, **kwargs) 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gitrepo.py", line 232, in exchangepush 222s + pushop.cgresult = repo.githandler.push( 222s + ~~~~~~~~~~~~~~~~~~~~^ 222s + remote.path, revs, bookmarks, force 222s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + ) 222s + ^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 520, in push 222s + old_refs, new_refs = self.upload_pack(remote, revs, bookmarks, force) 222s + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 1421, in upload_pack 222s + all_exportable = self.export_commits() 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 465, in export_commits 222s + self.export_git_objects() 222s + ~~~~~~~~~~~~~~~~~~~~~~~^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/git_handler.py", line 715, in export_git_objects 222s + packer.pack(synchronous=True) 222s + ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 121, in pack 222s + _process_batch(self.ui, self.object_store, todo) 222s + ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + File "/tmp/autopkgtest.o3VBq3/build.GHT/src/hggit/gc.py", line 59, in _process_batch 222s + object_store._remove_loose_object(obj.id) 222s + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 222s + AttributeError: 'DiskObjectStore' object has no attribute '_remove_loose_object'. Did you mean: '_get_loose_object'? 222s + [1] 222s $ cd .. 222s 222s We should also ignore the file in a shared repository: 222s 222s ERROR: test-gitignore-share.t output changed 225s !.. 225s Skipped test-check-black.t: missing feature: the black formatter for python (>= 22.3) 225s Skipped test-check-commit.t: missing feature: running tests from repository 225s Skipped test-check-pyflakes.t: missing feature: Pyflakes python linter 225s Skipped test-check-pylint.t: missing feature: Pylint python linter 225s Skipped test-encoding.t: blacklisted 225s Skipped test-gitignore-windows.t: missing feature: Windows 225s Skipped test-incoming.t: blacklisted 225s Skipped test-serve-ci.t: skipped 225s Skipped test-serve-dulwich.t: blacklisted 225s Failed test-ambiguousprefix.t: output changed and returned error code 1 225s Failed test-annotate.t: output changed 225s Failed test-bookmark-workflow.t: output changed and returned error code 1 225s Failed test-branch-bookmark-suffix.t#with-path: output changed and returned error code 1 225s Failed test-branch-bookmark-suffix.t#without-path: output changed and returned error code 1 225s Failed test-bundle.t: output changed and returned error code 1 225s Failed test-clone.t#draft: output changed 225s Failed test-clone.t#secret: output changed 225s Failed test-conflict-1.t: output changed 225s Failed test-conflict-2.t: output changed 225s Failed test-convergedmerge.t: output changed 225s Failed test-empty-working-tree.t: output changed 225s Failed test-extra.t: output changed and returned error code 1 225s Failed test-file-removal.t: output changed and returned error code 1 225s Failed test-gc.t: output changed and returned error code 1 225s Failed test-git-clone.t: output changed 225s Failed test-git-gpg.t: output changed and returned error code 1 225s Failed test-git-submodules.t: output changed and returned error code 1 225s Failed test-git-tags.t#draft: output changed and returned error code 1 225s Failed test-git-tags.t#secret: output changed and returned error code 1 225s Failed test-git-workflow.t: output changed 225s Failed test-gitignore-permissions.t: output changed 225s Failed test-gitignore-share.t: output changed 225s Failed test-gitignore.t: output changed 225s Failed test-hg-author.t: output changed and returned error code 1 225s Failed test-hg-branch.t: output changed and returned error code 1 225s Failed test-hg-clone.t: output changed and returned error code 1 225s Failed test-hg-tags.t: output changed and returned error code 1 225s Failed test-hook.t: output changed 225s Failed test-illegal-contents.t: output changed 225s Failed test-invalid-refs.t: output changed and returned error code 1 225s Failed test-keywords.t: output changed and returned error code 1 225s Failed test-merge.t: output changed and returned error code 1 225s Failed test-multiple-remotes.t: output changed 225s Failed test-octopus.t: output changed and returned error code 1 225s Failed test-orphan-tags.t: output changed and returned error code 1 225s Failed test-outgoing.t: output changed and returned error code 1 225s Failed test-phases-draft.t: output changed and returned error code 1 225s Failed test-phases-public.t#publish-defaults: output changed and returned error code 1 225s Failed test-phases-public.t#publish-specific: output changed and returned error code 1 225s Failed test-phases-remote.t: output changed and returned error code 1 225s Failed test-pull-after-obsolete.t: output changed and returned error code 1 225s Failed test-pull-after-rebase.t: output changed and returned error code 1 225s Failed test-pull-after-strip.t: output changed and returned error code 1 225s Failed test-pull.t#draft: output changed 225s Failed test-pull.t#secret: output changed 225s Failed test-push-anonymous.t: output changed and returned error code 1 225s Failed test-push-authors.t: output changed 225s Failed test-push-detached.t: output changed and returned error code 1 225s Failed test-push-missing-commit.t: output changed and returned error code 1 225s Failed test-push-phases.t: output changed 225s Failed test-push-to-head.t: output changed and returned error code 1 225s Failed test-push.t: output changed and returned error code 1 225s Failed test-renames.t: output changed and returned error code 1 225s Failed test-serve-git.t: output changed 225s Failed test-serve-hg.t#with-hggit: output changed and returned error code 1 225s Failed test-serve-hg.t#without-hggit: output changed and returned error code 1 225s Failed test-subrepos-delete.t: output changed and returned error code 1 225s Failed test-subrepos-drop.t: output changed 225s Failed test-subrepos-push.t: output changed 225s Failed test-subrepos-syntax.t: output changed and returned error code 1 225s Failed test-subrepos.t: output changed and returned error code 1 225s Failed test-timezone.t: output changed 225s Failed test-transactions.t: output changed 225s Failed test-tree-decomposition.t: output changed and returned error code 1 225s Failed test-verify-fail.t: output changed 225s # Ran 73 tests, 9 skipped, 66 failed. 225s python hash seed: 441877301 225s make: *** [Makefile:15: tests] Error 1 226s autopkgtest [16:28:15]: test testsuite: -----------------------] 230s testsuite FAIL non-zero exit status 2 230s autopkgtest [16:28:19]: test testsuite: - - - - - - - - - - results - - - - - - - - - - 234s autopkgtest [16:28:23]: test mercurial-git: preparing testbed 260s autopkgtest [16:28:49]: testbed dpkg architecture: armhf 262s autopkgtest [16:28:51]: testbed apt version: 3.1.11 266s autopkgtest [16:28:55]: @@@@@@@@@@@@@@@@@@@@ test bed setup 268s autopkgtest [16:28:57]: testbed release detected to be: resolute 276s autopkgtest [16:29:05]: updating testbed package index (apt update) 278s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 278s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [87.8 kB] 278s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 278s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 278s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [81.5 kB] 278s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [22.9 kB] 278s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [839 kB] 279s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [9848 B] 279s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [138 kB] 279s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted armhf Packages [940 B] 279s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [515 kB] 279s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [9684 B] 279s Get:13 http://ftpmaster.internal/ubuntu resolute/main Sources [1416 kB] 279s Get:14 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 282s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1369 kB] 282s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [15.2 MB] 286s Fetched 41.1 MB in 8s (5375 kB/s) 287s Reading package lists... 294s autopkgtest [16:29:23]: upgrading testbed (apt dist-upgrade and autopurge) 296s Reading package lists... 297s Building dependency tree... 297s Reading state information... 297s Calculating upgrade... 298s The following packages will be upgraded: 298s usbutils 298s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 298s Need to get 77.7 kB of archives. 298s After this operation, 0 B of additional disk space will be used. 298s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf usbutils armhf 1:019-1 [77.7 kB] 299s Fetched 77.7 kB in 0s (258 kB/s) 299s (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 ... 65904 files and directories currently installed.) 299s Preparing to unpack .../usbutils_1%3a019-1_armhf.deb ... 299s Unpacking usbutils (1:019-1) over (1:018-2) ... 299s Setting up usbutils (1:019-1) ... 299s Processing triggers for man-db (2.13.1-1) ... 303s Reading package lists... 303s Building dependency tree... 303s Reading state information... 303s Solving dependencies... 304s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 306s autopkgtest [16:29:35]: rebooting testbed after setup commands that affected boot 372s Reading package lists... 373s Building dependency tree... 373s Reading state information... 373s Solving dependencies... 374s The following NEW packages will be installed: 374s git git-man liberror-perl mercurial mercurial-common mercurial-git 374s python3-dulwich 374s 0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. 374s Need to get 9516 kB of archives. 374s After this operation, 50.2 MB of additional disk space will be used. 374s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf liberror-perl all 0.17030-1 [23.5 kB] 374s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf git-man all 1:2.51.0-1ubuntu1 [1179 kB] 375s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf git armhf 1:2.51.0-1ubuntu1 [4649 kB] 378s Get:4 http://ftpmaster.internal/ubuntu resolute/universe armhf mercurial-common all 7.0.1-2 [2783 kB] 378s Get:5 http://ftpmaster.internal/ubuntu resolute/universe armhf mercurial armhf 7.0.1-2 [437 kB] 378s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf python3-dulwich armhf 0.24.10-1 [383 kB] 378s Get:7 http://ftpmaster.internal/ubuntu resolute/universe armhf mercurial-git all 1.2.0-1 [60.9 kB] 379s Fetched 9516 kB in 5s (2017 kB/s) 379s Selecting previously unselected package liberror-perl. 379s (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 ... 65904 files and directories currently installed.) 379s Preparing to unpack .../0-liberror-perl_0.17030-1_all.deb ... 379s Unpacking liberror-perl (0.17030-1) ... 379s Selecting previously unselected package git-man. 379s Preparing to unpack .../1-git-man_1%3a2.51.0-1ubuntu1_all.deb ... 379s Unpacking git-man (1:2.51.0-1ubuntu1) ... 379s Selecting previously unselected package git. 379s Preparing to unpack .../2-git_1%3a2.51.0-1ubuntu1_armhf.deb ... 379s Unpacking git (1:2.51.0-1ubuntu1) ... 380s Selecting previously unselected package mercurial-common. 380s Preparing to unpack .../3-mercurial-common_7.0.1-2_all.deb ... 380s Unpacking mercurial-common (7.0.1-2) ... 380s Selecting previously unselected package mercurial. 380s Preparing to unpack .../4-mercurial_7.0.1-2_armhf.deb ... 380s Unpacking mercurial (7.0.1-2) ... 380s Selecting previously unselected package python3-dulwich. 380s Preparing to unpack .../5-python3-dulwich_0.24.10-1_armhf.deb ... 380s Unpacking python3-dulwich (0.24.10-1) ... 380s Selecting previously unselected package mercurial-git. 380s Preparing to unpack .../6-mercurial-git_1.2.0-1_all.deb ... 380s Unpacking mercurial-git (1.2.0-1) ... 380s Setting up mercurial-common (7.0.1-2) ... 382s Setting up liberror-perl (0.17030-1) ... 382s Setting up python3-dulwich (0.24.10-1) ... 383s Setting up git-man (1:2.51.0-1ubuntu1) ... 383s Setting up mercurial (7.0.1-2) ... 383s Creating config file /etc/mercurial/hgrc.d/hgext.rc with new version 384s Setting up mercurial-git (1.2.0-1) ... 384s mercurial-git extension is disabled by default. 384s You can follow the instructions in /usr/share/doc/mercurial-git/README.Debian to enable it. 384s Setting up git (1:2.51.0-1ubuntu1) ... 384s Processing triggers for man-db (2.13.1-1) ... 399s autopkgtest [16:31:08]: test mercurial-git: [----------------------- 401s Initialized empty Git repository in /tmp/autopkgtest.o3VBq3/build.GHT/src/git_server/ 401s Cloning into 'git_clone'... 402s warning: You appear to have cloned an empty repository. 402s done. 402s [master (root-commit) 816ce5e] a 402s 1 file changed, 1 insertion(+) 402s create mode 100644 a 402s To /tmp/autopkgtest.o3VBq3/build.GHT/src/git_server 402s * [new branch] master -> master 402s importing 1 git commits 402s ** Unknown exception encountered with possibly-broken third-party extension "hggit" 1.2.0 (dulwich 0.24.10) 402s ** which supports versions 6.9 of Mercurial. 402s ** Please disable "hggit" and try your action again. 402s ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 402s ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 402s ** Mercurial Distributed SCM (version 7.0.1) 402s ** Extensions loaded: hggit 1.2.0 (dulwich 0.24.10) 404s Traceback (most recent call last): 404s File "/usr/bin/hg", line 51, in 404s dispatch.run() 404s ~~~~~~~~~~~~^^ 404s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 404s status = dispatch(req) 404s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 404s status = _rundispatch(req) 404s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 404s ret = _runcatch(req) or 0 404s ~~~~~~~~~^^^^^ 404s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 404s return _callcatch(ui, _runcatchfunc) 404s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 404s return scmutil.callcatch(ui, func) 404s ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 404s File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 404s return func() 404s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 404s return _dispatch(req) 404s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 404s return runcommand( 404s lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 404s ) 404s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 404s ret = _runcommand(ui, options, cmd, d) 404s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 404s return cmdfunc() 404s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 404s d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 404s ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 404s File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 404s return func(*args, **kwargs) 404s File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 404s r = hg.clone( 404s ui, 404s ...<11 lines>... 404s depth=opts.get('depth') or None, 404s ) 404s File "/usr/lib/python3/dist-packages/hggit/schemes.py", line 116, in clone 404s srcpeer, destpeer = orig(*args, **opts) 404s ~~~~^^^^^^^^^^^^^^^ 404s File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 404s exchange.pull( 404s ~~~~~~~~~~~~~^ 404s local, 404s ^^^^^^ 404s ...<5 lines>... 404s depth=depth, 404s ^^^^^^^^^^^^ 404s ) 404s ^ 404s File "/usr/lib/python3/dist-packages/hggit/util.py", line 98, in inner 404s return f(*args, **kwargs) 404s File "/usr/lib/python3/dist-packages/hggit/gitrepo.py", line 195, in exchangepull 404s pullop.cgresult = repo.githandler.fetch(remote, heads) 404s ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 404s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 397, in fetch 404s imported = self.import_git_objects( 404s b'pull', 404s ...<2 lines>... 404s heads=heads, 404s ) 404s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 1085, in import_git_objects 404s self.import_git_commit( 404s ~~~~~~~~~~~~~~~~~~~~~~^ 404s command, 404s ^^^^^^^^ 404s self.git[commit.sha], 404s ^^^^^^^^^^^^^^^^^^^^^ 404s commit.phase, 404s ^^^^^^^^^^^^^ 404s ) 404s ^ 404s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 1145, in import_git_commit 404s files, gitlinks, git_renames = self.get_files_changed( 404s ~~~~~~~~~~~~~~~~~~~~~~^ 404s commit, detect_renames 404s ^^^^^^^^^^^^^^^^^^^^^^ 404s ) 404s ^ 404s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 2130, in get_files_changed 404s oldfile, oldmode, oldsha = change.old 404s ^^^^^^^^^^^^^^^^^^^^^^^^ 404s TypeError: cannot unpack non-iterable NoneType object 404s autopkgtest [16:31:13]: test mercurial-git: -----------------------] 408s mercurial-git FAIL non-zero exit status 1 408s autopkgtest [16:31:17]: test mercurial-git: - - - - - - - - - - results - - - - - - - - - - 409s autopkgtest [16:31:18]: test mercurial-git: - - - - - - - - - - stderr - - - - - - - - - - 409s ** Unknown exception encountered with possibly-broken third-party extension "hggit" 1.2.0 (dulwich 0.24.10) 409s ** which supports versions 6.9 of Mercurial. 409s ** Please disable "hggit" and try your action again. 409s ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues 409s ** Python 3.13.9 (main, Oct 15 2025, 14:56:22) [GCC 15.2.0] 409s ** Mercurial Distributed SCM (version 7.0.1) 409s ** Extensions loaded: hggit 1.2.0 (dulwich 0.24.10) 409s Traceback (most recent call last): 409s File "/usr/bin/hg", line 51, in 409s dispatch.run() 409s ~~~~~~~~~~~~^^ 409s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 144, in run 409s status = dispatch(req) 409s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 233, in dispatch 409s status = _rundispatch(req) 409s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 277, in _rundispatch 409s ret = _runcatch(req) or 0 409s ~~~~~~~~~^^^^^ 409s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 467, in _runcatch 409s return _callcatch(ui, _runcatchfunc) 409s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 477, in _callcatch 409s return scmutil.callcatch(ui, func) 409s ~~~~~~~~~~~~~~~~~^^^^^^^^^^ 409s File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 179, in callcatch 409s return func() 409s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 457, in _runcatchfunc 409s return _dispatch(req) 409s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1339, in _dispatch 409s return runcommand( 409s lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions 409s ) 409s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 974, in runcommand 409s ret = _runcommand(ui, options, cmd, d) 409s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1351, in _runcommand 409s return cmdfunc() 409s File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1337, in 409s d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) 409s ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 409s File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1964, in check 409s return func(*args, **kwargs) 409s File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 2046, in clone 409s r = hg.clone( 409s ui, 409s ...<11 lines>... 409s depth=opts.get('depth') or None, 409s ) 409s File "/usr/lib/python3/dist-packages/hggit/schemes.py", line 116, in clone 409s srcpeer, destpeer = orig(*args, **opts) 409s ~~~~^^^^^^^^^^^^^^^ 409s File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 1024, in clone 409s exchange.pull( 409s ~~~~~~~~~~~~~^ 409s local, 409s ^^^^^^ 409s ...<5 lines>... 409s depth=depth, 409s ^^^^^^^^^^^^ 409s ) 409s ^ 409s File "/usr/lib/python3/dist-packages/hggit/util.py", line 98, in inner 409s return f(*args, **kwargs) 409s File "/usr/lib/python3/dist-packages/hggit/gitrepo.py", line 195, in exchangepull 409s pullop.cgresult = repo.githandler.fetch(remote, heads) 409s ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 409s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 397, in fetch 409s imported = self.import_git_objects( 409s b'pull', 409s ...<2 lines>... 409s heads=heads, 409s ) 409s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 1085, in import_git_objects 409s self.import_git_commit( 409s ~~~~~~~~~~~~~~~~~~~~~~^ 409s command, 409s ^^^^^^^^ 409s self.git[commit.sha], 409s ^^^^^^^^^^^^^^^^^^^^^ 409s commit.phase, 409s ^^^^^^^^^^^^^ 409s ) 409s ^ 409s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 1145, in import_git_commit 409s files, gitlinks, git_renames = self.get_files_changed( 409s ~~~~~~~~~~~~~~~~~~~~~~^ 409s commit, detect_renames 409s ^^^^^^^^^^^^^^^^^^^^^^ 409s ) 409s ^ 409s File "/usr/lib/python3/dist-packages/hggit/git_handler.py", line 2130, in get_files_changed 409s oldfile, oldmode, oldsha = change.old 409s ^^^^^^^^^^^^^^^^^^^^^^^^ 409s TypeError: cannot unpack non-iterable NoneType object 412s autopkgtest [16:31:21]: @@@@@@@@@@@@@@@@@@@@ summary 412s testsuite FAIL non-zero exit status 2 412s mercurial-git FAIL non-zero exit status 1