2015-07-07 4 views
0

У меня возникает проблема при нажатии с помощью pygit2 v0.21.3. вот мой код:Ошибка при подписи при нажатии на pygi2

import pygit2 as git 
repo = git.Repository("path/to/my/repo.git") # just for testing,it will not be local 

for rem in repo.remotes: 
    rem.push_url = rem.url 
    rem.credentials = git.UserPass("user","passowrd") 
    sig = git.Signature("user","[email protected]") 

    rem.push('refs/heads/master',signature=sig) 
    # in v0.22.0 it will be like below 
    # rem.push(['refs/heads/master'],signature=sig) 

Но я всегда получал это сообщение:

Traceback (most recent call last): 
    File "C:\test.py", line 9, in <module> 
    rem.push('refs/heads/master',signature=sig) 
    File "C:\Python34\lib\site-packages\pygit2-0.21.3-py3.4-win32.egg\pygit2\remote.py",line 353, in push 
    err = C.git_push_update_tips(push, ptr, to_bytes(message)) 
TypeError: initializer for ctype 'git_signature *' must be a cdata pointer, not bytes 

Когда я попытался его с версии 0.22.0 это не вызовет ошибку, но толчок операция также не Работа.

Примечание: Я думаю, проблема с параметром подписи, потому что когда я передаю None Он отлично работает с подписью по умолчанию.

Спасибо.

ответ

0

Я обновил pygit2 до v0.22.1, libgit2 до v0.22.3, он исправил проблему.

Смежные вопросы