Commit 8d39f2a79067c9551286bb552457db71b88b64d3

Carlos Martín Nieto 2013-04-30T10:55:17

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;
+}