summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <carlos@cmartin.tk>2011-11-21 20:48:59 +0100
committerCarlos Martín Nieto <carlos@cmartin.tk>2011-11-21 21:00:43 +0100
commit6ac3b707b14217602152c032a11304757c88612c (patch)
tree792d6eabd5b92f9e7e799c2849eb757f34ec6ae3
parent4cf01e9a1a3b81d1c8bc77fcdf7e0c20792175a7 (diff)
downloadlibgit2-6ac3b707b14217602152c032a11304757c88612c.tar.gz
Add git_remote_connected
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
-rw-r--r--include/git2/remote.h10
-rw-r--r--src/remote.c5
2 files changed, 15 insertions, 0 deletions
diff --git a/include/git2/remote.h b/include/git2/remote.h
index 94453db56..87f84f8e0 100644
--- a/include/git2/remote.h
+++ b/include/git2/remote.h
@@ -124,6 +124,16 @@ GIT_EXTERN(int) git_remote_ls(git_remote *remote, git_headarray *refs);
GIT_EXTERN(int) git_remote_download(char **filename, git_remote *remote);
/**
+ * Check whether the remote is connected
+ *
+ * Check whether the remote's underlying transport is connected to the
+ * remote host.
+ *
+ * @return 1 if it's connected, 0 otherwise.
+ */
+GIT_EXTERN(int) git_remote_connected(git_remote *remote);
+
+/**
* Disconnect from the remote
*
* Close the connection to the remote and free the underlying
diff --git a/src/remote.c b/src/remote.c
index c59991002..e0c127bd3 100644
--- a/src/remote.c
+++ b/src/remote.c
@@ -267,6 +267,11 @@ int git_remote_update_tips(struct git_remote *remote)
return GIT_SUCCESS;
}
+int git_remote_connected(git_remote *remote)
+{
+ return remote->transport == NULL ? 0 : remote->transport->connected;
+}
+
void git_remote_disconnect(git_remote *remote)
{
if (remote->transport != NULL) {