/** * Diff the blobs at the given object ids using the * {@link RawTextComparator#DEFAULT} comparator. * * @see #diff(Repository, ObjectId, ObjectId, RawTextComparator) * @param repository * @param blob1 * @param blob2 * @return list of edits */ public static Collection<Edit> diff(final Repository repository, final ObjectId blob1, final ObjectId blob2) { return diff(repository, blob1, blob2, DEFAULT); }
/** * Diff the blobs at the given object ids using the * {@link RawTextComparator#DEFAULT} comparator. * * @see #diff(ObjectReader, ObjectId, ObjectId, RawTextComparator) * @param reader * @param blob1 * @param blob2 * @return list of edits */ public static Collection<Edit> diff(final ObjectReader reader, final ObjectId blob1, final ObjectId blob2) { return diff(reader, blob1, blob2, DEFAULT); }
@Override public boolean include(RevWalk walker, RevCommit commit, Collection<DiffEntry> diffs) { count = 0; final ObjectReader reader = walker.getObjectReader(); for (DiffEntry diff : diffs) { if (!isFileDiff(diff)) continue; final AbbreviatedObjectId oldId = diff.getOldId(); if (oldId == null) continue; include(commit, diff, BlobUtils.diff(reader, oldId.toObjectId(), diff.getNewId().toObjectId())); if (count >= total) break; } return count >= total ? true : include(false); }
@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; }