org.eclipse.jgit.revwalk
Class RevWalkUtils

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

public final class RevWalkUtils
extends Object

Utility methods for RevWalk.


Method Summary
static int count(RevWalk walk, RevCommit start, RevCommit end)
          Count the number of commits that are reachable from start until a commit that is reachable from end is encountered.
static List<RevCommit> find(RevWalk walk, RevCommit start, RevCommit end)
          Find commits that are reachable from start until a commit that is reachable from end is encountered.
static List<Ref> findBranchesReachableFrom(RevCommit commit, RevWalk revWalk, Collection<Ref> refs)
          Find the list of branches a given commit is reachable from when following parent.s
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

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
IncorrectObjectTypeException
IOException

find

public static List<RevCommit> find(RevWalk walk,
                                   RevCommit start,
                                   RevCommit end)
                            throws MissingObjectException,
                                   IncorrectObjectTypeException,
                                   IOException
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
IncorrectObjectTypeException
IOException

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 parent.s

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
IncorrectObjectTypeException
IOException


Copyright © 2013. All Rights Reserved.