aboutsummaryrefslogtreecommitdiff
path: root/gitstatus/src/git.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gitstatus/src/git.cc')
-rw-r--r--gitstatus/src/git.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/gitstatus/src/git.cc b/gitstatus/src/git.cc
index 029b02bf..552100cb 100644
--- a/gitstatus/src/git.cc
+++ b/gitstatus/src/git.cc
@@ -239,4 +239,12 @@ PushRemotePtr GetPushRemote(git_repository* repo, const git_reference* local) {
return PushRemotePtr(res.release());
}
+CommitMessage GetCommitMessage(git_repository* repo, const git_oid& id) {
+ git_commit* commit;
+ VERIFY(!git_commit_lookup(&commit, repo, &id)) << GitError();
+ ON_SCOPE_EXIT(=) { git_commit_free(commit); };
+ return {.encoding = git_commit_message_encoding(commit) ?: "",
+ .summary = git_commit_summary(commit) ?: ""};
+}
+
} // namespace gitstatus