diff options
Diffstat (limited to 'gitstatus/src/git.cc')
-rw-r--r-- | gitstatus/src/git.cc | 8 |
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 |