walk.markStart(start); if (end != null) walk.markUninteresting(end);
private void reduceObjects(List<ReceiveCommand> cmds, List<RevCommit> commits, Repository git, Set<ObjectId> newObjs) throws IOException { try (RevWalk rw = new RevWalk(git)) { rw.setRetainBody(false); for (ObjectId id : newObjs) { RevObject obj = rw.parseAny(id); if (obj instanceof RevCommit) { rw.markStart((RevCommit) obj); } else { stage(cmds, id); } } for (RevCommit c; (c = rw.next()) != null;) { commits.add(c); rw.markUninteresting(c); } } }
private LogCommand add(boolean include, AnyObjectId start) throws MissingObjectException, IncorrectObjectTypeException, JGitInternalException { checkCallable(); try { if (include) { walk.markStart(walk.lookupCommit(start)); startSpecified = true; } else walk.markUninteresting(walk.lookupCommit(start)); return this; } catch (MissingObjectException e) { throw e; } catch (IncorrectObjectTypeException e) { throw e; } catch (IOException e) { throw new JGitInternalException(MessageFormat.format( JGitText.get().exceptionOccurredDuringAddingOfOptionToALogCommand , start), e); } }
super.markUninteresting((RevCommit) o); else if (o instanceof RevTree) markTreeUninteresting((RevTree) o);
return this; revPool.markUninteresting(result); for (ObjectId id : end) revPool.markStart(revPool.parseCommit(id));
walk.markUninteresting(walk.parseCommit(id)); } catch (IncorrectObjectTypeException notCommit) { continue;
@Override public ChangelogCommand excludes(ObjectId rev) { try { walk.markUninteresting(walk.lookupCommit(rev)); return this; } catch (IOException e) { throw new GitException("Error: jgit excludes() in " + workspace + " " + e.getMessage(), e); } }
public List<Blame> recuriveBlame(String path, RevCommit beginRevision, RevCommit endRevision) throws IOException, GitAPIException { if (path == null || beginRevision == null || endRevision == null) { return null; } List<Blame> result = new ArrayList<Blame>(); try (RevWalk rw = new RevWalk(this.repo)) { rw.markStart(rw.parseCommit(this.beginRevision)); rw.markUninteresting(rw.parseCommit(this.endRevision)); for (RevCommit curr; (curr = rw.next()) != null;){ result.add(new Blame(curr, blameCommit(path, curr))); } } return result; }
RevCommit begin = getBeginCommit(); RevCommit end = getEndCommit(); try (RevWalk rw = new RevWalk(getRepository())) { rw.markStart(rw.lookupCommit(begin)); rw.markUninteresting(rw.lookupCommit(end)); for (RevCommit curr; (curr = rw.next()) != null;) System.out.println("Inspecting entry: " + curr.getShortMessage()); }
private static void stopWalkingWhenTheTagsAreHit(Collection<AnnotatedTag> tags, RevWalk walk) throws IOException { for (AnnotatedTag tag : tags) { ObjectId commitId = tag.ref().getTarget().getObjectId(); RevCommit revCommit = walk.parseCommit(commitId); walk.markUninteresting(revCommit); } }
private RepositoryCommit[] getCommits(Ref end) { final RevWalk walk = new RevWalk(reader); try { walk.setRetainBody(true); walk.markStart(walk.parseCommit(update.getNewObjectId())); walk.markUninteresting(walk.parseCommit(end.getObjectId())); List<RepositoryCommit> commits = new ArrayList<RepositoryCommit>(); for (RevCommit commit : walk) commits.add(new RepositoryCommit(repo, commit)); return commits.toArray(new RepositoryCommit[commits.size()]); } catch (IOException e) { Activator.logError("Error parsing commits from push result", e); //$NON-NLS-1$ return new RepositoryCommit[0]; } }
private void markUninteresting(RevWalk walk, String prefix) throws IOException, MissingObjectException, IncorrectObjectTypeException { for (Entry<String, Ref> refEntry : input.getRepository() .getRefDatabase().getRefs(prefix).entrySet()) { Ref ref = refEntry.getValue(); if (ref.isSymbolic()) continue; Object refTarget = walk .parseAny(ref.getLeaf().getObjectId()); if (refTarget instanceof RevCommit) walk.markUninteresting((RevCommit) refTarget); } }
private void reduceObjects(List<ReceiveCommand> cmds, List<RevCommit> commits, Repository git, Set<ObjectId> newObjs) throws IOException { try (RevWalk rw = new RevWalk(git)) { rw.setRetainBody(false); for (ObjectId id : newObjs) { RevObject obj = rw.parseAny(id); if (obj instanceof RevCommit) { rw.markStart((RevCommit) obj); } else { stage(cmds, id); } } for (RevCommit c; (c = rw.next()) != null;) { commits.add(c); rw.markUninteresting(c); } } }
@Override protected List<RevCommit> load() { PullRequest request = getPullRequest(); List<RevCommit> commits = new ArrayList<>(); try (RevWalk revWalk = new RevWalk(source.getProject().getRepository())) { ObjectId headId = ObjectId.fromString(request.getHeadCommitHash()); revWalk.markStart(revWalk.parseCommit(headId)); ObjectId baseId = ObjectId.fromString(request.getBaseCommitHash()); revWalk.markUninteresting(revWalk.parseCommit(baseId)); revWalk.forEach(c->commits.add(c)); } catch (IOException e) { throw new RuntimeException(e); } return commits; }
/** * Merged commits represent commits already merged to target branch since base commit. * * @return * commits already merged to target branch since base commit */ public Collection<RevCommit> getMergedCommits() { if (mergedCommits == null) { mergedCommits = new HashSet<>(); Project project = getTargetProject(); try (RevWalk revWalk = new RevWalk(project.getRepository())) { revWalk.markStart(revWalk.parseCommit(getTarget().getObjectId(false))); revWalk.markUninteresting(revWalk.parseCommit(ObjectId.fromString(getBaseCommitHash()))); revWalk.forEach(c->mergedCommits.add(c)); } catch (IOException e) { throw new RuntimeException(e); } } return mergedCommits; }
private RevWalk buildWalk() throws GitAPIException, IOException { final RevWalk rw = new RevWalk(git.getRepository()); rw.setTreeFilter(TreeFilter.ANY_DIFF); rw.markStart(rw.parseCommit(endRange)); rw.sort(RevSort.TOPO); if (startRange != null) { rw.markUninteresting(rw.parseCommit(startRange)); } return rw; }
@Override public boolean matches(Issue issue, User user) { Repository repository = issue.getProject().getRepository(); try (RevWalk revWalk = new RevWalk(repository)) { revWalk.markStart(revWalk.parseCommit(untilCommitId)); revWalk.markUninteresting(revWalk.parseCommit(sinceCommitId)); RevCommit commit; while ((commit = revWalk.next()) != null) { if (IssueUtils.parseFixedIssues(issue.getProject(), commit.getFullMessage()).contains(issue.getNumber())) return true; } return false; } catch (IOException e) { throw new RuntimeException(e); } }
@Override public RevWalk createRevsWalkBetweenCommits(Repository repository, String startCommitId, String endCommitId) throws Exception { RevWalk walk = new RevWalk(repository); ObjectId startCommit = repository.resolve(startCommitId); walk.markStart(walk.parseCommit(startCommit)); if (endCommitId != null) { ObjectId endCommit = repository.resolve(endCommitId); walk.markUninteresting(walk.parseCommit(endCommit)); } walk.setRevFilter(commitsFilter); return walk; }
@Override public RevWalk createRevsWalkBetweenTags(Repository repository, String startTag, String endTag) throws Exception { RevWalk walk = new RevWalk(repository); Ref startTagRef = repository.findRef(startTag); ObjectId startCommit = startTagRef.getObjectId(); walk.markStart(walk.parseCommit(startCommit)); if (endTag != null) { Ref endTagRef = repository.findRef(endTag); ObjectId endCommit = endTagRef.getObjectId(); walk.markUninteresting(walk.parseCommit(endCommit)); } walk.setRevFilter(commitsFilter); return walk; }
/** * Gets the review commit, which is the first commit on the review branch * after the merge base. */ public RevCommit getReviewCommit(String reviewBranch, String targetBranch) throws GitClientException { try (RevWalk walk = new RevWalk(repo)) { walk.markStart(walk.parseCommit(repo.resolve(reviewBranch))); walk.markUninteresting(walk.parseCommit(repo.resolve(targetBranch))); walk.sort(RevSort.REVERSE); return walk.next(); } catch (Exception e) { throw new GitClientException( "Failed to get review commit for " + reviewBranch + " and " + targetBranch, e); } }