问题
I am trying to push using ssh to a github repo using pygit2.
Here is the error I keep getting.
Can you point out the error?
>>> sshcred = repo_.pygit2.credentials.Keypair('avckp','id_rsa.pub','id_rsa','')
>>> remo2.credentials=sshcred
## remo2 is a remote object for the repo
>>> remo2.url
u'https://github.com/avckp/sansa-pygit.git'
>>> remo2.push_url = remo2.url
>>> remo2.push('refs/heads/master')
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "pygit2/remote.py", line 301, in push
check_error(err)
File "pygit2/errors.py", line 57, in check_error
raise GitError(message)
GitError: HTTP parser error: the on_headers_complete callback failed
回答1:
The username in Keypair should be 'git', as #428 said.
It should be:
sshcred = repo_.pygit2.credentials.Keypair('git','/path/to/id_rsa.pub','/path/to/id_rsa','')
remo.crendentals = sshcred
Then try push again.
来源:https://stackoverflow.com/questions/24559529/unable-to-ssh-push-in-pygit2