diff options
author | Andreas Ericsson <ae@op5.se> | 2008-11-18 01:18:52 +0100 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2008-11-18 10:32:53 -0800 |
commit | d4043ee9d97031e94f205110996d2381dd26c540 (patch) | |
tree | 41c1bdce587d5c8b8ca03a5a8691ea3f09f16316 /src/git/commit.h | |
parent | 1b9e92c73bd223661fe63dffa0c9138da4e1ea80 (diff) | |
download | libgit2-d4043ee9d97031e94f205110996d2381dd26c540.tar.gz |
Move public headers to src/git
It's arguably smoother to keep them close to the source,
as that's where one's working when modifying them. More
importantly, though, is the ability to use private headers
in the src/ dir that simply include "git/$samename.h" to
get to the public API at the same time.
Signed-off-by: Andreas Ericsson <ae@op5.se>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'src/git/commit.h')
-rw-r--r-- | src/git/commit.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/git/commit.h b/src/git/commit.h new file mode 100644 index 000000000..8cb3e7d4c --- /dev/null +++ b/src/git/commit.h @@ -0,0 +1,72 @@ +/* + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License, version 2, + * as published by the Free Software Foundation. + * + * In addition to the permissions in the GNU General Public License, + * the authors give you unlimited permission to link the compiled + * version of this file into combinations with other programs, + * and to distribute those combinations without any restriction + * coming from the use of this file. (The General Public License + * restrictions do apply in other respects; for example, they cover + * modification of the file, and distribution when not linked into + * a combined executable.) + * + * This file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef INCLUDE_git_commit_h__ +#define INCLUDE_git_commit_h__ + +#include "common.h" +#include "oid.h" + +/** + * @file git/commit.h + * @brief Git commit parsing, formatting routines + * @defgroup git_commit Git commit parsing, formatting routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Parsed representation of a commit object. */ +typedef struct git_commit git_commit; +#ifdef GIT__PRIVATE +struct git_commit { + git_oid id; + time_t commit_time; + unsigned parsed:1, + flags:26; +}; +#endif + +/** + * Parse (or lookup) a commit from a revision pool. + * @param pool the pool to use when parsing/caching the commit. + * @param id identity of the commit to locate. If the object is + * an annotated tag it will be peeled back to the commit. + * @return the commit; NULL if the commit does not exist in the + * pool's git_odb, or if the commit is present but is + * too malformed to be parsed successfully. + */ +GIT_EXTERN(git_commit*) git_commit_parse(git_revpool *pool, const git_oid *id); + +/** + * Get the id of a commit. + * @param commit a previously parsed commit. + * @return object identity for the commit. + */ +GIT_EXTERN(const git_oid*) git_commit_id(git_commit *commit); + +/** @} */ +GIT_END_DECL +#endif |