diff options
-rw-r--r-- | include/git2/remote.h | 10 | ||||
-rw-r--r-- | src/remote.c | 5 |
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) { |