]> git.proxmox.com Git - libgit2.git/blob - src/commit.h
install as examples
[libgit2.git] / src / commit.h
1 /*
2 * Copyright (C) the libgit2 contributors. All rights reserved.
3 *
4 * This file is part of libgit2, distributed under the GNU GPL v2 with
5 * a Linking Exception. For full terms see the included COPYING file.
6 */
7 #ifndef INCLUDE_commit_h__
8 #define INCLUDE_commit_h__
9
10 #include "common.h"
11
12 #include "git2/commit.h"
13 #include "tree.h"
14 #include "repository.h"
15 #include "array.h"
16
17 #include <time.h>
18
19 struct git_commit {
20 git_object object;
21
22 git_array_t(git_oid) parent_ids;
23 git_oid tree_id;
24
25 git_signature *author;
26 git_signature *committer;
27
28 char *message_encoding;
29 char *raw_message;
30 char *raw_header;
31
32 char *summary;
33 char *body;
34 };
35
36 void git_commit__free(void *commit);
37 int git_commit__parse(void *commit, git_odb_object *obj);
38 int git_commit__parse_raw(void *commit, const char *data, size_t size);
39
40 typedef enum {
41 GIT_COMMIT_PARSE_QUICK = (1 << 0), /**< Only parse parents and committer info */
42 } git_commit__parse_flags;
43
44 int git_commit__parse_ext(git_commit *commit, git_odb_object *odb_obj, unsigned int flags);
45
46 #endif