private final Map<RevCommit, DuplicateContainer> duplicates = new HashMap<RevCommit, DuplicateContainer>();
public boolean include(final RevWalk walker, final RevCommit commit)
throws IOException {
final TreeWalk walk = TreeUtils.diffWithParents(walker, commit);
final MutableObjectId id = new MutableObjectId();
final ObjectId zero = ObjectId.zeroId();
final DuplicateContainer dupes = new DuplicateContainer(commit);
while (walk.next()) {
if (!walk.isSubtree())
continue;
final String path = walk.getPathString();
for (int i = 0; i < walk.getTreeCount(); i++) {
walk.getObjectId(id, i);
if (!zero.equals(id))
dupes.include(id.toObjectId(), path);
}
walk.enterSubtree();
}
if (dupes.validate())
duplicates.put(commit, dupes);