gitout

A static git page generator
git clone https://git.bracken.jp/gitout.git
Log | Files | Refs | Submodules | README | LICENSE

repo.h (1371B)


      1 #ifndef GITOUT_GIT_REPO_H_
      2 #define GITOUT_GIT_REPO_H_
      3 
      4 #include "git/commit.h"
      5 #include "git/file.h"
      6 #include "git/reference.h"
      7 
      8 typedef struct GitRepo GitRepo;
      9 
     10 GitRepo* gitrepo_create(const char* path);
     11 void gitrepo_free(GitRepo* repo);
     12 
     13 const char* gitrepo_name(const GitRepo* repo);
     14 const char* gitrepo_short_name(const GitRepo* repo);
     15 const char* gitrepo_owner(const GitRepo* repo);
     16 const char* gitrepo_description(const GitRepo* repo);
     17 const char* gitrepo_clone_url(const GitRepo* repo);
     18 const char* gitrepo_submodules(const GitRepo* repo);
     19 const char* gitrepo_readme(const GitRepo* repo);
     20 const char* gitrepo_license(const GitRepo* repo);
     21 
     22 typedef void (*CommitCallback)(const GitCommit* ci, void* user_data);
     23 void gitrepo_for_commit(GitRepo* repo,
     24                         const char* spec,
     25                         CommitCallback cb,
     26                         void* user_data);
     27 
     28 void gitrepo_for_each_commit(GitRepo* repo, CommitCallback cb, void* user_data);
     29 
     30 typedef void (*ReferenceCallback)(const GitReference* ref, void* user_data);
     31 void gitrepo_for_each_reference(GitRepo* repo,
     32                                 ReferenceCallback cb,
     33                                 void* user_data);
     34 
     35 typedef void (*FileCallback)(const GitFile* file, void* user_data);
     36 void gitrepo_for_each_file(GitRepo* repo, FileCallback cb, void* user_data);
     37 
     38 #endif  // GITOUT_GIT_REPO_H_