code: func (n *node) Hash() []byte {
  	if n.entry == nil {
  		return make([]byte, 24)
  	}
  
  	return append(n.entry.Hash[:], n.entry.Mode.Bytes()...)
  }
docs: // Hash the hash of a filesystem is a 24-byte slice, is the result of
  // concatenating the computed plumbing.Hash of the file as a Blob and its
  // plumbing.FileMode; that way the difftree algorithm will detect changes in the
  // contents of files and also in their mode.
  //
  // If the node is computed and not based on a index.Entry the hash is equals
  // to a 24-bytes slices of zero values.