Python:使用Dulwich进行git远程添加

时间:2016-01-05 09:43:34

标签: python git dulwich

我使用git来远程数据。这是我的代码。

from dulwich.repo import Repo
from dulwich.server import DictBackend, TCPGitServer

repo = dulwich.repo.Repo.init('remote', mkdir=True)
backend = DictBackend({'/': repo})
dul_server = TCPGitServer(backend, 'git://server.com/file.git', 0)
threading.Thread(target=dul_server.serve).start()
server_address, server_port = dul_server.socket.getsockname()
client = dulwich.client.TCPGitClient(server_address.encode('ascii'), server_port)
remote_refs = client.fetch('/', remote)

但我收到错误:

socket.gaierror: [Errno -2] Name or service not known

我的错误是什么?
也许我不理解api。

我想执行git remote add -f origin <repo>

1 个答案:

答案 0 :(得分:1)

TCPGitServer不接受URL,而是接听地址。您可能想要这样的东西来启动服务器:

dul_server = TCPGitServer(backend, 'localhost', 0)