Interface ObjectReachabilityChecker

All Known Implementing Classes:
BitmappedObjectReachabilityChecker, PedestrianObjectReachabilityChecker

public interface ObjectReachabilityChecker
Checks if all objects are reachable from certain starting points. This is an expensive check that browses commits, trees, blobs and tags. For reachability just between commits see ReachabilityChecker implementations.
Since:
5.8
  • Method Details

    • areAllReachable

      Optional<RevObject> areAllReachable(Collection<RevObject> targets, Stream<RevObject> starters) throws IOException
      Checks that all targets are reachable from the starters.
      Parameters:
      targets - objects to check for reachability from the starters
      starters - objects known to be reachable to the caller
      Returns:
      Optional a single unreachable target if there are any (there could be more). Empty optional means all targets are reachable.
      Throws:
      IOException - Cannot access underlying storage