Python: добавление git remote с помощью 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 ответ
Решение
TCPGitServer не берет URL, а адрес для прослушивания. Вы, вероятно, хотите что-то вроде этого, чтобы запустить сервер:
dul_server = TCPGitServer(backend, 'localhost', 0)