examples: ls-files: list files
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
diff --git a/examples/ls-files.c b/examples/ls-files.c
new file mode 100644
index 0000000..c5201bb
--- /dev/null
+++ b/examples/ls-files.c
@@ -0,0 +1,37 @@
+#include <common.h>
+
+typedef struct ls_files_state {
+ git_repository *repo;
+ git_index *index;
+ char **files;
+ size_t num_entries;
+} ls_files;
+
+void create_ls_files(ls_files **ls);
+
+int main(int argc, char[] *argv) {
+ ls_files *ls;
+ git_index_entry *entry;
+ size_t i;
+
+ git_libgit2_init();
+
+ ls = git__malloc(sizeof(ls_files));
+
+ // TODO err
+ git_repository_open_ext(&ls->repo, ".", 0, NULL);
+
+ // TODO err
+ git_repository_index__weakptr(&ls->index, ls->repo);
+
+
+ git_vector_foreach(&ls->index->entries, i, entry) {
+ printf("%s\n", entry->path);
+ }
+
+ git_repository_free(ls->repo);
+ git__free(ls);
+ git_libgit2_shutdown();
+
+ return 0;
+}