dulwich-users team mailing list archive
-
dulwich-users team
-
Mailing list archive
-
Message #00801
Re: ValueError: invalid literal for int() with base 16: 'logi'
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, <jelmer@xxxxxxxxx> wrote:
> IIRC that method should be implemented in the trunk version of dulwich.
>
>
> anatoly techtonik <techtonik@xxxxxxxxx> wrote:
>>
>> On Thu, Dec 19, 2013 at 2:11 AM, Jelmer Vernooij <jelmer@xxxxxxxxx> 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 <jelmer@xxxxxxxxx>
>>>> 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 <jelmer@xxxxxxxxx>
>>>>>> 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.
References