@Override protected boolean include(final RevCommit commit, final DiffEntry diff, final Collection<Edit> edits) { final int length = filters.length; for (int i = 0; i < length; i++) filters[i].include(commit, diff, edits); return true; }
/** * Handle the edits introduced by given commit. * <p> * Sub-classes should override this method. The default implementation call * {@link #include(RevCommit, DiffEntry, Edit)} for each edit. * * @param commit * non-null * @param diff * non-null * @param edits * non-null * @return true to continue, false to abort */ protected boolean include(final RevCommit commit, final DiffEntry diff, final Collection<Edit> edits) { for (Edit edit : edits) if (!include(commit, diff, edit)) return false; return true; }
@Override public boolean include(final RevWalk walker, final RevCommit commit, final Collection<DiffEntry> diffs) { super.include(walker, commit, diffs); return include(commit, diffs, count) ? true : include(false); }
@Override public boolean include(final RevWalk walker, final RevCommit commit, final Collection<DiffEntry> diffs) { final int length = filters.length; for (int i = 0; i < length; i++) filters[i].markStart(commit); boolean include = super.include(walker, commit, diffs); for (int i = 0; i < length; i++) filters[i].markEnd(commit); return include; }
@Override public boolean include(final RevWalk walker, final RevCommit commit, final Collection<DiffEntry> diffs) { markStart(commit); final ObjectReader reader = walker.getObjectReader(); for (DiffEntry diff : diffs) { if (!isFileDiff(diff)) continue; final AbbreviatedObjectId oldId = diff.getOldId(); if (oldId == null) continue; if (!include(commit, diff, BlobUtils.diff(reader, oldId.toObjectId(), diff.getNewId().toObjectId()))) return markEnd(commit).include(false); } markEnd(commit); return true; }