private Commit deepestReachableCommit(ObjectId headId, int maxDepth) throws IOException { try (RevWalk revWalk = new RevWalk(repository)) { RevCommit headCommit = repository.parseCommit(headId); revWalk.markStart(headCommit); int depth = 0; RevCommit lastCommit = headCommit; Iterator<RevCommit> iterator = revWalk.iterator(); while (iterator.hasNext() && depth <= maxDepth) { lastCommit = iterator.next(); depth++; } int retainedDepth = depth - 1; // we do not count head return new Commit(lastCommit.getId(), retainedDepth, Collections.emptyList(), Collections.emptyList()); } }
@Override public void detectBetweenCommits(Repository repository, String startCommitId, String endCommitId, RefactoringHandler handler) throws Exception { GitService gitService = new GitServiceImpl() { @Override public boolean isCommitAnalyzed(String sha1) { return handler.skipCommit(sha1); } }; RevWalk walk = gitService.createRevsWalkBetweenCommits(repository, startCommitId, endCommitId); try { detect(gitService, repository, handler, walk.iterator()); } finally { walk.dispose(); } }
@Override public void detectAll(Repository repository, String branch, final RefactoringHandler handler) throws Exception { GitService gitService = new GitServiceImpl() { @Override public boolean isCommitAnalyzed(String sha1) { return handler.skipCommit(sha1); } }; RevWalk walk = gitService.createAllRevsWalk(repository, branch); try { detect(gitService, repository, handler, walk.iterator()); } finally { walk.dispose(); } }
@Override public void fetchAndDetectNew(Repository repository, final RefactoringHandler handler) throws Exception { GitService gitService = new GitServiceImpl() { @Override public boolean isCommitAnalyzed(String sha1) { return handler.skipCommit(sha1); } }; RevWalk walk = gitService.fetchAndCreateNewRevsWalk(repository); try { detect(gitService, repository, handler, walk.iterator()); } finally { walk.dispose(); } }
@Override public void detectBetweenTags(Repository repository, String startTag, String endTag, RefactoringHandler handler) throws Exception { GitService gitService = new GitServiceImpl() { @Override public boolean isCommitAnalyzed(String sha1) { return handler.skipCommit(sha1); } }; RevWalk walk = gitService.createRevsWalkBetweenTags(repository, startTag, endTag); try { detect(gitService, repository, handler, walk.iterator()); } finally { walk.dispose(); } }
public void fetchAndDetectNew(Repository repository, final StructuralDiffHandler handler) throws Exception { GitService gitService = new GitServiceImpl() { @Override public boolean isCommitAnalyzed(String sha1) { return handler.skipCommit(sha1); } }; RevWalk walk = gitService.fetchAndCreateNewRevsWalk(repository); try { detect(gitService, repository, handler, walk.iterator()); } finally { walk.dispose(); } }
public void detectAll(Repository repository, String branch, final StructuralDiffHandler handler) throws Exception { GitService gitService = new GitServiceImpl() { @Override public boolean isCommitAnalyzed(String sha1) { return handler.skipCommit(sha1); } }; RevWalk walk = gitService.createAllRevsWalk(repository, branch); try { detect(gitService, repository, handler, walk.iterator()); } finally { walk.dispose(); } }
public boolean hasChangedSince(String modulePath, java.util.List<String> childModules, Collection<AnnotatedTag> tags) throws IOException { RevWalk walk = new RevWalk(repo); try { walk.setRetainBody(false); walk.markStart(walk.parseCommit(repo.getRef("HEAD").getObjectId())); filterOutOtherModulesChanges(modulePath, childModules, walk); stopWalkingWhenTheTagsAreHit(tags, walk); return walk.iterator().hasNext(); } finally { walk.dispose(); } }
private List<RevCommit> getCommits(final Git git, String branch) throws Exception { List<RevCommit> commits = new ArrayList<>(); try (RevWalk revWalk = new RevWalk(git.getRepository())) { final RevCommit branchTip = revWalk.parseCommit(git.getRepository().resolve(branch)); revWalk.markStart(branchTip); revWalk.sort(RevSort.TOPO); final Iterator<RevCommit> iter = revWalk.iterator(); while (iter.hasNext()) { commits.add(iter.next()); } } return commits; }
private List<RevCommit> getCommits(final Git git, String branch) throws Exception { List<RevCommit> commits = new ArrayList<>(); try (RevWalk revWalk = new RevWalk(git.getRepository())) { final RevCommit branchTip = revWalk.parseCommit(git.getRepository().resolve(branch)); revWalk.markStart(branchTip); revWalk.sort(RevSort.TOPO); final Iterator<RevCommit> iter = revWalk.iterator(); while (iter.hasNext()) { commits.add(iter.next()); } } return commits; }
Iterator<RevCommit> iterator = revWalk.iterator();