AttributeError when cloning from Azure Repo
$ hg clone --debug --verbose git+https://dev.azure.com/redacted .
using redacted for authentication
http auth: user git, password ****************************************************
remote: Azure Repos
** Unknown exception encountered with possibly-broken third-party extension "hggit" 1.0.0 (dulwich 0.20.43)
** which supports versions 6.1 of Mercurial.
** Please disable "hggit" and try your action again.
** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/hg-git/issues
** Python 3.10.6 (main, Aug 10 2022, 11:19:32) [GCC 12.1.0]
** Mercurial Distributed SCM (version 6.2.1)
** Extensions loaded: absorb, churn, convert, evolve 10.5.2, hggit 1.0.0 (dulwich 0.20.43), histedit, rebase, topic 0.24.1
Traceback (most recent call last):
File "/home/aayjaychan/.local/bin/hg", line 59, in <module>
dispatch.run()
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/dispatch.py", line 143, in run
status = dispatch(req)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/dispatch.py", line 232, in dispatch
status = _rundispatch(req)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/dispatch.py", line 276, in _rundispatch
ret = _runcatch(req) or 0
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/dispatch.py", line 451, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/dispatch.py", line 461, in _callcatch
return scmutil.callcatch(ui, func)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/scmutil.py", line 153, in callcatch
return func()
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/dispatch.py", line 441, in _runcatchfunc
return _dispatch(req)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/dispatch.py", line 1254, in _dispatch
return runcommand(
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/dispatch.py", line 899, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/dispatch.py", line 1266, in _runcommand
return cmdfunc()
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/dispatch.py", line 1252, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/util.py", line 1880, in check
return func(*args, **kwargs)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/commands.py", line 1954, in clone
r = hg.clone(
File "/home/aayjaychan/.local/lib/python3.10/site-packages/hggit/schemes.py", line 94, in clone
srcpeer, destpeer = orig(*args, **opts)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/mercurial/hg.py", line 943, in clone
exchange.pull(
File "/home/aayjaychan/.local/lib/python3.10/site-packages/hggit/util.py", line 95, in inner
return f(*args, **kwargs)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/hggit/gitrepo.py", line 191, in exchangepull
pullop.cgresult = repo.githandler.fetch(remote, heads)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/hggit/git_handler.py", line 357, in fetch
result = self.fetch_pack(remote.path, heads)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/hggit/git_handler.py", line 1524, in fetch_pack
ret = self._call_client(
File "/home/aayjaychan/.local/lib/python3.10/site-packages/hggit/git_handler.py", line 1572, in _call_client
ret = func(path, *args, **kwargs)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/dulwich/client.py", line 2115, in fetch_pack
_handle_upload_pack_tail(
File "/home/aayjaychan/.local/lib/python3.10/site-packages/dulwich/client.py", line 616, in _handle_upload_pack_tail
_read_side_band64k_data(
File "/home/aayjaychan/.local/lib/python3.10/site-packages/dulwich/client.py", line 505, in _read_side_band64k_data
cb(pkt)
File "/home/aayjaychan/.local/lib/python3.10/site-packages/hggit/git_handler.py", line 134, in progress
pos = int(indeterminate.group(1))
AttributeError: 'NoneType' object has no attribute 'group'
Pulling the repository using git has the following output:
$ git clone https://dev.azure.com/redacted .
Cloning into '.'...
remote: Azure Repos
remote: Found 148 objects to send. (64 ms)
Receiving objects: 100% (148/148), 37.41 KiB | 1.38 MiB/s, done.
Resolving deltas: 100% (71/71), done.
Captured output reveals that Azure Repo returns a progress line without a number, so GitProgress.progress()
fails to parse it.
remote: <CR>
Edited by Aay Jay Chan