diff options
author | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2016-08-04 23:25:56 +0000 |
---|---|---|
committer | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2016-08-04 23:35:21 +0000 |
commit | e2ae92ba6352cc44acae9ff4f2cd57d104009388 (patch) | |
tree | e5da9ca902b190c90fe23ebb98eb0457e972bd14 /morphlib/definitions_repo.py | |
parent | 61eb7d04e2cd11e56affc1a49feae5145e825ad5 (diff) | |
download | morph-e2ae92ba6352cc44acae9ff4f2cd57d104009388.tar.gz |
Add fix and refresh, but refresh uses tag refs
Change-Id: I853be29a778a198751f7ab948009122a633aa899
Diffstat (limited to 'morphlib/definitions_repo.py')
-rw-r--r-- | morphlib/definitions_repo.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/morphlib/definitions_repo.py b/morphlib/definitions_repo.py index a30c5a7c..2228efe8 100644 --- a/morphlib/definitions_repo.py +++ b/morphlib/definitions_repo.py @@ -253,16 +253,26 @@ class DefinitionsRepo(gitdir.GitDirectory): return loader + + def load_morphology_file(self, filename, loader=None, mf=None): + loader = loader or self.get_morphology_loader() + mf = mf or morphlib.morphologyfinder.MorphologyFinder(self) + + text = mf.read_file(filename) + m = loader.load_from_string(text, filename=filename) + m.repo_url = self.remote_url + m.ref = self.HEAD + + return m + + def load_all_morphologies(self, loader=None): loader = loader or self.get_morphology_loader() mf = morphlib.morphologyfinder.MorphologyFinder(self) for filename in (f for f in mf.list_morphologies() if not self.is_symlink(f)): - text = mf.read_file(filename) - m = loader.load_from_string(text, filename=filename) - m.repo_url = self.remote_url - m.ref = self.HEAD + m = self.load_morphology_file(filename, loader, mf) yield m def relative_path(self, path, cwd='.'): |