J Git Возврат коммит слияния - PullRequest
0 голосов
/ 04 марта 2020
    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)

Я не уверен, что я сделал неправильно здесь. Заранее спасибо (:

...