Package revlist provides support to access the ancestors of commits, in a similar way as the git-rev-list command.
func Objects( s storer.EncodedObjectStorer, objs, ignore plumbing.Hash, ) (plumbing.Hash, error)
Objects applies a complementary set. It gets all the hashes from all the reachable objects from the given objects. Ignore param are object hashes that we want to ignore on the result. All that objects must be accessible from the object storer.
func ObjectsWithStorageForIgnores( s, ignoreStore storer.EncodedObjectStorer, objs, ignore plumbing.Hash, ) (plumbing.Hash, error)
ObjectsWithStorageForIgnores is the same as Objects, but a secondary storage layer can be provided, to be used to finding the full set of objects to be ignored while finding the reachable objects. This is useful when the main `s` storage layer is slow and/or remote, while the ignore list is available somewhere local.