diff options
Diffstat (limited to 'morphlib/builder.py')
-rw-r--r-- | morphlib/builder.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/morphlib/builder.py b/morphlib/builder.py index ad0b14f9..dc7d51db 100644 --- a/morphlib/builder.py +++ b/morphlib/builder.py @@ -325,13 +325,20 @@ class ChunkBuilder(BlobBuilder): self.msg('Extracting %s into %s' % (treeish.repo, self.builddir)) - morphlib.git.archive_and_extract( - self.app, treeish, destdir, self.msg) + morphlib.git.copy_repository(treeish, destdir, self.msg) + morphlib.git.checkout_ref(destdir, treeish.ref, self.msg) for submodule in treeish.submodules: directory = os.path.join(destdir, submodule.path) extract_treeish(submodule.treeish, directory) + # we need to do this to keep any "git submodule" commands + # from accessing the internet. instead, we redirect them + # to the locally cached submodule repo + morphlib.git.set_submodule_url(destdir, submodule.name, + submodule.treeish.repo, + self.msg) + extract_treeish(self.blob.morph.treeish, self.builddir) def build_with_system_or_commands(self): |