code: func (p *Packfile) ID() (plumbing.Hash, error) {
  	prev, err := p.file.Seek(-20, io.SeekEnd)
  	if err != nil {
  		return plumbing.ZeroHash, err
  	}
  
  	var hash plumbing.Hash
  	if _, err := io.ReadFull(p.file, hash[:]); err != nil {
  		return plumbing.ZeroHash, err
  	}
  
  	if _, err := p.file.Seek(prev, io.SeekStart); err != nil {
  		return plumbing.ZeroHash, err
  	}
  
  	return hash, nil
  }
docs: // ID returns the ID of the packfile, which is the checksum at the end of it.