summaryrefslogtreecommitdiff
path: root/include/git2/commit.h
diff options
context:
space:
mode:
authorVicent Martí <vicent@github.com>2012-07-12 09:35:35 -0700
committerVicent Martí <vicent@github.com>2012-07-12 09:35:35 -0700
commitdb2d4061f60f9390b9d37100b15ba5e819927aa4 (patch)
treebe93e45ba71395254565a1117a142510d2df30f8 /include/git2/commit.h
parent48bcf81dd2584d91e5922dd1458dab6c4173bdcf (diff)
parent12595ab8f91a71e5a596a883b31789d5317e9ec2 (diff)
downloadlibgit2-db2d4061f60f9390b9d37100b15ba5e819927aa4.tar.gz
Merge pull request #814 from nulltoken/topic/revparse-refac
Revparse refactoring: a start
Diffstat (limited to 'include/git2/commit.h')
-rw-r--r--include/git2/commit.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/git2/commit.h b/include/git2/commit.h
index 640adf5c2..5b6da520d 100644
--- a/include/git2/commit.h
+++ b/include/git2/commit.h
@@ -179,6 +179,25 @@ GIT_EXTERN(int) git_commit_parent(git_commit **parent, git_commit *commit, unsig
GIT_EXTERN(const git_oid *) git_commit_parent_oid(git_commit *commit, unsigned int n);
/**
+ * Get the commit object that is the <n>th generation ancestor
+ * of the named commit object, following only the first parents.
+ * The returned commit has to be freed by the caller.
+ *
+ * Passing `0` as the generation number returns another instance of the
+ * base commit itself.
+ *
+ * @param ancestor Pointer where to store the ancestor commit
+ * @param commit a previously loaded commit.
+ * @param n the requested generation
+ * @return 0 on success; GIT_ENOTFOUND if no matching ancestor exists
+ * or an error code
+ */
+int git_commit_nth_gen_ancestor(
+ git_commit **ancestor,
+ const git_commit *commit,
+ unsigned int n);
+
+/**
* Create a new commit in the repository using `git_object`
* instances as parameters.
*