Class RevWalkUtils
RevWalk
.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic int
Count the number of commits that are reachable fromstart
until a commit that is reachable fromend
is encountered.Find commits that are reachable fromstart
until a commit that is reachable fromend
is encountered.findBranchesReachableFrom
(RevCommit commit, RevWalk revWalk, Collection<Ref> refs) Find the list of branches a given commit is reachable from when following parents.findBranchesReachableFrom
(RevCommit commit, RevWalk revWalk, Collection<Ref> refs, ProgressMonitor monitor) Find the list of branches a given commit is reachable from when following parents.
-
Constructor Details
-
RevWalkUtils
private RevWalkUtils()
-
-
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 fromstart
until a commit that is reachable fromend
is encountered. In other words, count the number of commits that are instart
, but not inend
.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 usestart
- the commit to start counting fromend
- 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 fromstart
until a commit that is reachable fromend
is encountered. In other words, Find of commits that are instart
, but not inend
.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 usestart
- the commit to start counting fromend
- 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 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 atrevWalk
- 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
-
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 atrevWalk
- The RevWalk to be used.refs
- the set of branches we want to see reachability frommonitor
- the callback for progress and cancellation- Returns:
- the list of branches a given commit is reachable from
- Throws:
MissingObjectException
IncorrectObjectTypeException
IOException
- Since:
- 5.4
-