Есть ли способ получить информацию о ветке (используя библиотеку libgit2), в идеале git_reference* из git_commit*?
То, что я пытаюсь сделать, это в основном получение информации о ветке из коммита.
Спасибо
Есть ли способ получить информацию о ветке (используя библиотеку libgit2), в идеале git_reference* из git_commit*?
То, что я пытаюсь сделать, это в основном получение информации о ветке из коммита.
Спасибо
Нет, нет никакого способа сделать это. Коммиты Git не находятся «на» ветке, вместо этого ветка является указателем на фиксацию. Таким образом, хранение данных идет в противоположном направлении. В результате многие ветки могут указывать на один и тот же коммит, поэтому невозможно получить одну ветку из коммита.
Вы можете найти все ветки, которые содержат данный коммит, но из-за довольно расплывчатого характера это не функциональность, которую предоставляет libgit2. Вы, безусловно, можете реализовать это самостоятельно, используя libgit2, revwalk
просматривая интересующие вас ветки, чтобы увидеть, найден ли данный коммит. Но это будет очень разочаровывающим с точки зрения производительности.