/** * Create a new revision walker for a given repository. * * @param repo * the repository the walker will obtain data from. */ public PlotWalk(Repository repo) { super(repo); super.sort(RevSort.TOPO, true); additionalRefMap = new HashMap<>(); repository = repo; }
/** {@inheritDoc} */ @Override public void sort(RevSort s, boolean use) { if (s == RevSort.TOPO && !use) throw new IllegalArgumentException(JGitText.get().topologicalSortRequired); super.sort(s, use); }
/** {@inheritDoc} */ @Override public void sort(RevSort s, boolean use) { super.sort(s, use); boundary = hasRevSort(RevSort.BOUNDARY); }
/** {@inheritDoc} */ @Override public void sort(RevSort s) { super.sort(s); boundary = hasRevSort(RevSort.BOUNDARY); }
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; } }); }
/** * Create a new revision walker for a given repository. * * @param repo * the repository the walker will obtain data from. */ public PlotWalk(Repository repo) { super(repo); super.sort(RevSort.TOPO, true); additionalRefMap = new HashMap<>(); repository = repo; }
walk.sort(RevSort.COMMIT_TIME_DESC); walk.markStart(reachableCommits); walk.setRevFilter(CommitTimeRevFilter.after(maxWhen));
/** * Create a new revision walker for a given repository. * * @param repo * the repository the walker will obtain data from. */ public PlotWalk(final Repository repo) { super(repo); super.sort(RevSort.TOPO, true); reverseRefMap = repo.getAllRefsByPeeledObjectId(); }
/** {@inheritDoc} */ @Override public void sort(RevSort s, boolean use) { super.sort(s, use); boundary = hasRevSort(RevSort.BOUNDARY); }
@Override public void sort(RevSort s, boolean use) { super.sort(s, use); boundary = hasRevSort(RevSort.BOUNDARY); }
@Override public void sort(final RevSort s, final boolean use) { if (s == RevSort.TOPO && !use) throw new IllegalArgumentException(JGitText.get().topologicalSortRequired); super.sort(s, use); }
/** {@inheritDoc} */ @Override public void sort(RevSort s) { super.sort(s); boundary = hasRevSort(RevSort.BOUNDARY); }
/** {@inheritDoc} */ @Override public void sort(RevSort s, boolean use) { super.sort(s, use); boundary = hasRevSort(RevSort.BOUNDARY); }
RevWalk revWalk = new RevWalk( repository ); revWalk.markStart( revWalk.parseCommit( repository.resolve( Constants.HEAD ) ) ); revWalk.setTreeFilter( PathFilter.create( "path/to/file.txt" ) ); revWalk.sort( RevSort.COMMIT_TIME_DESC ); revWalk.sort( RevSort.REVERSE, true ); RevCommit commit = revWalk.next(); ... revWalk.dispose();
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 }
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; }
public static String getHashOldest(Repository repository) throws Exception { try (RevWalk revWalk = new RevWalk(repository)) { revWalk.markStart( revWalk.parseCommit(repository.resolve(Constants.HEAD))); revWalk.sort(RevSort.COMMIT_TIME_DESC, true); revWalk.sort(RevSort.REVERSE, true); RevCommit revCommit = revWalk.next(); return revCommit.name(); } }
RevCommit latestCommit = null; String path = "file.txt"; try( RevWalk revWalk = new RevWalk( git.getRepository() ) ) { Ref headRef = git.getRepository().exactRef( Constants.HEAD ); RevCommit headCommit = revWalk.parseCommit( headRef.getObjectId() ); revWalk.markStart( headCommit ); revWalk.sort( RevSort.COMMIT_TIME_DESC ); revWalk.setTreeFilter( AndTreeFilter.create( PathFilter.create( path ), TreeFilter.ANY_DIFF ) ); latestCommit = revWalk.next(); }
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();
public RevCommit execute() throws IOException { try (final RevWalk rw = new RevWalk(git.getRepository())) { final RevCommit root = rw.parseCommit(ref.getObjectId()); rw.sort(RevSort.REVERSE); rw.markStart(root); return rw.next(); } catch (final IOException ignored) { } return null; } }