hg-git issueshttps://foss.heptapod.net/mercurial/hg-git/-/issues2024-03-14T12:49:14Zhttps://foss.heptapod.net/mercurial/hg-git/-/issues/411crash on "hg pull" with latest hg-git/dulwich against hg > 6.42024-03-14T12:49:14ZAurélien Campéascrash on "hg pull" with latest hg-git/dulwich against hg > 6.4It looks like hg-git does not handle the freshest hg releases.
Symptom :
```
pulling from ssh://hg@hg.sr.ht/~pythonian/tsview
** Unknown exception encountered with possibly-broken third-party extension "hggit" 1.0.2 (dulwich 0.21.5)
**...It looks like hg-git does not handle the freshest hg releases.
Symptom :
```
pulling from ssh://hg@hg.sr.ht/~pythonian/tsview
** Unknown exception encountered with possibly-broken third-party extension "hggit" 1.0.2 (dulwich 0.21.5)
** which supports versions 6.4 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.8 (main, Nov 24 2022, 14:06:33) [GCC 11.2.0]
** Mercurial Distributed SCM (version 6.5)
** Extensions loaded: absorb, hggit 1.0.2 (dulwich 0.21.5), histedit, patchbomb, purge, rebase, schemes, strip
Traceback (most recent call last):
File "/home/aurelien/miniconda3/bin/hg", line 59, in <module>
dispatch.run()
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/dispatch.py", line 143, in run
status = dispatch(req)
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/dispatch.py", line 232, in dispatch
status = _rundispatch(req)
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/dispatch.py", line 276, in _rundispatch
ret = _runcatch(req) or 0
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/dispatch.py", line 457, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/dispatch.py", line 467, in _callcatch
return scmutil.callcatch(ui, func)
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/scmutil.py", line 153, in callcatch
return func()
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/dispatch.py", line 447, in _runcatchfunc
return _dispatch(req)
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/dispatch.py", line 1272, in _dispatch
return runcommand(
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/dispatch.py", line 905, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/dispatch.py", line 1284, in _runcommand
return cmdfunc()
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/dispatch.py", line 1270, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/util.py", line 1881, in check
return func(*args, **kwargs)
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/util.py", line 1881, in check
return func(*args, **kwargs)
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/hgext/rebase.py", line 2174, in pullrebase
ret = orig(ui, repo, *args, **opts)
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/util.py", line 1881, in check
return func(*args, **kwargs)
File "/home/aurelien/miniconda3/lib/python3.10/site-packages/mercurial/commands.py", line 5475, in pull
revs, checkout = hg.addbranchrevs(
TypeError: safebranchrevs() got an unexpected keyword argument 'remotehidden'
```https://foss.heptapod.net/mercurial/hg-git/-/issues/368Missing annotated tags?2024-03-14T12:35:58ZDan Villiom Podlaski Christiansendanchr@gmail.comMissing annotated tags?I just noticed some breakage with `default`:
1) Create an annotated tag on `master` in Git.
2) Push it!
3) Pull it into Mercurial with `-r master`.
4) Notice breakage with e.g. `hg push` or `hg gexport`?I just noticed some breakage with `default`:
1) Create an annotated tag on `master` in Git.
2) Push it!
3) Pull it into Mercurial with `-r master`.
4) Notice breakage with e.g. `hg push` or `hg gexport`?1.2.0b1Dan Villiom Podlaski Christiansendanchr@gmail.comDan Villiom Podlaski Christiansendanchr@gmail.comhttps://foss.heptapod.net/mercurial/hg-git/-/issues/422hg out: mercurial.error.ProgrammingError: cannot call command branches: metho...2024-02-01T17:30:38ZErnie Raelhg out: mercurial.error.ProgrammingError: cannot call command branches: method of same name not available on peerConosle output, with trace, below
```
Mercurial Distributed SCM (version 6.4.3)
hggit external 1.0.2 (dulwich 0.21.5)
evolve external 11.0.1
```
I updated mercurial and got a different trace. Then I discovered that hgg...Conosle output, with trace, below
```
Mercurial Distributed SCM (version 6.4.3)
hggit external 1.0.2 (dulwich 0.21.5)
evolve external 11.0.1
```
I updated mercurial and got a different trace. Then I discovered that hggit seems to be incompatible with 6.5 (can't do anything with github), so I've gone back to 6.4.3 and edited this message to remove other traces of 6.5.
The branch `SizeOf` already exists on github, but is out of date.
I've recently (a day or two) been trying `hg push` without the `-B`. Wondering if that's how the problem was created.
```
hg glog -l2
@ changeset: 159:4dd3a9aa50cc
| bookmark: SizeOf
| tag: tip
| parent: 155:94fb010ebe97
| user: Ernie Rael <errael@raelity.com>
| date: Sun Jul 30 12:34:28 2023 -0700
| summary: SizeOf().
|
o changeset: 155:94fb010ebe97
| bookmark: main
~ tag: default/main
parent: 152:db5813a365cf
user: Ernie Rael <errael@raelity.com>
date: Sun Jul 30 09:29:53 2023 -0700
summary: Switch2KeyCode
```
```
$ hg out
comparing with git+ssh://git@github.com/errael/astrology-castro
searching for changes
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 3.10.6 (main, May 29 2023, 11:10:38) [GCC 11.3.0]
** Mercurial Distributed SCM (version 6.4.3)
** Extensions loaded: convert, evolve 11.0.1, extdiff, fsmonitor, graphlog, hggit 1.0.2 (dulwich 0.21.5), histedit, purge, rebase, share, topic 1.0.1, transplant
** ProgrammingError: cannot call command branches: method of same name not available on peer
Traceback (most recent call last):
File "/home/err/.venv/bin/hg", line 59, in <module>
dispatch.run()
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 143, in run
status = dispatch(req)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 232, in dispatch
status = _rundispatch(req)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 276, in _rundispatch
ret = _runcatch(req) or 0
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 451, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 461, in _callcatch
return scmutil.callcatch(ui, func)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/scmutil.py", line 153, in callcatch
return func()
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 441, in _runcatchfunc
return _dispatch(req)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 1266, in _dispatch
return runcommand(
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 899, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 1278, in _runcommand
return cmdfunc()
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 1264, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/util.py", line 1881, in check
return func(*args, **kwargs)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/util.py", line 1881, in check
return func(*args, **kwargs)
File "/home/err/.venv/lib/python3.10/site-packages/hgext3rd/topic/__init__.py", line 1465, in pushoutgoingwrap
return orig(ui, repo, *args, **opts)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/util.py", line 1881, in check
return func(*args, **kwargs)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/commands.py", line 5068, in outgoing
return hg.outgoing(ui, repo, dests, opts)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/hg.py", line 1495, in outgoing
o, others = _outgoing(ui, repo, dests, opts, subpath=subpath)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/hg.py", line 1441, in _outgoing
outgoing = discovery.findcommonoutgoing(
File "/home/err/.venv/lib/python3.10/site-packages/hggit/gitrepo.py", line 167, in findcommonoutgoing
commoninc = discovery.findcommonincoming(
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/discovery.py", line 54, in findcommonincoming
return treediscovery.findcommonincoming(repo, remote, heads, force)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/treediscovery.py", line 82, in findcommonincoming
branches = e.callcommand(b'branches', {b'nodes': unknown}).result()
File "/home/err/.venv/lib/python3.10/site-packages/hgext3rd/topic/server.py", line 91, in callcommand
return s.callcommand(command, args)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/wireprotov1peer.py", line 143, in callcommand
raise error.ProgrammingError(
mercurial.error.ProgrammingError: cannot call command branches: method of same name not available on peer
```https://foss.heptapod.net/mercurial/hg-git/-/issues/156clone of clone loses git metadata2023-11-09T00:11:44ZBitbucket Importerclone of clone loses git metadata*Created originally on Bitbucket by [jhein (John Hein)](https://bitbucket.org/%7B44e272bc-45a4-4034-8662-b143a1dabba7%7D/)*
If I clone a git repo using hg-git (thereby converting to an hg repo in the process), then clone from that clone...*Created originally on Bitbucket by [jhein (John Hein)](https://bitbucket.org/%7B44e272bc-45a4-4034-8662-b143a1dabba7%7D/)*
If I clone a git repo using hg-git (thereby converting to an hg repo in the process), then clone from that clone, it seems to me that all the git metadata is lost.
For instance, if the .hg directory after hg clone of a git repo looks something like so:
```
test-git-hg/.hg:
00changelog.i
bookmarks
bookmarks.current
branch
cache/
dirstate
git-mapfile
git-remote-refs
git-tags
git/
hgrc
requires
store/
undo.bookmarks
undo.branch
undo.desc
undo.dirstate
```
Then the clone of that clone I'm seeing is:
```
test-git-hg-clone/.hg:
00changelog.i
bookmarks
branch
cache/
dirstate
hgrc
requires
store/
```2.0.0https://foss.heptapod.net/mercurial/hg-git/-/issues/423Exception in 6.5.1 (you probably already know, but message asked for report),...2023-11-08T18:46:13ZGreg SmithException in 6.5.1 (you probably already know, but message asked for report), fixed by disable hg-git```
% hg pull --verbose http://ced-dc01:8000/spike8
pulling from "my repository that was OK in 6.4.x"
(sent 1 HTTP requests and 175 bytes; received 450 bytes in responses)
** Unknown exception encountered with possibly-broken third-party...```
% hg pull --verbose http://ced-dc01:8000/spike8
pulling from "my repository that was OK in 6.4.x"
(sent 1 HTTP requests and 175 bytes; received 450 bytes in responses)
** Unknown exception encountered with possibly-broken third-party extension "hggit" 1.0.2 (dulwich 0.21.3)
** which supports versions 6.4 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.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:36:42) [MSC v.1929 64 bit (AMD64)]
** Mercurial Distributed SCM (version 6.5.1)
** Extensions loaded: hggit 1.0.2 (dulwich 0.21.3), mq, rebase, strip, tortoisehg.util.hgcommands 6.5.1, tortoisehg.util.hgdispatch 6.5.1, tortoisehg.util.partialcommit 6.5.1, tortoisehg.util.pipeui 6.5.1, tortoisehg.util.win32ill 6.5.1, uncommit
** Unknown exception encountered with possibly-broken third-party extension "hggit" 1.0.2 (dulwich 0.21.3)
** which supports versions 6.4 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.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:36:42) [MSC v.1929 64 bit (AMD64)]
** Mercurial Distributed SCM (version 6.5.1)
** Extensions loaded: hggit 1.0.2 (dulwich 0.21.3), mq, rebase, strip, tortoisehg.util.hgcommands 6.5.1, tortoisehg.util.hgdispatch 6.5.1, tortoisehg.util.partialcommit 6.5.1, tortoisehg.util.pipeui 6.5.1, tortoisehg.util.win32ill 6.5.1, uncommit
Traceback (most recent call last):
File "hg", line 58, in <module>
File "mercurial\dispatch.pyc", line 143, in run
File "mercurial\dispatch.pyc", line 232, in dispatch
File "mercurial\dispatch.pyc", line 276, in _rundispatch
File "mercurial\dispatch.pyc", line 457, in _runcatch
File "mercurial\dispatch.pyc", line 467, in _callcatch
File "mercurial\scmutil.pyc", line 153, in callcatch
File "mercurial\dispatch.pyc", line 447, in _runcatchfunc
File "mercurial\dispatch.pyc", line 1272, in _dispatch
File "mercurial\dispatch.pyc", line 905, in runcommand
File "mercurial\dispatch.pyc", line 1284, in _runcommand
File "mercurial\dispatch.pyc", line 1270, in <lambda>
File "mercurial\util.pyc", line 1881, in check
File "mercurial\util.pyc", line 1881, in check
File "hgext\mq.pyc", line 4227, in mqcommand
File "mercurial\util.pyc", line 1881, in check
File "mercurial\commands.pyc", line 6696, in serve
File "mercurial\server.pyc", line 166, in runservice
File "mercurial\commandserver.pyc", line 461, in run
File "mercurial\commandserver.pyc", line 395, in serve
File "mercurial\commandserver.pyc", line 369, in serveone
File "mercurial\commandserver.pyc", line 350, in runcommand
File "mercurial\commandserver.pyc", line 289, in _dispatchcommand
File "mercurial\dispatch.pyc", line 232, in dispatch
File "mercurial\dispatch.pyc", line 276, in _rundispatch
File "mercurial\dispatch.pyc", line 457, in _runcatch
File "mercurial\dispatch.pyc", line 467, in _callcatch
File "mercurial\scmutil.pyc", line 153, in callcatch
File "mercurial\dispatch.pyc", line 447, in _runcatchfunc
File "tortoisehg\util\hgdispatch.pyc", line 27, in _dispatch
File "mercurial\dispatch.pyc", line 1272, in _dispatch
File "mercurial\dispatch.pyc", line 905, in runcommand
File "mercurial\dispatch.pyc", line 1284, in _runcommand
File "mercurial\dispatch.pyc", line 1270, in <lambda>
File "mercurial\util.pyc", line 1881, in check
File "mercurial\util.pyc", line 1881, in check
File "hgext\mq.pyc", line 4227, in mqcommand
File "mercurial\util.pyc", line 1881, in check
File "mercurial\util.pyc", line 1881, in check
File "hgext\rebase.pyc", line 2174, in pullrebase
File "mercurial\util.pyc", line 1881, in check
File "mercurial\commands.pyc", line 5475, in pull
TypeError: safebranchrevs() got an unexpected keyword argument 'remotehidden'
cmdserver: process exited unexpectedly with code 255
spike10%
```https://foss.heptapod.net/mercurial/hg-git/-/issues/425hg push is failing for hg-git bundled with TortoiseHg (6.5.1)2023-11-08T18:44:29ZNitin Bhidehg push is failing for hg-git bundled with TortoiseHg (6.5.1)hg push is failing for hg-git bundled with TortoiseHg (6.5.1). I am trying to push to a git repository on bitbucket. Hence disabling hg-git is not an option for me.
I get below call stack.
```
** Unknown exception encountered with poss...hg push is failing for hg-git bundled with TortoiseHg (6.5.1). I am trying to push to a git repository on bitbucket. Hence disabling hg-git is not an option for me.
I get below call stack.
```
** Unknown exception encountered with possibly-broken third-party extension "hggit" 1.0.2 (dulwich 0.21.3)
** which supports versions 6.4 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.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:36:42) [MSC v.1929 64 bit (AMD64)]
** Mercurial Distributed SCM (version 6.5.1)
** Extensions loaded: convert, githelp, hggit 1.0.2 (dulwich 0.21.3), rebase
Traceback (most recent call last):
File "hg", line 58, in <module>
File "mercurial\dispatch.pyc", line 143, in run
File "mercurial\dispatch.pyc", line 232, in dispatch
File "mercurial\dispatch.pyc", line 276, in _rundispatch
File "mercurial\dispatch.pyc", line 457, in _runcatch
File "mercurial\dispatch.pyc", line 467, in _callcatch
File "mercurial\scmutil.pyc", line 153, in callcatch
File "mercurial\dispatch.pyc", line 447, in _runcatchfunc
File "mercurial\dispatch.pyc", line 1272, in _dispatch
File "mercurial\dispatch.pyc", line 905, in runcommand
File "mercurial\dispatch.pyc", line 1284, in _runcommand
File "mercurial\dispatch.pyc", line 1270, in <lambda>
File "mercurial\util.pyc", line 1881, in check
File "mercurial\commands.pyc", line 5815, in push
File "hggit\schemes.pyc", line 112, in peer
File "mercurial\hg.pyc", line 265, in peer
TypeError: make_peer() got an unexpected keyword argument 'remotehidden'```https://foss.heptapod.net/mercurial/hg-git/-/issues/397Pushing to a git repository fails on a tag with double quotes2023-11-07T15:56:32ZTim LebedkovPushing to a git repository fails on a tag with double quotesHere is the error message in TortoiseHg:
Abbruch: Invalid argument: 'C:\Users\tlebedkov\Projekte/.hg/git\refs\tags\Regeleditor_"RE2-Regeln_auf_allen_Ebenen"_fertig'Here is the error message in TortoiseHg:
Abbruch: Invalid argument: 'C:\Users\tlebedkov\Projekte/.hg/git\refs\tags\Regeleditor_"RE2-Regeln_auf_allen_Ebenen"_fertig'1.0.3https://foss.heptapod.net/mercurial/hg-git/-/issues/406Unable to clone: reposetup.<locals>.topicrepo.peer() got an unexpected keywor...2023-04-04T21:50:18ZSanjay VasandaniUnable to clone: reposetup.<locals>.topicrepo.peer() got an unexpected keyword argument 'path'Command: `hg clone git+ssh://git@github.com:world-federation-of-advertisers/any-sketch.git`
Tail of stack trace:
```
/hggit/schemes.py", line 112, in peer
newpeer = orig(uiorrepo, *args, **opts)
File "/usr/lib/python3/dist-package...Command: `hg clone git+ssh://git@github.com:world-federation-of-advertisers/any-sketch.git`
Tail of stack trace:
```
/hggit/schemes.py", line 112, in peer
newpeer = orig(uiorrepo, *args, **opts)
File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 277, in peer
peer = repo.peer(path=peer_path)
TypeError: reposetup.<locals>.topicrepo.peer() got an unexpected keyword argument 'path'
```
Versions:
* Python 3.10.9
* Mercurial 6.3.2
* hg-git 1.0.2
* Dulwich 0.20.44
Possibly caused by https://www.mercurial-scm.org/repo/hg/rev/2d11a98db799https://foss.heptapod.net/mercurial/hg-git/-/issues/405report: hg v6.4 clone git repo from https crash2023-03-25T08:38:29Zalexraynereport: hg v6.4 clone git repo from https crashuse win10 x64 with python 3.8, hg-git: d6672f726bcf
installed mercurial 6.4 and got this crash:
```
% hg clone --verbose git+https://github.com/nimaltd/atc.git "D:\projects\mcu\AT\atc.hggit\atc"
отдалённый: Enumerating objects: 179, do...use win10 x64 with python 3.8, hg-git: d6672f726bcf
installed mercurial 6.4 and got this crash:
```
% hg clone --verbose git+https://github.com/nimaltd/atc.git "D:\projects\mcu\AT\atc.hggit\atc"
отдалённый: Enumerating objects: 179, done.
отдалённый: Counting objects: 100% (15/15), done.
отдалённый: Compressing objects: 100% (13/13), done.
отдалённый: Total 179 (delta 3), reused 4 (delta 1), pack-reused 164
отмена: Process cant access file, since it ocupied by other process: 'D:\projects\mcu\AT\atc.hggit\atc\.hg\git\objects\pack\hg-git-fetch-6ec05v5t.pack'
[команда вернула код 255 Fri Mar 24 16:09:33 2023]
```https://foss.heptapod.net/mercurial/hg-git/-/issues/208all git tags are being treated as global regardless of annotation2023-03-06T08:16:02ZBitbucket Importerall git tags are being treated as global regardless of annotation*Created originally on Bitbucket by Anonymous*
https://www.mercurial-scm.org/wiki/GitConcepts#Tag_model says that annotated git tags are global and that un-annotated tags are local.
An hg repo converted from a git repo marks all tags ...*Created originally on Bitbucket by Anonymous*
https://www.mercurial-scm.org/wiki/GitConcepts#Tag_model says that annotated git tags are global and that un-annotated tags are local.
An hg repo converted from a git repo marks all tags as global regardless of whether they are annotated in git.
in shell...
```
#!bash
hg clone my_git_repo hg_repo
```
then in python...
```
#!python
import hglib
client = hglib.open("hg_repo")
client.tags()
```
always has False for islocal ( help(hglib.client.hgclient.tags) shows "Return a list of repository tags as: (name, rev, node, islocal)" ) regardless of whether the git tag was annotated.
I believe the un-annotated ones should have islocal True.https://foss.heptapod.net/mercurial/hg-git/-/issues/304Unstable hash conversion2023-02-26T21:45:51ZvomoutUnstable hash conversionChangeset hash conversion seems to recently have become unstable. I pull the same git repo twice (from the damned Bitbucket), but the Mercurial hashes are not the same: pulling the repo twice results in different hashes for the changeset...Changeset hash conversion seems to recently have become unstable. I pull the same git repo twice (from the damned Bitbucket), but the Mercurial hashes are not the same: pulling the repo twice results in different hashes for the changesets. This is on two different computers, one running Mercurial 5.0.1 and another 5.1.1. (It's hell to try to install a specific old version with Homebrew, needed because hg-git doesn't work with the latest Python3 Mercurial.)
I also use a Nextcloud instance (with a Mercurial-only copy of the repo, as created by `hg clone`) to sync changes I'm not ready to push yet to the shared repo. There didn't use to be any problems with this, but now this doesn't work as the computers don't share the changeset hashes. I've recently enabled Changeset Evolution to incrementally work on those changesets from either computer, but even after nuking everything from my computers and not having touched any CE features, the instability remains.https://foss.heptapod.net/mercurial/hg-git/-/issues/401hg pull very slow on a repository with a lot of tags and branches2023-02-26T15:41:39Zjmbhg pull very slow on a repository with a lot of tags and branchesPulling from a repository that contains a lot of tags and branches (over 2000) is very slow even when there is nothing to do. E.g. the following output shows up quickly:
```
> hg pull
pulling from git+https://redacted
no changes found
`...Pulling from a repository that contains a lot of tags and branches (over 2000) is very slow even when there is nothing to do. E.g. the following output shows up quickly:
```
> hg pull
pulling from git+https://redacted
no changes found
```
Then I have to wait over 2 minutes for the command to complete and the shell prompt to return.
I was able to trace the issue to [git_handler.py:1933](../../1.0.1/hggit/git_handler.py#L1933) and [git_handler.py:1937](../../1.0.1/hggit/git_handler.py#L1937) which get called for each ref and trigger a call to `fsync` inside dulwich.
I was able to fix the issue by checking if we're really trying to set a new hash or if we're just rewriting the same one:
```patch
@@ -1930,11 +1928,13 @@
remote_refs[remote_head] = bin(hgsha)
# TODO(durin42): what is this doing?
new_ref = REMOTE_BRANCH_PREFIX + remote_head
- self.git.refs[new_ref] = sha
+ if self.git.refs.follow (new_ref)[1] != sha:
+ self.git.refs[new_ref] = sha
elif ref_name.startswith(
LOCAL_TAG_PREFIX
) and not ref_name.endswith(ANNOTATED_TAG_SUFFIX):
- self.git.refs[ref_name] = sha
+ if self.git.refs.follow (ref_name)[1] != sha:
+ self.git.refs[ref_name] = sha
if hgsha:
all_remote_nodeids.append(bin(hgsha))
```https://foss.heptapod.net/mercurial/hg-git/-/issues/402When pushing for example to github, notify does not send any notifcation2023-02-26T15:10:50ZUwe BrauerWhen pushing for example to github, notify does not send any notifcationHi
I used the following well tested (for hg repositories) configuration
```
[hooks]
incoming.notify = python:hgext.notify.hook
outgoing.notify = python:hgext.notify.hook
[notify]
test = False
strip = 11
template = Subject: [matlab-hoj...Hi
I used the following well tested (for hg repositories) configuration
```
[hooks]
incoming.notify = python:hgext.notify.hook
outgoing.notify = python:hgext.notify.hook
[notify]
test = False
strip = 11
template = Subject: [matlab-hoja1] {desc} {webroot|strip}\n
branches: {branches}
changeset: {rev}:{node|short}
user: {author}
date: {date|date}
description: {desc}\n
[reposubs]
# = Uwe Brauer <oub@mat.ucm.es>
```
And the relevant smtp setting that I am not going to copy here, but I
ensure you it is tested when pushing say to helix
But when I pushed to github I only saw
```
pushing to git@github.com:ouboub/matlab-hoja1.git
Warning: Permanently added 'github.com,140.82.121.4' (ECDSA) to the list of known hosts.
searching for changes
adding objects
added 1 commits with 1 trees and 1 blobs
updating reference refs/heads/default
```
But no message of the type
```
notify: sending 1 subscribers 1 changes
```
What is the problem? How can that be solved?
Uwe Brauerhttps://foss.heptapod.net/mercurial/hg-git/-/issues/403Pushing to git fails with dulwich 0.21.x.2023-02-25T20:36:48ZexpeehaaPushing to git fails with dulwich 0.21.x.The release notes of dulwich 0.21.0 mention some significant refactoring, which seems to have caused an issue with hg-git when trying to push to a git repository.
Minimal script for reproduction, if necessary:
```bash
git init --bare git...The release notes of dulwich 0.21.0 mention some significant refactoring, which seems to have caused an issue with hg-git when trying to push to a git repository.
Minimal script for reproduction, if necessary:
```bash
git init --bare gitrepo
hg init hgrepo
cd hgrepo
touch test
hg add test
hg ci -m "Test"
hg push ../gitrepo
```
This results in the following error:
```
pushing to ../gitrepo
searching for changes
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 3.10.9 (main, Dec 08 2022, 14:49:06) [GCC]
** Mercurial Distributed SCM (version 6.3.2)
** Extensions loaded: absorb, churn, evolve 10.5.3, extdiff, graphlog, hggit 1.0.1 (dulwich 0.21.2), histedit, purge, rebase, record, strip, topic 0.24.2
Traceback (most recent call last):
File "/usr/bin/hg", line 59, in <module>
dispatch.run()
File "/usr/lib64/python3.10/site-packages/mercurial/dispatch.py", line 143, in run
status = dispatch(req)
File "/usr/lib64/python3.10/site-packages/mercurial/dispatch.py", line 232, in dispatch
status = _rundispatch(req)
File "/usr/lib64/python3.10/site-packages/mercurial/dispatch.py", line 276, in _rundispatch
ret = _runcatch(req) or 0
File "/usr/lib64/python3.10/site-packages/mercurial/dispatch.py", line 451, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/usr/lib64/python3.10/site-packages/mercurial/dispatch.py", line 461, in _callcatch
return scmutil.callcatch(ui, func)
File "/usr/lib64/python3.10/site-packages/mercurial/scmutil.py", line 153, in callcatch
return func()
File "/usr/lib64/python3.10/site-packages/mercurial/dispatch.py", line 441, in _runcatchfunc
return _dispatch(req)
File "/usr/lib64/python3.10/site-packages/mercurial/dispatch.py", line 1265, in _dispatch
return runcommand(
File "/usr/lib64/python3.10/site-packages/mercurial/dispatch.py", line 899, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib64/python3.10/site-packages/mercurial/dispatch.py", line 1277, in _runcommand
return cmdfunc()
File "/usr/lib64/python3.10/site-packages/mercurial/dispatch.py", line 1263, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/usr/lib64/python3.10/site-packages/mercurial/util.py", line 1880, in check
return func(*args, **kwargs)
File "/usr/lib64/python3.10/site-packages/mercurial/util.py", line 1880, in check
return func(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/hgext3rd/topic/__init__.py", line 1357, in pushoutgoingwrap
return orig(ui, repo, *args, **opts)
File "/usr/lib64/python3.10/site-packages/mercurial/util.py", line 1880, in check
return func(*args, **kwargs)
File "/usr/lib64/python3.10/site-packages/mercurial/util.py", line 1880, in check
return func(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/hgext3rd/topic/flow.py", line 94, in wrappush
return orig(repo, remote, *args, **newargs)
File "/usr/lib64/python3.10/site-packages/mercurial/util.py", line 1880, in check
return func(*args, **kwargs)
File "/usr/lib64/python3.10/site-packages/mercurial/commands.py", line 5820, in push
pushop = exchange.push(
File "/usr/lib/python3.10/site-packages/hggit/util.py", line 95, in inner
return f(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/hggit/gitrepo.py", line 228, in exchangepush
pushop.cgresult = repo.githandler.push(remote.path, revs, force)
File "/usr/lib/python3.10/site-packages/hggit/git_handler.py", line 483, in push
old_refs, new_refs = self.upload_pack(remote, revs, force)
File "/usr/lib/python3.10/site-packages/hggit/git_handler.py", line 1404, in upload_pack
new_refs = self._call_client(
File "/usr/lib/python3.10/site-packages/hggit/git_handler.py", line 1577, in _call_client
ret = func(path, *args, **kwargs)
File "/usr/lib64/python3.10/site-packages/dulwich/client.py", line 1108, in send_pack
pack_data_count, pack_data = generate_pack_data(
File "/usr/lib/python3.10/site-packages/hggit/git_handler.py", line 1375, in genpack
missing = self.git.object_store.find_missing_objects(
AttributeError: 'DiskObjectStore' object has no attribute 'find_missing_objects'
```1.0.2Dan Villiom Podlaski Christiansendanchr@gmail.comDan Villiom Podlaski Christiansendanchr@gmail.comhttps://foss.heptapod.net/mercurial/hg-git/-/issues/398hg-git is broken with Mercurial from the `default` branch (6.4)2023-02-25T20:36:31ZDan Villiom Podlaski Christiansendanchr@gmail.comhg-git is broken with Mercurial from the `default` branch (6.4)The test suite is currently broken with the `default` branch — for once, this isn't just test-related breakage, but a proper failure. Changes related to peers and schemes genuinely broke hg-git, but changing how Mercurial detects remotes...The test suite is currently broken with the `default` branch — for once, this isn't just test-related breakage, but a proper failure. Changes related to peers and schemes genuinely broke hg-git, but changing how Mercurial detects remotes, and passes on paths, etc. Quick attempts at fixing this have so far been in vain, with one bug revealing another.
See:
* https://foss.heptapod.net/mercurial/mercurial-devel/-/merge_requests/332
* https://foss.heptapod.net/mercurial/mercurial-devel/-/merge_requests/334
* https://foss.heptapod.net/mercurial/mercurial-devel/-/merge_requests/340
Essentially, the bugs are in `hggit/schemes.py`, i.e. how to instantiate the various types of repository — hg-git shoves itself in the middle of an awful lot of Mercurial things to:
1) Optionally handle local paths and file URIs as Git repositories
2) Detect Git SCP-style “URIs” as not local
3) Intercept HTTP repositories ending with “.git” — hgsubversion used to do the same thing back in the day, and it's always been a load of hacks :confused:…
My current inclination is that this might be a good time to clean up the integration with Mercurial's infrastructure. Can we do it simpler? It would be awesome if Mercurial actually supported multiple peer/repository types for schemes, so that we could simplify and improve the handling of HTTP URLs, for example.1.0.2Dan Villiom Podlaski Christiansendanchr@gmail.comDan Villiom Podlaski Christiansendanchr@gmail.comhttps://foss.heptapod.net/mercurial/hg-git/-/issues/404Cannot clone github repository2023-02-17T11:24:52ZPiotr K.Cannot clone github repository```
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 3.9.2 (defa...```
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110]
** Mercurial Distributed SCM (version 5.6.1)
** Extensions loaded: hggit
Traceback (most recent call last):
File "/usr/bin/hg", line 43, in <module>
dispatch.run()
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 113, in run
status = dispatch(req)
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 303, in dispatch
ret = _runcatch(req) or 0
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 479, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 488, in _callcatch
return scmutil.callcatch(ui, func)
File "/usr/lib/python3/dist-packages/mercurial/scmutil.py", line 153, in callcatch
return func()
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 469, in _runcatchfunc
return _dispatch(req)
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1232, in _dispatch
return runcommand(
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 917, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1244, in _runcommand
return cmdfunc()
File "/usr/lib/python3/dist-packages/mercurial/dispatch.py", line 1230, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/usr/lib/python3/dist-packages/mercurial/util.py", line 1867, in check
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/mercurial/commands.py", line 1895, in clone
r = hg.clone(
File "/home/piotr/.local/lib/python3.9/site-packages/hggit/schemes.py", line 94, in clone
srcpeer, destpeer = orig(*args, **opts)
File "/usr/lib/python3/dist-packages/mercurial/hg.py", line 928, in clone
exchange.pull(
File "/home/piotr/.local/lib/python3.9/site-packages/hggit/util.py", line 95, in inner
return f(*args, **kwargs)
File "/home/piotr/.local/lib/python3.9/site-packages/hggit/gitrepo.py", line 191, in exchangepull
pullop.cgresult = repo.githandler.fetch(remote, heads)
File "/home/piotr/.local/lib/python3.9/site-packages/hggit/git_handler.py", line 362, in fetch
result = self.fetch_pack(remote.path, heads)
File "/home/piotr/.local/lib/python3.9/site-packages/hggit/git_handler.py", line 1543, in fetch_pack
self.git.object_store.move_in_pack(f.name)
AttributeError: 'DiskObjectStore' object has no attribute 'move_in_pack'
```
Using:
dulwich-0.21.2.dist
hg_git-1.0.1.disthttps://foss.heptapod.net/mercurial/hg-git/-/issues/400Tests failures on egrep calls with grep-3.82023-01-16T15:16:24ZicpTests failures on egrep calls with grep-3.8Tests as of hg-git-v1.0.1 which calls egrep fails due to warning message sent by grep since [version 3.8](https://savannah.gnu.org/forum/forum.php?forum_id=10227).
Will you be accepting a patch which changes the `egrep` calls to the rec...Tests as of hg-git-v1.0.1 which calls egrep fails due to warning message sent by grep since [version 3.8](https://savannah.gnu.org/forum/forum.php?forum_id=10227).
Will you be accepting a patch which changes the `egrep` calls to the recommended `grep -E`?1.0.2https://foss.heptapod.net/mercurial/hg-git/-/issues/386Regression 0.10.x -> 1.0.x: "merging" a GitHub PR using the "rebase" workflow...2022-12-24T16:05:28ZmuxatorRegression 0.10.x -> 1.0.x: "merging" a GitHub PR using the "rebase" workflow and then deleting the PR's branch causes the deleted commits to reappear`Hg-git` **v1.0.x** introduces a regression when interfacing with github PRs using a "rebase" workflow. The problem does not happen in **v0.10.x**. I was not able to replicate the problem using a local git repo (sorry), but my git fluenc...`Hg-git` **v1.0.x** introduces a regression when interfacing with github PRs using a "rebase" workflow. The problem does not happen in **v0.10.x**. I was not able to replicate the problem using a local git repo (sorry), but my git fluency is also very scant.
Procedure (no scripted, local-only version for now, sorry):
- clone a project on github (it must be a project for which you are able to merge PRs)
`hg clone git+https://github.com/user/reponame`
- do some changes locally, commit them to a new mercurial bookmark (let's say "pr1"), and push it. It will be pushed to the git branch "pr1" as expected.
```
echo "something" > somefile
hg bookmark pr1
hg add somefile
hg commit somefile -m "new feature"
hg push
```
- open a PR for that branch: https://github.com/user/reponame/pull/new/pr1
- in github, merge the PR choosing "Rebase and merge": the changes in the PR will be copied on top of the master branch. I do not know exactly what GitHub does here, so I was not able to replicate it on local git repositories
- delete the `pr1` branch on github
- go back to the mercurial repo and pull: `hg pull`. On top of the main bookmark a new commit "new feature" will appear. The `main` bookmark will be moved there. This is correct
- update to the new main head, for example with `hg up -r main`
## Behaviour with hg-git 1.0.x
- hg-git will see that the remote `pr1` branch was deleted in github and will remove the `pr1` bookmark. Nice & Correct.
- the mercurial commit will obviously not be deleted: strip it via `hg strip` and clean the hg-git commit map via `hg git-cleanup`
- perform an `hg pull`
- **the stripped commit will reappear**. This is **not** correct
## Behaviour with hg-git 0.10.x
- hg-git will not delete the remotely deleted branch: manually remove the `pr1` bookmark
- strip the removed commit via `hg strip` and clean the hg-git commit map via `hg git-cleanup`
- perform an `hg pull`
- no commit will reappear. **This is correct**.1.0.2https://foss.heptapod.net/mercurial/hg-git/-/issues/392transplant: TypeError: getremotechanges() missing 1 required positional argum...2022-12-06T01:08:50ZErnie Raeltransplant: TypeError: getremotechanges() missing 1 required positional argument: 'revs'The transplant command
```
hg transplant -s /ref/nb/src/netbeans HandleUserSpecifiedPreferredScreen
```
fails with a TypeError. Running the command without hggit succeeds.
```
hg transplant -s /ref/nb/src/netbeans --config extensions.hg...The transplant command
```
hg transplant -s /ref/nb/src/netbeans HandleUserSpecifiedPreferredScreen
```
fails with a TypeError. Running the command without hggit succeeds.
```
hg transplant -s /ref/nb/src/netbeans --config extensions.hggit=! HandleUserSpecifiedPreferredScreen
```
Console output including traceback
```
$ hg transplant -s /ref/nb/src/netbeans HandleUserSpecifiedPreferredScreen
** Unknown exception encountered with possibly-broken third-party extension "hggit" 1.0.0 (dulwich 0.20.45)
** 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.4 (main, Jun 29 2022, 12:14:53) [GCC 11.2.0]
** Mercurial Distributed SCM (version 6.2)
** Extensions loaded: convert, evolve 10.5.2, extdiff, fsmonitor, graphlog, hggit 1.0.0 (dulwich 0.20.45), histedit, purge, rebase, share, topic 0.24.1, transplant
Traceback (most recent call last):
File "/home/err/.venv/bin/hg", line 59, in <module>
dispatch.run()
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 143, in run
status = dispatch(req)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 232, in dispatch
status = _rundispatch(req)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 276, in _rundispatch
ret = _runcatch(req) or 0
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 451, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 461, in _callcatch
return scmutil.callcatch(ui, func)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/scmutil.py", line 153, in callcatch
return func()
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 441, in _runcatchfunc
return _dispatch(req)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 1254, in _dispatch
return runcommand(
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 899, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 1266, in _runcommand
return cmdfunc()
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/dispatch.py", line 1252, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/home/err/.venv/lib/python3.10/site-packages/mercurial/util.py", line 1880, in check
return func(*args, **kwargs)
File "/home/err/.venv/lib/python3.10/site-packages/hgext/transplant.py", line 738, in transplant
return _dotransplant(ui, repo, *revs, **opts)
File "/home/err/.venv/lib/python3.10/site-packages/hgext/transplant.py", line 829, in _dotransplant
source, csets, cleanupfn = bundlerepo.getremotechanges(
TypeError: getremotechanges() missing 1 required positional argument: 'revs'
```
```
$ hg transplant -s /ref/nb/src/netbeans --config extensions.hggit=! HandleUserSpecifiedPreferredScreen
searching for changes
warning: repository is unrelated
applying f9f333fe15eb
f9f333fe15eb transplanted to 856921adade2
```1.0.2Dan Villiom Podlaski Christiansendanchr@gmail.comDan Villiom Podlaski Christiansendanchr@gmail.comhttps://foss.heptapod.net/mercurial/hg-git/-/issues/394"SyntaxError: invalid syntax" when cloning repo2022-12-05T11:55:01ZJoseph Chang"SyntaxError: invalid syntax" when cloning repoI am running Ubuntu 18.04.6 LTS, Mercurial 4.5.3, mercurial-git 0.8.11-1. When I try to clone a repo, I get the error below. How do I fix this? Thanks in advance!
```
% hg clone --verbose git+https://github.com/hg-git/hg-git.github....I am running Ubuntu 18.04.6 LTS, Mercurial 4.5.3, mercurial-git 0.8.11-1. When I try to clone a repo, I get the error below. How do I fix this? Thanks in advance!
```
% hg clone --verbose git+https://github.com/hg-git/hg-git.github.com.git /home/jchang/hg_wd/hg-git.github.com
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.17 (default, Jul 1 2022, 15:56:32) [GCC 7.5.0]
** Mercurial Distributed SCM (version 4.5.3)
** Extensions loaded: hggit, extdiff, tortoisehg.util.hgcommands, tortoisehg.util.partialcommit, tortoisehg.util.pipeui, tortoisehg.util.hgdispatch
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.17 (default, Jul 1 2022, 15:56:32) [GCC 7.5.0]
** Mercurial Distributed SCM (version 4.5.3)
** Extensions loaded: hggit, extdiff, tortoisehg.util.hgcommands, tortoisehg.util.partialcommit, tortoisehg.util.pipeui, tortoisehg.util.hgdispatch
Traceback (most recent call last):
File "/usr/bin/hg", line 41, in <module>
dispatch.run()
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 88, in run
status = (dispatch(req) or 0) & 255
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 183, in dispatch
ret = _runcatch(req)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 324, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 332, in _callcatch
return scmutil.callcatch(ui, func)
File "/usr/lib/python2.7/dist-packages/mercurial/scmutil.py", line 154, in callcatch
return func()
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 314, in _runcatchfunc
return _dispatch(req)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 918, in _dispatch
cmdpats, cmdoptions)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 673, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 926, in _runcommand
return cmdfunc()
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 915, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1197, in check
return func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line 4764, in serve
return server.runservice(opts, initfn=service.init, runfn=service.run)
File "/usr/lib/python2.7/dist-packages/mercurial/server.py", line 107, in runservice
return runfn()
File "/usr/lib/python2.7/dist-packages/mercurial/commandserver.py", line 339, in run
return sv.serve()
File "/usr/lib/python2.7/dist-packages/mercurial/commandserver.py", line 292, in serve
while self.serveone():
File "/usr/lib/python2.7/dist-packages/mercurial/commandserver.py", line 267, in serveone
handler(self)
File "/usr/lib/python2.7/dist-packages/mercurial/commandserver.py", line 251, in runcommand
ret = (dispatch.dispatch(req) or 0) & 255 # might return None
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 183, in dispatch
ret = _runcatch(req)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 324, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 332, in _callcatch
return scmutil.callcatch(ui, func)
File "/usr/lib/python2.7/dist-packages/mercurial/scmutil.py", line 154, in callcatch
return func()
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 314, in _runcatchfunc
return _dispatch(req)
File "/usr/lib/python2.7/dist-packages/tortoisehg/util/hgdispatch.py", line 23, in _dispatch
return orig(req)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 918, in _dispatch
cmdpats, cmdoptions)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 673, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 926, in _runcommand
return cmdfunc()
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 915, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1197, in check
return func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line 1449, in clone
shareopts=opts.get('shareopts'))
File "/usr/lib/python2.7/dist-packages/mercurial/hg.py", line 661, in clone
streamclonerequested=stream)
File "/home/jchang/hg_wd/hg-git/hggit/util.py", line 60, in inner
return f(*args, **kwargs)
File "/home/jchang/hg_wd/hg-git/hggit/__init__.py", line 379, in exchangepull
pullop.cgresult = repo.githandler.fetch(remote.path, heads)
File "/home/jchang/hg_wd/hg-git/hggit/git_handler.py", line 279, in fetch
result = self.fetch_pack(remote, heads)
File "/home/jchang/hg_wd/hg-git/hggit/git_handler.py", line 1204, in fetch_pack
localclient, path = self.get_transport_and_path(remote_name)
File "/home/jchang/hg_wd/hg-git/hggit/git_handler.py", line 1748, in get_transport_and_path
return client.HttpGitClient(uri, opener=opener), uri
File "/usr/local/lib/python2.7/dist-packages/dulwich-0.19.16-py2.7.egg/dulwich/client.py", line 1521, in __init__
self.pool_manager = default_urllib3_manager(config)
File "/usr/local/lib/python2.7/dist-packages/dulwich-0.19.16-py2.7.egg/dulwich/client.py", line 1490, in default_urllib3_manager
import certifi
File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 167, in _demandimport
return _hgextimport(_origimport, name, globals, locals, fromlist, level)
File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 41, in _hgextimport
return importfunc(name, globals, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/certifi-2022.6.15-py2.7.egg/certifi/__init__.py", line 1, in <module>
from .core import contents, where
File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 243, in _demandimport
level=level)
File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 41, in _hgextimport
return importfunc(name, globals, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/certifi-2022.6.15-py2.7.egg/certifi/core.py", line 17
def where() -> str:
^
SyntaxError: invalid syntax
cmdserver: process exited unexpectedly with code 1
```