diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2014-10-23 17:33:49 +0100 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2014-12-03 10:23:27 +0000 |
commit | 2dc11594d5b95d876c9997ca40dfb08bf06c830b (patch) | |
tree | c2752f38b17e765416dad9ea64688aad0e60d60a /morphlib/sourceresolver.py | |
parent | bb1960c7711a8a48bbaabd188158a3c5d7f0ff04 (diff) | |
download | morph-2dc11594d5b95d876c9997ca40dfb08bf06c830b.tar.gz |
Rework CachedRepo to use the GitDirectory class where possible
This consolidates a bunch of code paths that were previously duplicated.
This also changes the API for local cached repos to match the
function names GitDirectory uses. Note that the remote repo cache still
uses the old names, and should be fixed when time permits.
Some unit tests that use the CachedRepo module required a bit of
inelegant monkey-patching in order that they continue to work. A better
way to do this would be with the 'mock' library (which would need to be
added to Baserock 'build' and 'devel' systems before we could use it).
Diffstat (limited to 'morphlib/sourceresolver.py')
-rw-r--r-- | morphlib/sourceresolver.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/morphlib/sourceresolver.py b/morphlib/sourceresolver.py index 8daaba81..3a328eb7 100644 --- a/morphlib/sourceresolver.py +++ b/morphlib/sourceresolver.py @@ -71,7 +71,8 @@ class SourceResolver(object): repo.update() # If the user passed --no-git-update, and the ref is a SHA1 not # available locally, this call will raise an exception. - absref, tree = repo.resolve_ref(ref) + absref = repo.resolve_ref_to_commit(ref) + tree = repo.resolve_ref_to_tree(absref) elif self.rrc is not None: try: absref, tree = self.rrc.resolve_ref(reponame, ref) @@ -91,7 +92,8 @@ class SourceResolver(object): repo.update() else: repo = self.lrc.get_repo(reponame) - absref, tree = repo.resolve_ref(ref) + absref = repo.resolve_ref_to_commit(ref) + tree = repo.resolve_ref_to_tree(absref) return absref, tree def traverse_morphs(self, definitions_repo, definitions_ref, |