diff options
author | Carlos Martín Nieto <cmn@dwim.me> | 2013-09-16 18:54:37 +0400 |
---|---|---|
committer | Carlos Martín Nieto <cmn@dwim.me> | 2013-10-02 08:41:42 +0400 |
commit | fe3a40a4ff056400cde6e456211d6b5f2ec1008e (patch) | |
tree | e4e5c6348f169d4214309ca0c6f854b3ebff7abe /src/remote.c | |
parent | d19870d947eef17008ae0b4b7ebc9e9d0038a770 (diff) |
remote: add a convenience 'fetch' function.
Diffstat (limited to 'src/remote.c')
-rw-r--r-- | src/remote.c | 18 |
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; |