]>
Commit | Line | Data |
---|---|---|
bb742ede | 1 | /* |
359fc2d2 | 2 | * Copyright (C) the libgit2 contributors. All rights reserved. |
bb742ede VM |
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 | */ | |
4f0adcd0 AE |
7 | #ifndef INCLUDE_commit_h__ |
8 | #define INCLUDE_commit_h__ | |
b3039bee | 9 | |
eae0bfdc PP |
10 | #include "common.h" |
11 | ||
44908fe7 | 12 | #include "git2/commit.h" |
225fe215 | 13 | #include "tree.h" |
3315782c | 14 | #include "repository.h" |
9abc78ae | 15 | #include "array.h" |
4f0adcd0 AE |
16 | |
17 | #include <time.h> | |
18 | ||
19 | struct git_commit { | |
f49a2e49 | 20 | git_object object; |
c5696427 | 21 | |
9abc78ae | 22 | git_array_t(git_oid) parent_ids; |
cfbe4be3 | 23 | git_oid tree_id; |
08d5d000 | 24 | |
638c2ca4 VM |
25 | git_signature *author; |
26 | git_signature *committer; | |
52f2390b | 27 | |
5ae2f0c0 | 28 | char *message_encoding; |
598f069b | 29 | char *raw_message; |
f094f905 | 30 | char *raw_header; |
300d192f ET |
31 | |
32 | char *summary; | |
7f8fe1d4 | 33 | char *body; |
4f0adcd0 AE |
34 | }; |
35 | ||
e579e0f7 MB |
36 | int git_commit__header_field( |
37 | git_str *out, | |
38 | const git_commit *commit, | |
39 | const char *field); | |
40 | ||
41 | int git_commit__extract_signature( | |
42 | git_str *signature, | |
43 | git_str *signed_data, | |
44 | git_repository *repo, | |
45 | git_oid *commit_id, | |
46 | const char *field); | |
47 | ||
48 | int git_commit__create_buffer( | |
49 | git_str *out, | |
50 | git_repository *repo, | |
51 | const git_signature *author, | |
52 | const git_signature *committer, | |
53 | const char *message_encoding, | |
54 | const char *message, | |
55 | const git_tree *tree, | |
56 | size_t parent_count, | |
57 | const git_commit *parents[]); | |
58 | ||
78606263 | 59 | void git_commit__free(void *commit); |
3f27127d | 60 | int git_commit__parse(void *commit, git_odb_object *obj); |
ac3d33df | 61 | int git_commit__parse_raw(void *commit, const char *data, size_t size); |
0c3596f1 | 62 | |
22a2d3d5 | 63 | typedef enum { |
e579e0f7 | 64 | GIT_COMMIT_PARSE_QUICK = (1 << 0) /**< Only parse parents and committer info */ |
22a2d3d5 UG |
65 | } git_commit__parse_flags; |
66 | ||
67 | int git_commit__parse_ext(git_commit *commit, git_odb_object *odb_obj, unsigned int flags); | |
68 | ||
4f0adcd0 | 69 | #endif |