4

如何使用 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") 
4

1 回答 1

5

您需要将文件作为二进制文件打开(添加bmode参数中)并在完成后关闭它。对您的示例进行以下修改使其正常工作:

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')
于 2012-11-13T12:12:09.460 回答