From 8111a4bb9d7a308338e29e861e4c2c5ec6335f90 Mon Sep 17 00:00:00 2001 From: scheibelp Date: Tue, 18 Oct 2016 22:34:46 -0700 Subject: Don't cache truncated dag hash for spec (#2048) If Spec.dag_hash was called for the first time with a 'length' specified, the cached hash was truncated. This ensures that the full hash is cached. --- lib/spack/spack/spec.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py index 37a3cf4d7e..6950025502 100644 --- a/lib/spack/spack/spec.py +++ b/lib/spack/spack/spec.py @@ -974,10 +974,10 @@ class Spec(object): yaml_text = syaml.dump( self.to_node_dict(), default_flow_style=True, width=maxint) sha = hashlib.sha1(yaml_text) - b32_hash = base64.b32encode(sha.digest()).lower()[:length] + b32_hash = base64.b32encode(sha.digest()).lower() if self.concrete: self._hash = b32_hash - return b32_hash + return b32_hash[:length] def dag_hash_bit_prefix(self, bits): """Get the first bits of the DAG hash as an integer type.""" -- cgit v1.2.3-70-g09d2