From bec7fa14c325366f626b49da5b040825014bb44d Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Wed, 2 May 2012 17:24:21 +0100 Subject: Make petrify use the new internal APIs --- morph | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'morph') diff --git a/morph b/morph index 0a77995b..6f073b2e 100755 --- a/morph +++ b/morph @@ -824,11 +824,15 @@ class Morph(cliapp.Application): def cmd_petrify(self, args): '''Make refs to chunks be absolute SHA-1s.''' - - morph_loader = MorphologyLoader(self.settings) - source_manager = morphlib.sourcemanager.SourceManager(self, - update=not self.settings['no-git-update']) + if not os.path.exists(self.settings['cachedir']): + os.mkdir(self.settings['cachedir']) + cachedir = os.path.join(self.settings['cachedir'], 'gits') + baseurls = self.settings['git-base-url'] + bundle_base_url = self.settings['bundle-server'] + cache = morphlib.localrepocache.LocalRepoCache( + cachedir, baseurls, bundle_base_url) + for filename in args: with open(filename) as f: morph = json.load(f) @@ -840,11 +844,11 @@ class Morph(cliapp.Application): self.msg('Petrifying %s' % filename) for source in morph['sources']: - repo = source.get('repo', source['name']) + reponame = source.get('repo', source['name']) ref = source['ref'] - self.msg('.. looking up sha1 for %s %s' % (repo, ref)) - treeish = source_manager.get_treeish(repo, ref) - source['ref'] = treeish.sha1 + self.msg('.. looking up sha1 for %s %s' % (reponame, ref)) + repo = cache.get_repo(reponame) + source['ref'] = repo.resolve_ref(ref) with open(filename, 'w') as f: json.dump(morph, f, indent=2) -- cgit v1.2.1