summaryrefslogtreecommitdiff
path: root/morphlib/builder.py
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2016-03-03 15:56:40 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2016-03-03 17:11:25 +0000
commit014a029ade9a045a839ca86c35690b218098ea33 (patch)
tree4806d6cc1f0572604a4d027bf7a7141e381f85d6 /morphlib/builder.py
parente8a67a7d12d2defbf975d707e7513837403d93a2 (diff)
downloadmorph-014a029ade9a045a839ca86c35690b218098ea33.tar.gz
Get rid of the CachedRepo class (almost)
For a long time the CachedRepo class has basically been a wrapper around the GitDir class, but with a few extra methods that don't really even belong there. It is now a tiny class in the localrepocache module which just keeps track of a few extra attributes. All other functionality is provided by the gitdir module. This commit also removes the `git clone` approach for copying repos out of the cache. The alternative approach implemented by git.copy_repository() was slightly faster when I tested, so for now we should use that everywhere. Longer term we should find out why this is quicker than `git clone`, and fix Git itself to be fast. Change-Id: I1686ab43253d44c3903d9a0bad8bb75528e9cf75
Diffstat (limited to 'morphlib/builder.py')
-rw-r--r--morphlib/builder.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/morphlib/builder.py b/morphlib/builder.py
index 6a5ad184..2d0a4bd4 100644
--- a/morphlib/builder.py
+++ b/morphlib/builder.py
@@ -43,9 +43,9 @@ def extract_sources(app, repo_cache, repo, sha1, srcdir): #pragma: no cover
source=repo.original_name,
target=destdir)
- repo.checkout(sha1, destdir)
+ morphlib.gitdir.checkout_from_cached_repo(repo, sha1, destdir)
morphlib.git.reset_workdir(app.runcmd, destdir)
- submodules = morphlib.git.Submodules(app, repo.path, sha1)
+ submodules = morphlib.git.Submodules(app, repo.dirname, sha1)
try:
submodules.load()
except morphlib.git.NoModulesFileError:
@@ -187,7 +187,7 @@ class BuilderBase(object):
'''
assert isinstance(self.source.repo,
- morphlib.cachedrepo.CachedRepo)
+ morphlib.localrepocache.CachedRepo)
meta = {
'artifact-name': artifact_name,
'source-name': self.source.name,