code: func (d *DotGit) ForEachObjectHash(fun func(plumbing.Hash) error) error {
  	if !d.options.ExclusiveAccess {
  		return d.forEachObjectHash(fun)
  	}
  
  	err := d.genObjectList()
  	if err != nil {
  		return err
  	}
  
  	for _, h := range d.objectList {
  		err := fun(h)
  		if err != nil {
  			return err
  		}
  	}
  
  	return nil
  }
docs: // ForEachObjectHash iterates over the hashes of objects found under the
  // .git/objects/ directory and executes the provided function.