]> git.proxmox.com Git - libgit2.git/blobdiff - src/remote.h
Update upstream source from tag 'upstream/1.3.0+dfsg.1'
[libgit2.git] / src / remote.h
index f88601e9b4ee89e71b1749136008e005575d55b4..ce92db76aa5b16e391415873443957e5ca3aff81 100644 (file)
@@ -7,12 +7,15 @@
 #ifndef INCLUDE_remote_h__
 #define INCLUDE_remote_h__
 
+#include "common.h"
+
 #include "git2/remote.h"
 #include "git2/transport.h"
 #include "git2/sys/transport.h"
 
 #include "refspec.h"
 #include "vector.h"
+#include "net.h"
 
 #define GIT_REMOTE_ORIGIN "origin"
 
@@ -23,19 +26,28 @@ struct git_remote {
        git_vector refs;
        git_vector refspecs;
        git_vector active_refspecs;
-       git_transport_cb transport_cb;
-       void *transport_cb_payload;
+       git_vector passive_refspecs;
        git_transport *transport;
        git_repository *repo;
-       git_remote_callbacks callbacks;
-       git_transfer_progress stats;
+       git_push *push;
+       git_indexer_progress stats;
        unsigned int need_pack;
        git_remote_autotag_option_t download_tags;
-       int update_fetchhead;
+       int prune_refs;
+       int passed_refspecs;
 };
 
-const char* git_remote__urlfordirection(struct git_remote *remote, int direction);
-int git_remote__get_http_proxy(git_remote *remote, bool use_ssl, char **proxy_url);
+typedef struct git_remote_connection_opts {
+       const git_strarray *custom_headers;
+       const git_proxy_options *proxy;
+} git_remote_connection_opts;
+
+#define GIT_REMOTE_CONNECTION_OPTIONS_INIT { NULL, NULL }
+
+int git_remote__connect(git_remote *remote, git_direction direction, const git_remote_callbacks *callbacks, const git_remote_connection_opts *conn);
+
+int git_remote__urlfordirection(git_buf *url_out, struct git_remote *remote, int direction, const git_remote_callbacks *callbacks);
+int git_remote__http_proxy(char **out, git_remote *remote, git_net_url *url);
 
 git_refspec *git_remote__matching_refspec(git_remote *remote, const char *refname);
 git_refspec *git_remote__matching_dst_refspec(git_remote *remote, const char *refname);