4

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") 
4

1 に答える 1

5

ファイルをバイナリとして開き(パラメータ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')
于 2012-11-13T12:12:09.460 に答える