code: func (ts *Store) Hash(id string) (string, error) {
  	treepath := ts.GetPath(id)
  
  	hash := sha512.New()
  	iw := newHashWriter(hash)
  	err := filepath.Walk(treepath, buildWalker(treepath, iw))
  	if err != nil {
  		return "", errwrap.Wrap(errors.New("error walking rootfs"), err)
  	}
  
  	hashstring := hashToKey(hash)
  
  	return hashstring, nil
  }
docs: // Hash calculates an hash of the rendered ACI. It uses the same functions
  // used to create a tar but instead of writing the full archive is just
  // computes the sha512 sum of the file infos and contents.