Jgit - для данного репозитория, как мы можем определить список новых коммитов и из какой ветки приходит каждый из этих коммитов?

Я попытался получить все ветви и коммиты для каждой ветви следующим образом:

Repository repo = getRepository();
//fBranchList is a list of branches in that repository
for (String branch : fBranchList) {
    ObjectId commitId = repo.resolve(branchName)
}

Этот подход имеет некоторые проблемы с производительностью. Поэтому я хочу, чтобы все коммиты находились в репозитории и соответствующей ветке (родительской ветке), где коммиты были созданы.

Другой подход, о котором я думал, заключается в следующем:

Git git = Git.open(new File("path")) ;
Iterable<RevCommit> commits = git.log().all().call();

for (RevCommit commit : commits) {
    if(commit.getParentCount()>1 ){
        System.out.println("LogCommit: " + commit.getName());
}

Но при таком подходе я не могу получить ветку, в которой коммит был зафиксирован впервые. Можете ли вы помочь?

0 ответов

Другие вопросы по тегам