Я не могу найти никаких опций для указания имени файла в git_revwalk_new / git_revwalk_push, тогда как мне получить все ревизии для указанного файла?
Вы можете найти вдохновение в примере log.c в libgit2.
Точнее, вам нужно будет нормально выполнить revwalk, а выполнить фильтрацию пути , используя git_pathspec_match_tree в дереве каждого коммита.