Class RevWalkUtils

java.lang.Object
org.eclipse.jgit.revwalk.RevWalkUtils

public final class RevWalkUtils extends Object
Utility methods for RevWalk.
  • Method Details

    • count

      public static int count(RevWalk walk, RevCommit start, RevCommit end) throws MissingObjectException, IncorrectObjectTypeException, IOException
      Count the number of commits that are reachable from start until a commit that is reachable from end is encountered. In other words, count the number of commits that are in start, but not in end.

      Note that this method calls RevWalk.reset() at the beginning. Also note that the existing rev filter on the walk is left as-is, so be sure to set the right rev filter before calling this method.

      Parameters:
      walk - the rev walk to use
      start - the commit to start counting from
      end - the commit where counting should end, or null if counting should be done until there are no more commits
      Returns:
      the number of commits
      Throws:
      MissingObjectException - if object is missing
      IncorrectObjectTypeException - if object has unexpected type
      IOException - if an IO error occurred
    • find

      Find commits that are reachable from start until a commit that is reachable from end is encountered. In other words, Find of commits that are in start, but not in end.

      Note that this method calls RevWalk.reset() at the beginning. Also note that the existing rev filter on the walk is left as-is, so be sure to set the right rev filter before calling this method.

      Parameters:
      walk - the rev walk to use
      start - the commit to start counting from
      end - the commit where counting should end, or null if counting should be done until there are no more commits
      Returns:
      the commits found
      Throws:
      MissingObjectException - if object is missing
      IncorrectObjectTypeException - if object has unexpected type
      IOException - if an IO error occurred
    • findBranchesReachableFrom

      public static List<Ref> findBranchesReachableFrom(RevCommit commit, RevWalk revWalk, Collection<Ref> refs) throws MissingObjectException, IncorrectObjectTypeException, IOException
      Find the list of branches a given commit is reachable from when following parents.

      Note that this method calls RevWalk.reset() at the beginning.

      In order to improve performance this method assumes clock skew among committers is never larger than 24 hours.

      Parameters:
      commit - the commit we are looking at
      revWalk - The RevWalk to be used.
      refs - the set of branches we want to see reachability from
      Returns:
      the list of branches a given commit is reachable from
      Throws:
      MissingObjectException - if object is missing
      IncorrectObjectTypeException - if object has unexpected type
      IOException - if an IO error occurred
    • findBranchesReachableFrom

      public static List<Ref> findBranchesReachableFrom(RevCommit commit, RevWalk revWalk, Collection<Ref> refs, ProgressMonitor monitor) throws MissingObjectException, IncorrectObjectTypeException, IOException
      Find the list of branches a given commit is reachable from when following parents.

      Note that this method calls RevWalk.reset() at the beginning.

      In order to improve performance this method assumes clock skew among committers is never larger than 24 hours.

      Parameters:
      commit - the commit we are looking at
      revWalk - The RevWalk to be used.
      refs - the set of branches we want to see reachability from
      monitor - the callback for progress and cancellation
      Returns:
      the list of branches a given commit is reachable from
      Throws:
      MissingObjectException - if object is missing
      IncorrectObjectTypeException - if object has unexpected type
      IOException - if an IO error occurred
      Since:
      5.4