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:
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);