Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/libgit2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2013-09-16 18:54:37 +0400
committerCarlos Martín Nieto <cmn@dwim.me>2013-10-02 08:41:42 +0400
commitfe3a40a4ff056400cde6e456211d6b5f2ec1008e (patch)
treee4e5c6348f169d4214309ca0c6f854b3ebff7abe /src/remote.c
parentd19870d947eef17008ae0b4b7ebc9e9d0038a770 (diff)
remote: add a convenience 'fetch' function.
Diffstat (limited to 'src/remote.c')
-rw-r--r--src/remote.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/remote.c b/src/remote.c
index 2d0321eb3..ace886502 100644
--- a/src/remote.c
+++ b/src/remote.c
@@ -767,6 +767,24 @@ int git_remote_download(git_remote *remote)
return git_fetch_download_pack(remote);
}
+int git_remote_fetch(git_remote *remote)
+{
+ int error;
+
+ /* Connect and download everything */
+ if ((error = git_remote_connect(remote, GIT_DIRECTION_FETCH)) < 0)
+ return error;
+
+ if ((error = git_remote_download(remote)) < 0)
+ return error;
+
+ /* We don't need to be connected anymore */
+ git_remote_disconnect(remote);
+
+ /* Create "remote/foo" branches for all remote branches */
+ return git_remote_update_tips(remote);
+}
+
static int remote_head_for_fetchspec_src(git_remote_head **out, git_vector *update_heads, const char *fetchspec_src)
{
unsigned int i;