← Back to team overview

dulwich-users team mailing list archive

Re: ValueError: invalid literal for int() with base 16: 'logi'

 

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


No effect:
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
    :param can_read: function that returns a boolean that indicates
  File "dulwich\protocol.pyc", line 147, in read_pkt_seq

  File "dulwich\protocol.pyc", line 104, in read_pkt_line
     c
ValueError: invalid literal for int() with base 16: 'logi'


>> > py dulwich-cli.py clone git+ssh://github.com/jelmer/dulwich.git aaa
>> Traceback (most recent call last):
>>   File "dulwich-cli.py", line 253, in <module>
>>     commands[cmd](sys.argv[2:])
>>   File "dulwich-cli.py", line 174, in cmd_clone
>>     porcelain.clone(source, target, bare=("--bare" in opts))
>>   File "C:\hg-git\dulwich\porcelain.py", line 167, in clone
>>     progress=outstream.write)
>>   File "C:\hg-git\dulwich\client.py", line 212, in fetch
>>     target.get_graph_walker(), f.write, progress)
>>   File "C:\hg-git\dulwich\client.py", line 521, in fetch_pack
>>     proto, can_read = self._connect('upload-pack', path)
>>   File "C:\hg-git\dulwich\client.py", line 881, in _connect
>>     port=self.port, username=self.username)
>>   File "C:\hg-git\dulwich\client.py", line 744, in run_command
>>     stdout=subprocess.PIPE)
>>   File "C:\Python27\lib\subprocess.py", line 709, in __init__
>>     errread, errwrite)
>>   File "C:\Python27\lib\subprocess.py", line 957, in _execute_child
>>     startupinfo)
>> WindowsError: [Error 2] The system cannot find the file specified
> This is almost referring to SSH. Do you have SSH installed and accessible from
> the path on Windows?

I am using PuTTY for Mercurial. But I've made 'ssh' available from path and got
this result:

ssh: ssh: no address associated with name
Traceback (most recent call last):
  File "dulwich-cli.py", line 253, in <module>
    commands[cmd](sys.argv[2:])
  File "dulwich-cli.py", line 174, in cmd_clone
    porcelain.clone(source, target, bare=("--bare" in opts))
  File "C:\hg-git\dulwich\porcelain.py", line 167, in clone
    progress=outstream.write)
  File "C:\hg-git\dulwich\client.py", line 212, in fetch
    target.get_graph_walker(), f.write, progress)
  File "C:\hg-git\dulwich\client.py", line 522, in fetch_pack
    refs, server_capabilities = read_pkt_refs(proto)
  File "C:\hg-git\dulwich\client.py", line 147, in read_pkt_refs
    for pkt in proto.read_pkt_seq():
  File "C:\hg-git\dulwich\protocol.py", line 147, in read_pkt_seq
    pkt = self.read_pkt_line()
  File "C:\hg-git\dulwich\protocol.py", line 103, in read_pkt_line
    raise HangupException()
dulwich.errors.HangupException: The remote server unexpectedly closed
the connection.


Follow ups

References