#java #git #jgit
#java #git #jgit
Вопрос:
Мне нужна последняя фиксация, которая повлияла на путь, похожий на git log -1 -- path
.
В настоящее время я делаю это
TreeWalk.forPath(repo, filepath, rootCommit.getTree()).getObjectId(0)
Есть ли более быстрый способ добиться этого?
Ответ №1:
Другим вариантом было бы использовать команду Porcelain для «log», она использует RevWalk внутри, поэтому она может выполняться с разными таймингами, однако я не уверен, какой из них будет быстрее, это также может в некоторой степени зависеть от размера и структуры репозитория…
Iterable<RevCommit> logs = new Git(repository).log()
.addPath("README.md")
.setMaxCount(1)
.call();
for(RevCommit rev : logs) {
System.out.println("Commit: " rev);
}