Delete extra file

This commit is contained in:
Anton Romanov 2021-04-14 11:42:10 +04:00
parent 0b0b8193b4
commit e61e13e342

View File

@ -1,55 +0,0 @@
package ru.ulstu.extractor.model;
import org.eclipse.jgit.diff.DiffEntry;
import org.eclipse.jgit.diff.DiffFormatter;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.revwalk.RevWalk;
import java.io.IOException;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class NewClass {
private final RevWalk revWalk;
private final DiffFormatter diffFormatter;
private NewClass(RevWalk revWalk, DiffFormatter diffFormatter) {
this.revWalk = revWalk;
this.diffFormatter = diffFormatter;
}
public Set<String> getModified(final RevCommit commit) throws IOException {
final RevCommit[] parents = commit.getParents();
final Set<String> result = new HashSet<>();
if (parents.length == 1) { // merge commit if length > 1
final RevCommit parent = revWalk.parseCommit(parents[0].getId());
// get diff of this commit to its parent, as list of paths
final List<DiffEntry> diffs = getDiffEntries(commit, parent);
for (final DiffEntry diff : diffs) {
final String changePath = diff.getChangeType().equals(DiffEntry.ChangeType.DELETE) ? diff.getOldPath() : diff.getNewPath();
result.add(changePath);
}
}
return result;
}
private List<DiffEntry> getDiffEntries(final RevCommit commit, final RevCommit parent) {
try {
return diffFormatter.scan(parent.getTree(), commit.getTree());
} catch (Exception e) {
e.printStackTrace();
}
return Collections.emptyList();
}
}
// Первая основная таблица: коммит, автор, дата
// Вторая таблица : коммит, имя файла, добавленные строки, удаленные строки
// Фильтрация коммитов по автору(только основная таблица)
// Фильтрация коммитов по дате
// Фильтрация коммитов по именни файла, или добавленные строки.