summaryrefslogtreecommitdiff
path: root/include/git2
diff options
context:
space:
mode:
Diffstat (limited to 'include/git2')
-rw-r--r--include/git2/remote.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/git2/remote.h b/include/git2/remote.h
index 93bc83452..207fe271d 100644
--- a/include/git2/remote.h
+++ b/include/git2/remote.h
@@ -91,9 +91,12 @@ GIT_EXTERN(const git_refspec *) git_remote_pushspec(struct git_remote *remote);
/**
* Open a connection to a remote
*
- * The transport is selected based on the URL
+ * The transport is selected based on the URL. The direction argument
+ * is due to a limitation of the git protocol (over TCP or SSH) which
+ * starts up a specific binary which can only do the one or the other.
*
* @param remote the remote to connect to
+ * @param direction whether you want to receive or send data
* @return GIT_SUCCESS or an error code
*/
GIT_EXTERN(int) git_remote_connect(struct git_remote *remote, int direction);
@@ -110,6 +113,14 @@ GIT_EXTERN(int) git_remote_connect(struct git_remote *remote, int direction);
GIT_EXTERN(int) git_remote_ls(git_remote *remote, git_headarray *refs);
/**
+ * Negotiate what data needs to be exchanged to synchroize the remtoe
+ * and local references
+ *
+ * @param remote the remote you want to negotiate with
+ */
+GIT_EXTERN(int) git_remote_negotiate(git_remote *remote);
+
+/**
* Free the memory associated with a remote
*
* @param remote the remote to free