From 3a42e0a3705d5d47ed32579721a62edf4ff297b1 Mon Sep 17 00:00:00 2001 From: Vicent Marti Date: Fri, 3 Jun 2011 21:38:55 +0200 Subject: [PATCH] index: Add `git_index_entry_stage` method As suggested by Romain-Geissler --- include/git2/index.h | 12 ++++++++++++ src/index.c | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/include/git2/index.h b/include/git2/index.h index 45900d08d..fa1cadeab 100644 --- a/include/git2/index.h +++ b/include/git2/index.h @@ -287,6 +287,18 @@ GIT_EXTERN(unsigned int) git_index_entrycount_unmerged(git_index *index); */ GIT_EXTERN(const git_index_entry_unmerged *) git_index_get_unmerged(git_index *index, const char *path); +/** + * Return the stage number from a git index entry + * + * This entry is calculated from the entrie's flag + * attribute like this: + * + * (entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT + * + * @param entry The entry + * @returns the stage number + */ +GIT_EXTERN(int) git_index_entry_stage(const git_index_entry *entry); /** @} */ GIT_END_DECL diff --git a/src/index.c b/src/index.c index 8517b8060..c86d37a08 100644 --- a/src/index.c +++ b/src/index.c @@ -980,3 +980,8 @@ static int write_index(git_index *index, git_filebuf *file) return error == GIT_SUCCESS ? GIT_SUCCESS : git__rethrow(error, "Failed to write index"); } + +int git_index_entry_stage(const git_index_entry *entry) +{ + return (entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT; +}