Я пытаюсь решить эту проблему: https://github.com/gitahead/gitahead/issues/380
Проблема состоит в том, что дерево, используемое в модели, не содержит неотслеживаемых файлов, и поэтому в представлении нечего отображать , Когда я запускаю файл, он показывается.
Есть ли способ отслеживать в дереве также неотслеживаемые файлы?
Я создал небольшое тестовое приложение, чтобы найти проблему. Когда один файл подготовлен, количество не равно нулю, в противном случае оно всегда равно нулю.
Testsetup
- new git хранилище (TestRepository) с следующие неотслеживаемые файлы:
- testfile.txt
- testfolder / testfile2.txt
d
#include <git2.h>
#include <stdio.h>
int main() {
git_libgit2_init();
git_repository *repo = NULL;
int error = git_repository_open(&repo, "/TestRepository");
if (error < 0) {
const git_error *e = git_error_last();
printf("Error %d/%d: %s\n", error, e->klass, e->message);
exit(error);
}
git_tree *tree = nullptr;
git_index* idx = nullptr;
git_repository_index(&idx, repo);
git_oid id;
if (git_index_write_tree(&id, idx)) {
const git_error *e = git_error_last();
printf("Error %d/%d: %s\n", error, e->klass, e->message);
exit(error);
}
git_tree_lookup(&tree, repo, &id);
int count = git_tree_entrycount(tree);
printf("%d", count);
git_repository_free(repo);
printf("SUCCESS");
return 0;
}