Я пытаюсь написать aj git код, чтобы найти все связанные ветви (ссылки) на основе фиксации. Идея в основном заключается в том, чтобы вызывать nameRev с помощью addPrefix и передавать head, remote и tag в качестве параметров, чтобы найти все ветви.
Iterable<RevCommit> commits = repositoryBrowser.getLatestGitCommits(4);
for (RevCommit commit : commits) {
Map<ObjectId, String> branch= new Git(repository).nameRev().add(commit.toObjectId()).call();
log(commit.getShortMessage() + "\tbranch: " + ss);
}
Вывод вышеприведенного выглядит так:
Release 2.3.2 from xxxxxxx branch: {AnyObjectId[3533e4063644c0436ac5e873a75b647703aea6dd]=v2.3.2}
Проблема в том, что для первого коммита ветвь указывает на тег (refs / tags / v2.3.2). Трудно представить коммит, который не принадлежит ни одной ветке и только тегу.
Я немного запутался, мой подход правильный или я что-то здесь не так делаю. Любая помощь будет оценена.