Reintroduce git_revparse_single.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
diff --git a/include/git2/revparse.h b/include/git2/revparse.h
index 7fe910b..2bbbaa5 100644
--- a/include/git2/revparse.h
+++ b/include/git2/revparse.h
@@ -20,6 +20,20 @@
*/
GIT_BEGIN_DECL
+/**
+ *
+ * Find a single object, as specified by a revision string. See `man gitrevisions`,
+ * or http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for
+ * information on the syntax accepted.
+ *
+ * @param out pointer to output object
+ * @param repo the repository to search in
+ * @param spec the textual specification for an object
+ * @return 0 on success, GIT_ENOTFOUND, GIT_EAMBIGUOUS, GIT_EINVALIDSPEC or an error code
+ */
+GIT_EXTERN(int) git_revparse_single(git_object **out, git_repository *repo,
+ const char *spec);
+
/**
* Revparse flags. These indicate the intended behavior of the spec passed to
diff --git a/src/revparse.c b/src/revparse.c
index 7842c49..5f59140 100644
--- a/src/revparse.c
+++ b/src/revparse.c
@@ -722,7 +722,7 @@ static int ensure_left_hand_identifier_is_not_known_yet(git_object *object, git_
return GIT_EINVALIDSPEC;
}
-static int git_revparse_single(git_object **out, git_repository *repo, const char *spec)
+int git_revparse_single(git_object **out, git_repository *repo, const char *spec)
{
size_t pos = 0, identifier_len = 0;
int error = -1, n;