Как получить список файлов в хранилище в libgit/ target-git?

Я хочу получить список файлов в репозитории Git, используя target -git или libgit2

То, что я делаю сейчас, называется git инструмент командной строки и анализ выходных данных git ls-files (или же git ls-tree --name-only -r HEAD, что дает те же результаты), например,

$ git ls-files
meta/LICENSE.md
.gitignore
README.md

Я бы предпочел использовать прямой API, предоставляемый libgit2. Я попробовал объективный мерзавец -[GTTree enumerateContentsWithOptions:error:block:] метода, но перечисленные объекты GTTreeEntry предоставляют только имя и не знают, в каком подкаталоге они находятся.

1 ответ

Решение

enumerateContentsWithOptions принимает блок с этой подписью:

typedef int(^GTTreeEnumerationBlock)(NSString *root, GTTreeEntry *entry);

root это путь к каталогу, который entry в.

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