private void negotiateBegin() throws IOException { walk.resetRetain(REACHABLE, ADVERTISED); walk.markStart(reachableCommits); walk.sort(RevSort.COMMIT_TIME_DESC); walk.setRevFilter(new RevFilter() { @Override public RevFilter clone() { return this; } @Override public boolean include(RevWalk walker, RevCommit c) { final boolean remoteKnowsIsCommon = c.has(COMMON); if (c.has(ADVERTISED)) { // Remote advertised this, and we have it, hence common. // Whether or not the remote knows that fact is tested // before we added the flag. If the remote doesn't know // we have to still send them this object. // c.add(COMMON); } return !remoteKnowsIsCommon; } @Override public boolean requiresCommitBody() { return false; } }); }
FileUtils.mkdir(rewrittenDir, false); walk.reset(); walk.setRevFilter(RevFilter.MERGE_BASE); walk.markStart(upstreamCommit); walk.markStart(headCommit);
PathFilterGroup.create(pathFilters), TreeFilter.ANY_DIFF)); if (skip > -1 && maxCount > -1) walk.setRevFilter(AndRevFilter.create(SkipRevFilter.create(skip), MaxCountRevFilter.create(maxCount))); else if (skip > -1) walk.setRevFilter(SkipRevFilter.create(skip)); else if (maxCount > -1) walk.setRevFilter(MaxCountRevFilter.create(maxCount)); if (!startSpecified) { try { walk.setRevFilter(this.revFilter);
ArrayList<RevCommit> baseCommits = new ArrayList<>(); walk.reset(); walk.setRevFilter(RevFilter.MERGE_BASE); walk.markStart(a); walk.markStart(b);
rw.setRevFilter(new NotInBitmapFilter(reuse)); RevCommit[] commits = new RevCommit[expectedCommitCount]; int pos = commits.length;
private boolean wantSatisfied(RevObject want) throws IOException { if (want.has(SATISFIED)) return true; walk.resetRetain(SAVE); walk.markStart((RevCommit) want); if (oldestTime != 0) walk.setRevFilter(CommitTimeRevFilter.after(oldestTime * 1000L)); for (;;) { final RevCommit c = walk.next(); if (c == null) break; if (c.has(PEER_HAS)) { addCommonBase(c); want.add(SATISFIED); return true; } } return false; }
throws IncorrectObjectTypeException, IOException { walk.reset(); walk.setRevFilter(RevFilter.MERGE_BASE); walk.markStart(a); walk.markStart(b);
RevCommit trackingCommit = walk.parseCommit(tracking.getObjectId()); walk.setRevFilter(RevFilter.MERGE_BASE); walk.markStart(localCommit); walk.markStart(trackingCommit); walk.setRevFilter(RevFilter.ALL); int aheadCount = RevWalkUtils.count(walk, localCommit, mergeBase); int behindCount = RevWalkUtils.count(walk, trackingCommit,
seen.or(selectionHelper.reusedCommitsBitmap); rw2.setRetainBody(false); rw2.setRevFilter(new NotInBitmapFilter(seen)); rw.reset(); rw.markStart(c); rw.setRevFilter(new AddUnseenToBitmapFilter( selectionHelper.reusedCommitsBitmap, bitmap)); while (rw.next() != null) {
walk.sort(RevSort.COMMIT_TIME_DESC); walk.markStart(reachableCommits); walk.setRevFilter(CommitTimeRevFilter.after(maxWhen)); for (;;) { final RevCommit c = walk.next();
@Override public ChangelogCommand max(int n) { walk.setRevFilter(MaxCountRevFilter.create(n)); return this; }
RevWalk walk = new RevWalk(repository); walk.setRevFilter(RevFilter.MERGE_BASE); walk.markStart(commit1); walk.markStart(commit2); RevCommit mergeBase = walk.next();
RevWalk walk = new RevWalk(repo); walk.markStart(walk.parseCommit(repo.resolve(Constants.HEAD))); walk.sort(RevSort.REVERSE); // chronological order final LocalDate thisYear = new LocalDate(2015, 1, 1); // joda walk.setRevFilter(CommitTimeRevFilter.after(thisYear.toDate())); for(RevCommit commit : walk) { // do your thing }
RevWalk walk = new RevWalk( repo ); walk.markStart( walk.parseCommit( repo.resolve( Constants.HEAD ) ) ); walk.sort( RevSort.REVERSE ); // chronological order walk.setRevFilter( myFilter ); for( RevCommit commit : walk ) { // print commit } walk.close();
RevWalk walk = new RevWalk( repo ); walk.markStart( walk.parseCommit( repo.resolve( Constants.HEAD ) ) ); walk.sort( RevSort.COMMIT_TIME_DESC); walk.setRevFilter( myFilter ); for( RevCommit commit : walk ) { if( commit.getCommitter().getWhen().equals( date ) ) { // this is the commit you are looking for revWalk.parseCommit( commit ); break; } } walk.close();
private RevWalk createRevWalk(final Repository repository, final ObjectReader reader) throws MissingObjectException, IncorrectObjectTypeException, IOException { final RevWalk revWalk = new RevWalk(reader); final List<RevCommit> branchTips = getBranchCommits(repository, revWalk); // So that we traverse all branch histories at once revWalk.markStart(branchTips); // Gets parents before children revWalk.sort(RevSort.TOPO, true); revWalk.sort(RevSort.REVERSE, true); revWalk.setRevFilter(RevFilter.ALL); revWalk.setTreeFilter(TreeFilter.ALL); return revWalk; }
@Override public int countCommits(Repository repository, String branch) throws Exception { RevWalk walk = new RevWalk(repository); try { Ref ref = repository.findRef(REMOTE_REFS_PREFIX + branch); ObjectId objectId = ref.getObjectId(); RevCommit start = walk.parseCommit(objectId); walk.setRevFilter(RevFilter.NO_MERGES); return RevWalkUtils.count(walk, start, null); } finally { walk.dispose(); } }
@Override public int countCommits(Repository repository, String branch) throws Exception { RevWalk walk = new RevWalk(repository); try { Ref ref = repository.findRef(REMOTE_REFS_PREFIX + branch); ObjectId objectId = ref.getObjectId(); RevCommit start = walk.parseCommit(objectId); walk.setRevFilter(RevFilter.NO_MERGES); return RevWalkUtils.count(walk, start, null); } finally { walk.dispose(); } }
private RevCommit getMergeBase(RevCommit baseCommit, RevCommit referenceHeadCommit) throws IOException { RevWalk walk = new RevWalk(git.getRepository()); walk.setRevFilter(RevFilter.MERGE_BASE); walk.markStart(walk.lookupCommit(baseCommit)); walk.markStart(walk.lookupCommit(referenceHeadCommit)); RevCommit commit = walk.next(); walk.close(); logger.info("Using merge base of id: " + commit.getId()); return commit; }
@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; }