private static boolean revertRepository(String commit, int parent)
throws RevisionSyntaxException, AmbiguousObjectException, IncorrectObjectTypeException, IOException {
try {
RevWalk walk = new RevWalk(repository, 0);
RevCommit revcom = walk.parseCommit(repository.resolve(commit));
System.out.println("Parent Count : " + revcom.getParentCount());
RevCommit parentCom = revcom.getParent(0);
git.revert().include(parentCom).call();
return true;
} catch (Exception e) {
System.out.println("Error in reverting the project! ):");
e.printStackTrace();
return false;
}
}
Я написал функцию для отмены фиксации слияния репозитория, я даже использовал «getParent (0)», чтобы указать на первого родителя, но все равно он выдает исключение.
org.eclipse.jgit.api.errors.MultipleParentsNotAllowedException: Cannot revert commit '46d3a4007fe1418d53baabc16dec39275079684b' because it has 2 parents, only commits with exactly one parent are supported
at org.eclipse.jgit.api.RevertCommand.call(RevertCommand.java:154)
at Main.revertRepository(Main.java:64)
at Main.main(Main.java:137)
Я не уверен, что я сделал неправильно здесь. Заранее спасибо (: