gitpython创建zip存档

时间:2012-11-12 00:37:16

标签: python git gitpython

如何使用gitpython创建存档,我尝试了以下创建文件,但我无法打开它它告诉我读取存档时出现错误存档似乎无效或已损坏

from git import *
repo = Repo(repo_path)
assert repo.bare == False
repo.archive(open("repo.tar",'w'))

我想创建一个zip文件然后我尝试了这个但是在这里它创建了一个空的zip文件(repo的路径是正确的,因为当我使用repo.clone时它会克隆一切)

repo.archive(open("repo.zip",'w'), format="zip") 

1 个答案:

答案 0 :(得分:4)

您需要将文件打开为二进制文件(将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')