]> git.proxmox.com Git - libgit2.git/blame - src/commit.h
install as examples
[libgit2.git] / src / commit.h
CommitLineData
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
19struct 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
78606263 36void git_commit__free(void *commit);
3f27127d 37int git_commit__parse(void *commit, git_odb_object *obj);
ac3d33df 38int git_commit__parse_raw(void *commit, const char *data, size_t size);
0c3596f1 39
0c9c969a
UG
40typedef enum {
41 GIT_COMMIT_PARSE_QUICK = (1 << 0), /**< Only parse parents and committer info */
42} git_commit__parse_flags;
43
44int git_commit__parse_ext(git_commit *commit, git_odb_object *odb_obj, unsigned int flags);
45
4f0adcd0 46#endif