Как получить историю файла?

У меня возникла еще одна проблема с libgit2, и я буду очень благодарен за вашу помощь.

Я пытаюсь получить историю файла, то есть список коммитов, в которых этот файл был изменен. И вроде бы весьма нестандартно ... Насколько я понимаю, функции для этого нет.

Единственный подход, который я могу придумать, - это использовать API обхода ревизий для итерации ревизий, проверки объекта дерева, прикрепленного к фиксации, и поиска в нем заданного файла, если он найден, добавить фиксацию в мой список, в противном случае перейти к следующей фиксации .

Но мне это кажется неоптимальным ...

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

Многие заранее спасибо!

21
задан nulltoken 2 February 2012 в 21:22
поделиться