refspec: add direction accessor
diff --git a/include/git2/refspec.h b/include/git2/refspec.h
index 3e1b502..89ab81b 100644
--- a/include/git2/refspec.h
+++ b/include/git2/refspec.h
@@ -52,6 +52,14 @@ GIT_EXTERN(const char *) git_refspec_string(const git_refspec *refspec);
GIT_EXTERN(int) git_refspec_force(const git_refspec *refspec);
/**
+ * Get the refspec's direction.
+ *
+ * @param the refspec
+ * @return GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH
+ */
+GIT_EXTERN(git_direction) git_refspec_direction(const git_refspec *spec);
+
+/**
* Check if a refspec's source descriptor matches a reference
*
* @param refspec the refspec
diff --git a/src/refspec.c b/src/refspec.c
index 2565408..a907df8 100644
--- a/src/refspec.c
+++ b/src/refspec.c
@@ -274,3 +274,10 @@ int git_refspec_is_wildcard(const git_refspec *spec)
return (spec->src[strlen(spec->src) - 1] == '*');
}
+
+git_direction git_refspec_direction(const git_refspec *spec)
+{
+ assert(spec);
+
+ return spec->push;
+}