Delete extra file
This commit is contained in:
parent
0b0b8193b4
commit
e61e13e342
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
// Первая основная таблица: коммит, автор, дата
|
||||
// Вторая таблица : коммит, имя файла, добавленные строки, удаленные строки
|
||||
|
||||
// Фильтрация коммитов по автору(только основная таблица)
|
||||
// Фильтрация коммитов по дате
|
||||
// Фильтрация коммитов по именни файла, или добавленные строки.
|
||||
|
Loading…
Reference in New Issue
Block a user