#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"
git_vector refspecs;
git_vector active_refspecs;
git_vector passive_refspecs;
- git_transport_cb transport_cb;
- void *transport_cb_payload;
+ git_vector local_heads;
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);
+int git_remote__urlfordirection(git_str *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);
+int git_remote__default_branch(git_str *out, git_remote *remote);
+
+int git_remote_connect_options_dup(
+ git_remote_connect_options *dst,
+ const git_remote_connect_options *src);
+int git_remote_connect_options_normalize(
+ git_remote_connect_options *dst,
+ git_repository *repo,
+ const git_remote_connect_options *src);
+void git_remote_connect_options_dispose(git_remote_connect_options *opts);
+
+int git_remote_capabilities(unsigned int *out, git_remote *remote);
+
#endif