]> git.proxmox.com Git - libgit2.git/blob - src/remote.h
remote: remove git_push from the public API
[libgit2.git] / src / remote.h
1 /*
2 * Copyright (C) the libgit2 contributors. All rights reserved.
3 *
4 * This file is part of libgit2, distributed under the GNU GPL v2 with
5 * a Linking Exception. For full terms see the included COPYING file.
6 */
7 #ifndef INCLUDE_remote_h__
8 #define INCLUDE_remote_h__
9
10 #include "git2/remote.h"
11 #include "git2/transport.h"
12 #include "git2/sys/transport.h"
13
14 #include "refspec.h"
15 #include "vector.h"
16
17 #define GIT_REMOTE_ORIGIN "origin"
18
19 struct git_remote {
20 char *name;
21 char *url;
22 char *pushurl;
23 git_vector refs;
24 git_vector refspecs;
25 git_vector active_refspecs;
26 git_vector passive_refspecs;
27 git_transport_cb transport_cb;
28 void *transport_cb_payload;
29 git_transport *transport;
30 git_repository *repo;
31 git_push *push;
32 git_remote_callbacks callbacks;
33 git_transfer_progress stats;
34 unsigned int need_pack;
35 git_remote_autotag_option_t download_tags;
36 int update_fetchhead;
37 int passed_refspecs;
38 };
39
40 const char* git_remote__urlfordirection(struct git_remote *remote, int direction);
41 int git_remote__get_http_proxy(git_remote *remote, bool use_ssl, char **proxy_url);
42
43 git_refspec *git_remote__matching_refspec(git_remote *remote, const char *refname);
44 git_refspec *git_remote__matching_dst_refspec(git_remote *remote, const char *refname);
45
46 #endif