1 module deimos.git2.commit;
2 
3 import deimos.git2.buffer;
4 import deimos.git2.common;
5 import deimos.git2.object_;
6 import deimos.git2.oid;
7 import deimos.git2.types;
8 
9 extern (C):
10 
11 int git_commit_lookup(git_commit **commit, git_repository *repo, const(git_oid)* id);
12 int git_commit_lookup_prefix(git_commit **commit, git_repository *repo, const(git_oid)* id, size_t len);
13 void git_commit_free(git_commit *commit);
14 const(git_oid)* git_commit_id(const(git_commit)* commit);
15 git_repository * git_commit_owner(const(git_commit)* commit);
16 const(char)* git_commit_message_encoding(const(git_commit)* commit);
17 const(char)* git_commit_message(const(git_commit)* commit);
18 const(char)* git_commit_message_raw(const(git_commit)* commit);
19 const(char)* git_commit_summary(git_commit *commit);
20 const(char)* git_commit_body(git_commit *commit);
21 
22 git_time_t git_commit_time(const(git_commit)* commit);
23 int git_commit_time_offset(const(git_commit)* commit);
24 const(git_signature)* git_commit_committer(const(git_commit)* commit);
25 const(git_signature)* git_commit_author(const(git_commit)* commit);
26 const(char)* git_commit_raw_header(const(git_commit)* commit);
27 int git_commit_tree(git_tree **tree_out, const(git_commit)* commit);
28 const(git_oid)* git_commit_tree_id(const(git_commit)* commit);
29 uint git_commit_parentcount(const(git_commit)* commit);
30 int git_commit_parent(
31 	git_commit **out_,
32 	const(git_commit)* commit,
33 	uint n);
34 const(git_oid)* git_commit_parent_id(
35 	const(git_commit)* commit,
36 	uint n);
37 int git_commit_nth_gen_ancestor(
38 	git_commit **ancestor,
39 	const(git_commit)* commit,
40 	uint n);
41 int git_commit_header_field(git_buf *out_, const(git_commit)* commit, const(char)* field);
42 int git_commit_extract_signature(
43     git_buf *signature,
44     git_buf *signed_data,
45     git_repository *repo,
46     git_oid *commit_id,
47     const(char)* field,
48 );
49 int git_commit_create(
50 	git_oid *id,
51 	git_repository *repo,
52 	const(char)* update_ref,
53 	const(git_signature)* author,
54 	const(git_signature)* committer,
55 	const(char)* message_encoding,
56 	const(char)* message,
57 	const(git_tree)* tree,
58 	size_t parent_count,
59 	const(git_commit)** parents);
60 int git_commit_create_v(
61 	git_oid *id,
62 	git_repository *repo,
63 	const(char)* update_ref,
64 	const(git_signature)* author,
65 	const(git_signature)* committer,
66 	const(char)* message_encoding,
67 	const(char)* message,
68 	const(git_tree)* tree,
69 	size_t parent_count,
70 	...);
71 int git_commit_amend(
72     git_oid *id,
73     const(git_commit)* commit_to_amend,
74     const(char)* update_ref,
75     const(git_signature)* author,
76     const(git_signature)* committer,
77     const(char)* message_encoding,
78     const(char)* message,
79     const(git_tree)* tree,
80 );
81 int git_commit_create_buffer(
82     git_buf *out_,
83     git_repository *repo,
84     const(git_signature)* author,
85     const(git_signature)* committer,
86     const(char)* message_encoding,
87     const(char)* message,
88     const(git_tree)* tree,
89     size_t parent_count,
90     const(git_commit)*[] parents
91 );
92 int git_commit_create_with_signature(
93     git_oid *out_,
94     git_repository *repo,
95     const(char)* commit_content,
96     const(char)* signature,
97     const(char)* signature_field,
98 );
99 int git_commit_dup(git_commit **out_, git_commit *source);