gout

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

commit 9585373631337d115a61f4fb3646950945f9ec58
parent 890eaf6fa984dee1bc2bbbd794d94074ef367778
Author: Chris Bracken <chris@bracken.jp>
Date:   Fri,  6 Mar 2026 20:10:38 +0900

Make Git, GitRepo pointers const where possible

Diffstat:
Msrc/git/git.c | 20++++++++++++--------
Msrc/git/git.h | 10++++++----
Msrc/writer/repo_writer.c | 2+-
Msrc/writer/repo_writer.h | 2+-
4 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/src/git/git.c b/src/git/git.c @@ -24,17 +24,19 @@ static void libgit2_for_repo(Git* git, const char* path, RepoCallback cb, void* user_data); -static void libgit2_for_each_commit(Git* git, +static void libgit2_for_each_commit(const Git* git, CommitCallback cb, void* user_data); -static void libgit2_for_commit(Git* git, +static void libgit2_for_commit(const Git* git, const char* spec, CommitCallback cb, void* user_data); -static void libgit2_for_each_reference(Git* git, +static void libgit2_for_each_reference(const Git* git, ReferenceCallback cb, void* user_data); -static void libgit2_for_each_file(Git* git, FileCallback cb, void* user_data); +static void libgit2_for_each_file(const Git* git, + FileCallback cb, + void* user_data); /* Internal libgit2 utilities. */ static int oid_for_spec(git_repository* repo, const char* spec, git_oid* oid); @@ -113,7 +115,7 @@ static void libgit2_for_repo(Git* git, git->impl = NULL; } -static void libgit2_for_each_commit(Git* git, +static void libgit2_for_each_commit(const Git* git, CommitCallback cb, void* user_data) { assert(git != NULL); @@ -139,7 +141,7 @@ static void libgit2_for_each_commit(Git* git, git_revwalk_free(revwalk); } -static void libgit2_for_commit(Git* git, +static void libgit2_for_commit(const Git* git, const char* spec, CommitCallback cb, void* user_data) { @@ -167,7 +169,7 @@ static void libgit2_for_commit(Git* git, git_revwalk_free(revwalk); } -static void libgit2_for_each_reference(Git* git, +static void libgit2_for_each_reference(const Git* git, ReferenceCallback cb, void* user_data) { assert(git != NULL); @@ -212,7 +214,9 @@ static void libgit2_for_each_reference(Git* git, free(refs); } -static void libgit2_for_each_file(Git* git, FileCallback cb, void* user_data) { +static void libgit2_for_each_file(const Git* git, + FileCallback cb, + void* user_data) { assert(git != NULL); assert(cb != NULL); git_repository* repo = (git_repository*)git->impl; diff --git a/src/git/git.h b/src/git/git.h @@ -28,13 +28,15 @@ struct Git { const char* path, RepoCallback cb, void* user_data); - void (*for_each_commit)(Git* git, CommitCallback cb, void* user_data); - void (*for_commit)(Git* git, + void (*for_each_commit)(const Git* git, CommitCallback cb, void* user_data); + void (*for_commit)(const Git* git, const char* spec, CommitCallback cb, void* user_data); - void (*for_each_reference)(Git* git, ReferenceCallback cb, void* user_data); - void (*for_each_file)(Git* git, FileCallback cb, void* user_data); + void (*for_each_reference)(const Git* git, + ReferenceCallback cb, + void* user_data); + void (*for_each_file)(const Git* git, FileCallback cb, void* user_data); }; Git* gout_git_create(const FileSystem* fs); diff --git a/src/writer/repo_writer.c b/src/writer/repo_writer.c @@ -171,7 +171,7 @@ static const RepoWriterOps kGeminiRepoWriterOps = { }; RepoWriter* repowriter_create(RepoWriterType type, - GitRepo* repo, + const GitRepo* repo, const FileSystem* fs) { assert(repo != NULL); assert(fs != NULL); diff --git a/src/writer/repo_writer.h b/src/writer/repo_writer.h @@ -13,7 +13,7 @@ typedef struct RepoWriter RepoWriter; RepoWriter* repowriter_create(RepoWriterType type, - GitRepo* repo, + const GitRepo* repo, const FileSystem* fs); void repowriter_free(RepoWriter* writer);