C libgit2 - список файлов по коммиту - PullRequest
1 голос
/ 12 апреля 2020

Мне нужно перечислить программно, начиная с Git, файлы по коммиту. Это мой код:

git_libgit2_init();
const char * REPO_PATH = "C:/Users/ki/test_repo";
git_repository * repo;
git_repository_open(&repo, REPO_PATH);

git_oid oid;
git_oid_fromstr(&oid, "08061b05");

git_tree *tree;
git_tree_lookup(&tree, repo, &oid);

size_t cnt = git_tree_entrycount(tree);
printf("tree entries: %d\n", (int) cnt);

...

git_tree_free(tree);

git_repository_free(repo);
git_libgit2_shutdown();
return 0;

Проблема в том, что библиотека выдает ошибку подтверждения, дерево. c строка 339. Любая подсказка?

KI

1 Ответ

0 голосов
/ 12 апреля 2020

git_tree_entrycount() подтверждает, когда получает NULL указатель на дерево. Вы должны проверить git_repository_open(), git_oid_fromstr() и git_tree_lookup() для возврата результатов. Если любой из них возвращает не 0, вы можете проверить сообщение об ошибке с помощью git_error_last().

...