gitpython создание zip-архива
Как я могу создать архив с gitpython, я попробовал следующее, которое создает файл, но я не могу открыть его, он говорит мне, что произошла ошибка при чтении архива архив кажется недействительным или поврежден
from git import *
repo = Repo(repo_path)
assert repo.bare == False
repo.archive(open("repo.tar",'w'))
Я хотел бы создать zip-файл, поэтому я попробовал это, но здесь он создает пустой zip-файл (правильный путь к репо, так как при использовании repo.clone он клонирует все)
repo.archive(open("repo.zip",'w'), format="zip")
1 ответ
Вам нужно открыть ваш файл как двоичный файл (добавив b
к mode
параметр) и закройте его, когда закончите. Следующие изменения в вашем примере заставляют его работать правильно:
from git import Repo
repo = Repo(repo_path)
assert not repo.bare
with open('repo.zip', 'wb') as archive_file:
repo.archive(archive_file, format='zip')