code: func (cs *CachableSource) Hash(path string) (string, error) {
  	n := cs.getRoot()
  	// TODO: check this for symlinks
  	v, ok := n.Get([]byte(path))
  	if !ok {
  		return path, nil
  	}
  	return v.(*fileInfo).sum, nil
  }
docs: // Hash returns a hash for a single file in the source