Unfortunately, Mercurial comes with its own version of Dulwich (0.9.4 for 2.8.1). I'll try to inject new dulwich into 2.8.1 library.zip and let you know what happens. -- anatoly t.
On Wed, Jan 1, 2014 at 7:39 PM, <[email protected]> wrote: > IIRC that method should be implemented in the trunk version of dulwich. > > > anatoly techtonik <[email protected]> wrote: >> >> On Thu, Dec 19, 2013 at 2:11 AM, Jelmer Vernooij <[email protected]> wrote: >>> >>> On Wed, Dec 18, 2013 at 10:19:33PM +0300, anatoly techtonik wrote: >>>> >>>> On Wed, Dec 18, 2013 at 7:12 PM, Jelmer Vernooij <[email protected]> >>>> wrote: >>>>> >>>>> On Wed, Dec 18, 2013 at 05:38:56PM +0300, anatoly techtonik wrote: >>>>>> >>>>>> On Wed, Dec 18, 2013 at 3:24 PM, Jelmer Vernooij <[email protected]> >>>>>> wrote: >>>>>>> >>>>>>> On Wed, Dec 18, 2013 at 02:36:54PM +0300, anatoly techtonik wrote: >>>>>>>> >>>>>>>> I try to clone my repository from GitHub with hg-git and it fails. >>>>>>>> Dulwich 1.9.4, Hg-Git 0.5.0, Windows. >>>>>>>> Please, CC. >>>>>>>> >>>>>>>> destination directory: recordscreen >>>>>>>> ["git-upload-pack '/techtonik/recordscreen'"] >>>>>>>> ** Unknown exception encountered with possibly-broken third-party >>>>>>>> extension hggit >>>>>>>> ** which supports versions 2.2.3 of Mercurial. >>>>>>>> ** Please disable hggit and try your action again. >>>>>>>> ** If that fixes the bug please report it to >>>>>>>> https://bitbucket.org/durin42/hg-git/issues >>>>>>>> ** Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit >>>>>>>> (Intel)] >>>>>>>> ** Mercurial Distributed SCM (version 2.8) >>>>>>>> ** Extensions loaded: churn, color, convert, evolve, >>>>>>>> hggit, strip, mq, >>>>>>>> rebase, record >>>>>>>> Traceback (most recent call last): >>>>>>>> File "hg", line 38, in <module> >>>>>>>> File "mercurial\dispatch.pyc", line 28, in run >>>>>>>> File "mercurial\dispatch.pyc", line 69, in dispatch >>>>>>>> File "mercurial\dispatch.pyc", line 133, in _runcatch >>>>>>>> File "mercurial\dispatch.pyc", line 806, in _dispatch >>>>>>>> File "mercurial\dispatch.pyc", line 585, in runcommand >>>>>>>> File "mercurial\extensions.pyc", line 196, in wrap >>>>>>>> File "hgext\color.pyc", line 419, in colorcmd >>>>>>>> File "mercurial\dispatch.pyc", line 897, in _runcommand >>>>>>>> File "mercurial\dispatch.pyc", line 868, in checkargs >>>>>>>> File "mercurial\dispatch.pyc", line 803, in <lambda> >>>>>>>> File "mercurial\util.pyc", line 512, in check >>>>>>>> File "mercurial\commands.pyc", line 1282, in clone >>>>>>>> File "mercurial\hg.pyc", line 372, in clone >>>>>>>> File "mercurial\localrepo.pyc", line 2431, in clone >>>>>>>> File "C:\hg-git\hggit\hgrepo.py", line 14, in pull >>>>>>>> return git.fetch(remote.path, heads) >>>>>>>> File "C:\hg-git\hggit\git_handler.py", line 205, in fetch >>>>>>>> refs = self.fetch_pack(remote, heads) >>>>>>>> File "C:\hg-git\hggit\git_handler.py", line 1016, in fetch_pack >>>>>>>> ret = client.fetch_pack(path, determine_wants, graphwalker, >>>>>>>> f.write, progress.progress) >>>>>>>> File "dulwich\client.pyc", line 527, in fetch_pack >>>>>>>> File "dulwich\client.pyc", line 144, in read_pkt_refs >>>>>>>> File "dulwich\protocol.pyc", line 147, in read_pkt_seq >>>>>>>> File "dulwich\protocol.pyc", line 104, in read_pkt_line >>>>>>>> ValueError: invalid literal for int() with base 16: 'logi' >>>>>>> >>>>>>> >>>>>>> Can you reproduce it with dulwich clone (without hg-git)? Is there >>>>>>> an easy way >>>>>>> for us to reproduce this? >>>>>> >>>>>> No. I can't reproduce this error with "dulwich clone". >>>>> >>>>> Can you try patching hg-git so it uses LocalGitClient rather than >>>>> SubprocessGitClient? Does that fix the issue? >>>> >>>> >>>> Patched as: >>>> diff -r 24b80a953f06 hggit/git_handler.py >>>> --- a/hggit/git_handler.py Sun Dec 15 15:25:31 2013 -0500 >>>> +++ b/hggit/git_handler.py Wed Dec 18 22:10:41 2013 +0300 >>>> @@ -1379,4 +1379,4 @@ >>>> return client.HttpGitClient(uri, thin_packs=False), >>>> uri >>>> >>>> # if its not git or git+ssh, try a local url.. >>>> - return client.SubprocessGitClient(thin_packs=False), uri >>>> + return client.LocalGitClient(thin_packs=False), uri >>> >>> >>> >>> This doesn't actually appear to be the codepath that hg-git is using. >>> LocalGitClient doesn't use a protocol at all, so you shouldn't be >>> seeing read_pkt_line in the backtrace if it's using >>> LocalGitClient >>> rather than SubprocessGitClient. >> >> >> Patched with: >> >> diff -r 24b80a953f06 hggit/git_handler.py >> --- a/hggit/git_handler.py Sun Dec 15 15:25:31 2013 -0500 >> +++ b/hggit/git_handler.py Wed Jan 01 19:27:39 2014 +0300 >> @@ -1365,6 +1365,8 @@ >> if port: >> client.port = port >> >> + transport = client.LocalGitClient >> + return transport(thin_packs=False), path >> return transport(host, thin_packs=False, port=port), path >> >> httpclient = getattr(client, 'HttpGitClient', None) >> >> Traceback: >> >> ... >> File "mercurial\dispatch.pyc", line 868, in checkargs >> File "mercurial\dispatch.pyc", line 803, in <lambda> >> File "mercurial\util.pyc", line 512, in check >> File "mercurial\commands.pyc", line 1286, in >> clone >> File "mercurial\hg.pyc", line 372, in clone >> File "mercurial\localrepo.pyc", line 2431, in clone >> File "C:\hg-git\hggit\hgrepo.py", line 14, in pull >> return git.fetch(remote.path, heads) >> File "C:\hg-git\hggit\git_handler.py", line 205, in fetch >> refs = self.fetch_pack(remote, heads) >> File "C:\hg-git\hggit\git_handler.py", line 1016, in fetch_pack >> ret = client.fetch_pack(path, determine_wants, graphwalker, >> f.write, progress.progress) >> File "dulwich\client.pyc", line 700, in fetch_pack >> NotImplementedError: <bound method LocalGitClient.fetch_pack of >> <dulwich.client.LocalGitClient object at 0x02765FD0>> >> >> -- >> anatoly t. _______________________________________________ Mailing list: https://launchpad.net/~dulwich-users Post to : [email protected] Unsubscribe : https://launchpad.net/~dulwich-users More help : https://help.launchpad.net/ListHelp

