5 class GitImporter(object):
6 """An importer for testgit repositories.
8 This importer simply delegates to git fast-import.
11 def __init__(self
, repo
):
12 """Creates a new importer for the specified repo.
17 def do_import(self
, base
):
18 """Imports a fast-import stream to the given directory.
20 Simply delegates to git fast-import.
23 dirname
= self
.repo
.get_base_path(base
)
25 gitdir
= self
.repo
.gitpath
27 gitdir
= os
.path
.abspath(os
.path
.join(dirname
, '.git'))
28 path
= os
.path
.abspath(os
.path
.join(dirname
, 'git.marks'))
30 if not os
.path
.exists(dirname
):
33 args
= ["git", "--git-dir=" + gitdir
, "fast-import", "--quiet", "--export-marks=" + path
]
35 if os
.path
.exists(path
):
36 args
.append("--import-marks=" + path
)
38 child
= subprocess
.Popen(args
)
40 raise CalledProcessError