summaryrefslogtreecommitdiff
path: root/lib/spack/spack/spec.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/spack/spack/spec.py')
-rw-r--r--lib/spack/spack/spec.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py
index 567a8215fb..b026a3ab93 100644
--- a/lib/spack/spack/spec.py
+++ b/lib/spack/spack/spec.py
@@ -4699,6 +4699,15 @@ class SpecParser(spack.parse.Parser):
except spack.parse.ParseError as e:
raise SpecParseError(e)
+ # Generate lookups for git-commit-based versions
+ for spec in specs:
+ # Cannot do lookups for versions in anonymous specs
+ # Only allow concrete versions using git for now
+ if spec.name and spec.versions.concrete and spec.version.is_commit:
+ pkg = spec.package
+ if hasattr(pkg, 'git'):
+ spec.version.generate_commit_lookup(pkg)
+
return specs
def spec_from_file(self):