rugged 0.23.0b2 → 0.23.0b4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/rugged/rugged_blob.c +39 -0
- data/ext/rugged/rugged_diff.c +7 -3
- data/ext/rugged/rugged_index.c +2 -2
- data/ext/rugged/rugged_remote.c +27 -148
- data/ext/rugged/rugged_remote_collection.c +134 -12
- data/ext/rugged/rugged_repo.c +74 -5
- data/ext/rugged/rugged_submodule.c +18 -208
- data/ext/rugged/rugged_submodule_collection.c +148 -0
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +1 -0
- data/vendor/libgit2/CMakeLists.txt +33 -25
- data/vendor/libgit2/deps/winhttp/winhttp.def +29 -29
- data/vendor/libgit2/include/git2.h +1 -1
- data/vendor/libgit2/include/git2/blob.h +4 -6
- data/vendor/libgit2/include/git2/checkout.h +10 -1
- data/vendor/libgit2/include/git2/clone.h +6 -7
- data/vendor/libgit2/include/git2/commit.h +11 -0
- data/vendor/libgit2/include/git2/cred_helpers.h +2 -2
- data/vendor/libgit2/include/git2/describe.h +1 -1
- data/vendor/libgit2/include/git2/diff.h +68 -11
- data/vendor/libgit2/include/git2/errors.h +4 -1
- data/vendor/libgit2/include/git2/filter.h +16 -0
- data/vendor/libgit2/include/git2/index.h +38 -11
- data/vendor/libgit2/include/git2/odb.h +1 -1
- data/vendor/libgit2/include/git2/odb_backend.h +2 -2
- data/vendor/libgit2/include/git2/remote.h +300 -207
- data/vendor/libgit2/include/git2/reset.h +1 -0
- data/vendor/libgit2/include/git2/stash.h +135 -4
- data/vendor/libgit2/include/git2/status.h +1 -0
- data/vendor/libgit2/include/git2/submodule.h +46 -75
- data/vendor/libgit2/include/git2/sys/odb_backend.h +1 -1
- data/vendor/libgit2/include/git2/sys/stream.h +2 -0
- data/vendor/libgit2/include/git2/sys/transport.h +1 -21
- data/vendor/libgit2/include/git2/transport.h +27 -0
- data/vendor/libgit2/include/git2/types.h +20 -10
- data/vendor/libgit2/include/git2/version.h +3 -3
- data/vendor/libgit2/libgit2.pc.in +4 -2
- data/vendor/libgit2/src/attr.c +2 -1
- data/vendor/libgit2/src/attr_file.c +18 -37
- data/vendor/libgit2/src/blame.c +2 -2
- data/vendor/libgit2/src/blob.c +4 -3
- data/vendor/libgit2/src/branch.c +6 -3
- data/vendor/libgit2/src/buf_text.c +4 -6
- data/vendor/libgit2/src/buf_text.h +1 -2
- data/vendor/libgit2/src/buffer.c +8 -6
- data/vendor/libgit2/src/buffer.h +1 -1
- data/vendor/libgit2/src/cache.c +1 -0
- data/vendor/libgit2/src/checkout.c +34 -20
- data/vendor/libgit2/src/clone.c +29 -29
- data/vendor/libgit2/src/commit.c +65 -0
- data/vendor/libgit2/src/common.h +5 -0
- data/vendor/libgit2/src/config.c +20 -0
- data/vendor/libgit2/src/config.h +6 -0
- data/vendor/libgit2/src/config_file.c +2 -2
- data/vendor/libgit2/src/crlf.c +39 -17
- data/vendor/libgit2/src/curl_stream.c +257 -0
- data/vendor/libgit2/src/curl_stream.h +14 -0
- data/vendor/libgit2/src/diff.c +223 -88
- data/vendor/libgit2/src/diff.h +21 -1
- data/vendor/libgit2/src/diff_file.c +23 -13
- data/vendor/libgit2/src/diff_file.h +4 -2
- data/vendor/libgit2/src/diff_patch.c +266 -71
- data/vendor/libgit2/src/diff_patch.h +36 -0
- data/vendor/libgit2/src/diff_print.c +156 -126
- data/vendor/libgit2/src/diff_tform.c +32 -54
- data/vendor/libgit2/src/fetch.c +27 -10
- data/vendor/libgit2/src/fetch.h +2 -2
- data/vendor/libgit2/src/filebuf.c +1 -1
- data/vendor/libgit2/src/fileops.c +6 -2
- data/vendor/libgit2/src/filter.c +28 -7
- data/vendor/libgit2/src/fnmatch.c +5 -5
- data/vendor/libgit2/src/global.c +16 -0
- data/vendor/libgit2/src/ident.c +2 -2
- data/vendor/libgit2/src/ignore.c +1 -0
- data/vendor/libgit2/src/index.c +338 -80
- data/vendor/libgit2/src/index.h +4 -1
- data/vendor/libgit2/src/indexer.c +19 -5
- data/vendor/libgit2/src/iterator.c +118 -11
- data/vendor/libgit2/src/iterator.h +25 -0
- data/vendor/libgit2/src/merge.c +96 -106
- data/vendor/libgit2/src/merge.h +14 -4
- data/vendor/libgit2/src/netops.c +3 -3
- data/vendor/libgit2/src/odb.c +17 -9
- data/vendor/libgit2/src/odb.h +1 -1
- data/vendor/libgit2/src/odb_loose.c +2 -2
- data/vendor/libgit2/src/odb_pack.c +1 -1
- data/vendor/libgit2/src/openssl_stream.c +118 -27
- data/vendor/libgit2/src/pack-objects.c +28 -0
- data/vendor/libgit2/src/pack-objects.h +1 -0
- data/vendor/libgit2/src/pack.c +18 -10
- data/vendor/libgit2/src/path.c +16 -11
- data/vendor/libgit2/src/path.h +1 -1
- data/vendor/libgit2/src/push.c +26 -42
- data/vendor/libgit2/src/push.h +2 -34
- data/vendor/libgit2/src/rebase.c +1 -1
- data/vendor/libgit2/src/refs.c +1 -1
- data/vendor/libgit2/src/refspec.c +6 -0
- data/vendor/libgit2/src/remote.c +381 -274
- data/vendor/libgit2/src/remote.h +0 -4
- data/vendor/libgit2/src/repository.c +33 -12
- data/vendor/libgit2/src/repository.h +0 -1
- data/vendor/libgit2/src/reset.c +1 -0
- data/vendor/libgit2/src/stash.c +439 -17
- data/vendor/libgit2/src/status.c +6 -0
- data/vendor/libgit2/src/stransport_stream.c +58 -21
- data/vendor/libgit2/src/stream.h +15 -0
- data/vendor/libgit2/src/submodule.c +410 -664
- data/vendor/libgit2/src/submodule.h +0 -24
- data/vendor/libgit2/src/transaction.c +1 -0
- data/vendor/libgit2/src/transports/cred.c +55 -1
- data/vendor/libgit2/src/transports/http.c +18 -2
- data/vendor/libgit2/src/transports/local.c +60 -59
- data/vendor/libgit2/src/transports/smart.h +1 -1
- data/vendor/libgit2/src/transports/smart_protocol.c +11 -11
- data/vendor/libgit2/src/transports/ssh.c +46 -7
- data/vendor/libgit2/src/unix/posix.h +4 -0
- data/vendor/libgit2/src/util.c +9 -9
- data/vendor/libgit2/src/util.h +9 -0
- data/vendor/libgit2/src/win32/posix.h +3 -0
- data/vendor/libgit2/src/win32/posix_w32.c +38 -0
- data/vendor/libgit2/src/win32/w32_util.h +10 -0
- metadata +4 -3
- data/vendor/libgit2/include/git2/push.h +0 -94
|
@@ -38,13 +38,16 @@ typedef enum {
|
|
|
38
38
|
GIT_EUNMERGED = -10, /**< Merge in progress prevented operation */
|
|
39
39
|
GIT_ENONFASTFORWARD = -11, /**< Reference was not fast-forwardable */
|
|
40
40
|
GIT_EINVALIDSPEC = -12, /**< Name/ref spec was not in a valid format */
|
|
41
|
-
|
|
41
|
+
GIT_ECONFLICT = -13, /**< Checkout conflicts prevented operation */
|
|
42
42
|
GIT_ELOCKED = -14, /**< Lock file prevented operation */
|
|
43
43
|
GIT_EMODIFIED = -15, /**< Reference value does not match expected */
|
|
44
44
|
GIT_EAUTH = -16, /**< Authentication error */
|
|
45
45
|
GIT_ECERTIFICATE = -17, /**< Server certificate is invalid */
|
|
46
46
|
GIT_EAPPLIED = -18, /**< Patch/merge has already been applied */
|
|
47
47
|
GIT_EPEEL = -19, /**< The requested peel operation is not possible */
|
|
48
|
+
GIT_EEOF = -20, /**< Unexpected EOF */
|
|
49
|
+
GIT_EINVALID = -21, /**< Invalid operation or input */
|
|
50
|
+
GIT_EUNCOMMITTED = -22, /**< Uncommitted changes in index prevented operation */
|
|
48
51
|
|
|
49
52
|
GIT_PASSTHROUGH = -30, /**< Internal only */
|
|
50
53
|
GIT_ITEROVER = -31, /**< Signals end of iteration with iterator */
|
|
@@ -95,6 +95,22 @@ GIT_EXTERN(int) git_filter_list_load(
|
|
|
95
95
|
git_filter_mode_t mode,
|
|
96
96
|
uint32_t flags);
|
|
97
97
|
|
|
98
|
+
/**
|
|
99
|
+
* Query the filter list to see if a given filter (by name) will run.
|
|
100
|
+
* The built-in filters "crlf" and "ident" can be queried, otherwise this
|
|
101
|
+
* is the name of the filter specified by the filter attribute.
|
|
102
|
+
*
|
|
103
|
+
* This will return 0 if the given filter is not in the list, or 1 if
|
|
104
|
+
* the filter will be applied.
|
|
105
|
+
*
|
|
106
|
+
* @param filters A loaded git_filter_list (or NULL)
|
|
107
|
+
* @param name The name of the filter to query
|
|
108
|
+
* @return 1 if the filter is in the list, 0 otherwise
|
|
109
|
+
*/
|
|
110
|
+
GIT_EXTERN(int) git_filter_list_contains(
|
|
111
|
+
git_filter_list *filters,
|
|
112
|
+
const char *name);
|
|
113
|
+
|
|
98
114
|
/**
|
|
99
115
|
* Apply filter list to a data buffer.
|
|
100
116
|
*
|
|
@@ -24,9 +24,9 @@ GIT_BEGIN_DECL
|
|
|
24
24
|
|
|
25
25
|
/** Time structure used in a git index entry */
|
|
26
26
|
typedef struct {
|
|
27
|
-
|
|
27
|
+
int32_t seconds;
|
|
28
28
|
/* nsec should not be stored as time_t compatible */
|
|
29
|
-
|
|
29
|
+
uint32_t nanoseconds;
|
|
30
30
|
} git_index_time;
|
|
31
31
|
|
|
32
32
|
/**
|
|
@@ -44,22 +44,27 @@ typedef struct {
|
|
|
44
44
|
* accessed via the later `GIT_IDXENTRY_...` bitmasks below. Some of
|
|
45
45
|
* these flags are read from and written to disk, but some are set aside
|
|
46
46
|
* for in-memory only reference.
|
|
47
|
+
*
|
|
48
|
+
* Note that the time and size fields are truncated to 32 bits. This
|
|
49
|
+
* is enough to detect changes, which is enough for the index to
|
|
50
|
+
* function as a cache, but it should not be taken as an authoritative
|
|
51
|
+
* source for that data.
|
|
47
52
|
*/
|
|
48
53
|
typedef struct git_index_entry {
|
|
49
54
|
git_index_time ctime;
|
|
50
55
|
git_index_time mtime;
|
|
51
56
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
uint32_t dev;
|
|
58
|
+
uint32_t ino;
|
|
59
|
+
uint32_t mode;
|
|
60
|
+
uint32_t uid;
|
|
61
|
+
uint32_t gid;
|
|
62
|
+
uint32_t file_size;
|
|
58
63
|
|
|
59
64
|
git_oid id;
|
|
60
65
|
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
uint16_t flags;
|
|
67
|
+
uint16_t flags_extended;
|
|
63
68
|
|
|
64
69
|
const char *path;
|
|
65
70
|
} git_index_entry;
|
|
@@ -268,6 +273,18 @@ GIT_EXTERN(int) git_index_write(git_index *index);
|
|
|
268
273
|
*/
|
|
269
274
|
GIT_EXTERN(const char *) git_index_path(const git_index *index);
|
|
270
275
|
|
|
276
|
+
/**
|
|
277
|
+
* Get the checksum of the index
|
|
278
|
+
*
|
|
279
|
+
* This checksum is the SHA-1 hash over the index file (except the
|
|
280
|
+
* last 20 bytes which are the checksum itself). In cases where the
|
|
281
|
+
* index does not exist on-disk, it will be zeroed out.
|
|
282
|
+
*
|
|
283
|
+
* @param index an existing index object
|
|
284
|
+
* @return a pointer to the checksum of the index
|
|
285
|
+
*/
|
|
286
|
+
GIT_EXTERN(const git_oid *) git_index_checksum(git_index *index);
|
|
287
|
+
|
|
271
288
|
/**
|
|
272
289
|
* Read a tree into the index file with stats
|
|
273
290
|
*
|
|
@@ -425,6 +442,15 @@ GIT_EXTERN(int) git_index_add(git_index *index, const git_index_entry *source_en
|
|
|
425
442
|
*/
|
|
426
443
|
GIT_EXTERN(int) git_index_entry_stage(const git_index_entry *entry);
|
|
427
444
|
|
|
445
|
+
/**
|
|
446
|
+
* Return whether the given index entry is a conflict (has a high stage
|
|
447
|
+
* entry). This is simply shorthand for `git_index_entry_stage > 0`.
|
|
448
|
+
*
|
|
449
|
+
* @param entry The entry
|
|
450
|
+
* @return 1 if the entry is a conflict entry, 0 otherwise
|
|
451
|
+
*/
|
|
452
|
+
GIT_EXTERN(int) git_index_entry_is_conflict(const git_index_entry *entry);
|
|
453
|
+
|
|
428
454
|
/**@}*/
|
|
429
455
|
|
|
430
456
|
/** @name Workdir Index Entry Functions
|
|
@@ -626,7 +652,8 @@ GIT_EXTERN(int) git_index_find(size_t *at_pos, git_index *index, const char *pat
|
|
|
626
652
|
/**@{*/
|
|
627
653
|
|
|
628
654
|
/**
|
|
629
|
-
* Add or update index entries to represent a conflict
|
|
655
|
+
* Add or update index entries to represent a conflict. Any staged
|
|
656
|
+
* entries that exist at the given paths will be removed.
|
|
630
657
|
*
|
|
631
658
|
* The entries are the entries from the tree included in the merge. Any
|
|
632
659
|
* entry may be null to indicate that that file was not present in the
|
|
@@ -247,7 +247,7 @@ GIT_EXTERN(int) git_odb_write(git_oid *out, git_odb *odb, const void *data, size
|
|
|
247
247
|
* @param type type of the object that will be written
|
|
248
248
|
* @return 0 if the stream was created; error code otherwise
|
|
249
249
|
*/
|
|
250
|
-
GIT_EXTERN(int) git_odb_open_wstream(git_odb_stream **out, git_odb *db,
|
|
250
|
+
GIT_EXTERN(int) git_odb_open_wstream(git_odb_stream **out, git_odb *db, git_off_t size, git_otype type);
|
|
251
251
|
|
|
252
252
|
/**
|
|
253
253
|
* Write to an odb stream
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
#include "indexer.h"
|
|
15
15
|
#include "strarray.h"
|
|
16
16
|
#include "transport.h"
|
|
17
|
-
#include "
|
|
17
|
+
#include "pack.h"
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* @file git2/remote.h
|
|
@@ -28,8 +28,7 @@ GIT_BEGIN_DECL
|
|
|
28
28
|
typedef int (*git_remote_rename_problem_cb)(const char *problematic_refspec, void *payload);
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
|
-
* Add a remote with the default fetch refspec to the repository's configuration.
|
|
32
|
-
* calls git_remote_save before returning.
|
|
31
|
+
* Add a remote with the default fetch refspec to the repository's configuration.
|
|
33
32
|
*
|
|
34
33
|
* @param out the resulting remote
|
|
35
34
|
* @param repo the repository in which to create the remote
|
|
@@ -45,8 +44,7 @@ GIT_EXTERN(int) git_remote_create(
|
|
|
45
44
|
|
|
46
45
|
/**
|
|
47
46
|
* Add a remote with the provided fetch refspec (or default if NULL) to the repository's
|
|
48
|
-
* configuration.
|
|
49
|
-
* calls git_remote_save before returning.
|
|
47
|
+
* configuration.
|
|
50
48
|
*
|
|
51
49
|
* @param out the resulting remote
|
|
52
50
|
* @param repo the repository in which to create the remote
|
|
@@ -65,24 +63,18 @@ GIT_EXTERN(int) git_remote_create_with_fetchspec(
|
|
|
65
63
|
/**
|
|
66
64
|
* Create an anonymous remote
|
|
67
65
|
*
|
|
68
|
-
* Create a remote with the given url
|
|
69
|
-
*
|
|
70
|
-
* remotes cannot be converted to persisted remotes.
|
|
66
|
+
* Create a remote with the given url in-memory. You can use this when
|
|
67
|
+
* you have a URL instead of a remote's name.
|
|
71
68
|
*
|
|
72
|
-
*
|
|
73
|
-
* See `git_tag_create()` for rules about valid names.
|
|
74
|
-
*
|
|
75
|
-
* @param out pointer to the new remote object
|
|
69
|
+
* @param out pointer to the new remote objects
|
|
76
70
|
* @param repo the associated repository
|
|
77
71
|
* @param url the remote repository's URL
|
|
78
|
-
* @param fetch the fetch refspec to use for this remote.
|
|
79
72
|
* @return 0 or an error code
|
|
80
73
|
*/
|
|
81
74
|
GIT_EXTERN(int) git_remote_create_anonymous(
|
|
82
75
|
git_remote **out,
|
|
83
76
|
git_repository *repo,
|
|
84
|
-
const char *url
|
|
85
|
-
const char *fetch);
|
|
77
|
+
const char *url);
|
|
86
78
|
|
|
87
79
|
/**
|
|
88
80
|
* Get the information for a particular remote
|
|
@@ -97,17 +89,6 @@ GIT_EXTERN(int) git_remote_create_anonymous(
|
|
|
97
89
|
*/
|
|
98
90
|
GIT_EXTERN(int) git_remote_lookup(git_remote **out, git_repository *repo, const char *name);
|
|
99
91
|
|
|
100
|
-
/**
|
|
101
|
-
* Save a remote to its repository's configuration
|
|
102
|
-
*
|
|
103
|
-
* One can't save a in-memory remote. Doing so will
|
|
104
|
-
* result in a GIT_EINVALIDSPEC being returned.
|
|
105
|
-
*
|
|
106
|
-
* @param remote the remote to save to config
|
|
107
|
-
* @return 0, GIT_EINVALIDSPEC or an error code
|
|
108
|
-
*/
|
|
109
|
-
GIT_EXTERN(int) git_remote_save(const git_remote *remote);
|
|
110
|
-
|
|
111
92
|
/**
|
|
112
93
|
* Create a copy of an existing remote. All internal strings are also
|
|
113
94
|
* duplicated. Callbacks are not duplicated.
|
|
@@ -139,6 +120,9 @@ GIT_EXTERN(const char *) git_remote_name(const git_remote *remote);
|
|
|
139
120
|
/**
|
|
140
121
|
* Get the remote's url
|
|
141
122
|
*
|
|
123
|
+
* If url.*.insteadOf has been configured for this URL, it will
|
|
124
|
+
* return the modified URL.
|
|
125
|
+
*
|
|
142
126
|
* @param remote the remote
|
|
143
127
|
* @return a pointer to the url
|
|
144
128
|
*/
|
|
@@ -147,44 +131,52 @@ GIT_EXTERN(const char *) git_remote_url(const git_remote *remote);
|
|
|
147
131
|
/**
|
|
148
132
|
* Get the remote's url for pushing
|
|
149
133
|
*
|
|
134
|
+
* If url.*.pushInsteadOf has been configured for this URL, it
|
|
135
|
+
* will return the modified URL.
|
|
136
|
+
*
|
|
150
137
|
* @param remote the remote
|
|
151
138
|
* @return a pointer to the url or NULL if no special url for pushing is set
|
|
152
139
|
*/
|
|
153
140
|
GIT_EXTERN(const char *) git_remote_pushurl(const git_remote *remote);
|
|
154
141
|
|
|
155
142
|
/**
|
|
156
|
-
* Set the remote's url
|
|
143
|
+
* Set the remote's url in the configuration
|
|
157
144
|
*
|
|
158
|
-
*
|
|
145
|
+
* Remote objects already in memory will not be affected. This assumes
|
|
146
|
+
* the common case of a single-url remote and will otherwise return an error.
|
|
159
147
|
*
|
|
160
|
-
* @param
|
|
148
|
+
* @param repo the repository in which to perform the change
|
|
149
|
+
* @param remote the remote's name
|
|
161
150
|
* @param url the url to set
|
|
162
151
|
* @return 0 or an error value
|
|
163
152
|
*/
|
|
164
|
-
GIT_EXTERN(int) git_remote_set_url(
|
|
153
|
+
GIT_EXTERN(int) git_remote_set_url(git_repository *repo, const char *remote, const char* url);
|
|
165
154
|
|
|
166
155
|
/**
|
|
167
|
-
* Set the remote's url for pushing
|
|
156
|
+
* Set the remote's url for pushing in the configuration.
|
|
168
157
|
*
|
|
169
|
-
*
|
|
158
|
+
* Remote objects already in memory will not be affected. This assumes
|
|
159
|
+
* the common case of a single-url remote and will otherwise return an error.
|
|
170
160
|
*
|
|
171
|
-
*
|
|
172
|
-
* @param
|
|
173
|
-
* @
|
|
161
|
+
*
|
|
162
|
+
* @param repo the repository in which to perform the change
|
|
163
|
+
* @param remote the remote's name
|
|
164
|
+
* @param url the url to set
|
|
174
165
|
*/
|
|
175
|
-
GIT_EXTERN(int) git_remote_set_pushurl(
|
|
166
|
+
GIT_EXTERN(int) git_remote_set_pushurl(git_repository *repo, const char *remote, const char* url);
|
|
176
167
|
|
|
177
168
|
/**
|
|
178
|
-
* Add a fetch refspec to the remote
|
|
169
|
+
* Add a fetch refspec to the remote's configuration
|
|
179
170
|
*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
171
|
+
* Add the given refspec to the fetch list in the configuration. No
|
|
172
|
+
* loaded remote instances will be affected.
|
|
182
173
|
*
|
|
183
|
-
* @param
|
|
174
|
+
* @param repo the repository in which to change the configuration
|
|
175
|
+
* @param remote the name of the remote to change
|
|
184
176
|
* @param refspec the new fetch refspec
|
|
185
|
-
* @return 0 or an error value
|
|
177
|
+
* @return 0, GIT_EINVALIDSPEC if refspec is invalid or an error value
|
|
186
178
|
*/
|
|
187
|
-
GIT_EXTERN(int) git_remote_add_fetch(
|
|
179
|
+
GIT_EXTERN(int) git_remote_add_fetch(git_repository *repo, const char *remote, const char *refspec);
|
|
188
180
|
|
|
189
181
|
/**
|
|
190
182
|
* Get the remote's list of fetch refspecs
|
|
@@ -198,26 +190,17 @@ GIT_EXTERN(int) git_remote_add_fetch(git_remote *remote, const char *refspec);
|
|
|
198
190
|
GIT_EXTERN(int) git_remote_get_fetch_refspecs(git_strarray *array, const git_remote *remote);
|
|
199
191
|
|
|
200
192
|
/**
|
|
201
|
-
*
|
|
193
|
+
* Add a push refspec to the remote's configuration
|
|
202
194
|
*
|
|
203
|
-
*
|
|
195
|
+
* Add the given refspec to the push list in the configuration. No
|
|
196
|
+
* loaded remote instances will be affected.
|
|
204
197
|
*
|
|
205
|
-
* @param
|
|
206
|
-
* @param
|
|
207
|
-
*/
|
|
208
|
-
GIT_EXTERN(int) git_remote_set_fetch_refspecs(git_remote *remote, git_strarray *array);
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* Add a push refspec to the remote
|
|
212
|
-
*
|
|
213
|
-
* Convenience function for adding a single push refspec to the
|
|
214
|
-
* current list in the remote.
|
|
215
|
-
*
|
|
216
|
-
* @param remote the remote
|
|
198
|
+
* @param repo the repository in which to change the configuration
|
|
199
|
+
* @param remote the name of the remote to change
|
|
217
200
|
* @param refspec the new push refspec
|
|
218
|
-
* @return 0 or an error value
|
|
201
|
+
* @return 0, GIT_EINVALIDSPEC if refspec is invalid or an error value
|
|
219
202
|
*/
|
|
220
|
-
GIT_EXTERN(int) git_remote_add_push(
|
|
203
|
+
GIT_EXTERN(int) git_remote_add_push(git_repository *repo, const char *remote, const char *refspec);
|
|
221
204
|
|
|
222
205
|
/**
|
|
223
206
|
* Get the remote's list of push refspecs
|
|
@@ -230,25 +213,6 @@ GIT_EXTERN(int) git_remote_add_push(git_remote *remote, const char *refspec);
|
|
|
230
213
|
*/
|
|
231
214
|
GIT_EXTERN(int) git_remote_get_push_refspecs(git_strarray *array, const git_remote *remote);
|
|
232
215
|
|
|
233
|
-
/**
|
|
234
|
-
* Set the remote's list of push refspecs
|
|
235
|
-
*
|
|
236
|
-
* The contents of the string array are copied.
|
|
237
|
-
*
|
|
238
|
-
* @param remote the remote to modify
|
|
239
|
-
* @param array the new list of push resfpecs
|
|
240
|
-
*/
|
|
241
|
-
GIT_EXTERN(int) git_remote_set_push_refspecs(git_remote *remote, git_strarray *array);
|
|
242
|
-
|
|
243
|
-
/**
|
|
244
|
-
* Clear the refspecs
|
|
245
|
-
*
|
|
246
|
-
* Remove all configured fetch and push refspecs from the remote.
|
|
247
|
-
*
|
|
248
|
-
* @param remote the remote
|
|
249
|
-
*/
|
|
250
|
-
GIT_EXTERN(void) git_remote_clear_refspecs(git_remote *remote);
|
|
251
|
-
|
|
252
216
|
/**
|
|
253
217
|
* Get the number of refspecs for a remote
|
|
254
218
|
*
|
|
@@ -276,9 +240,10 @@ GIT_EXTERN(const git_refspec *)git_remote_get_refspec(const git_remote *remote,
|
|
|
276
240
|
* @param remote the remote to connect to
|
|
277
241
|
* @param direction GIT_DIRECTION_FETCH if you want to fetch or
|
|
278
242
|
* GIT_DIRECTION_PUSH if you want to push
|
|
243
|
+
* @param callbacks the callbacks to use for this connection
|
|
279
244
|
* @return 0 or an error code
|
|
280
245
|
*/
|
|
281
|
-
GIT_EXTERN(int) git_remote_connect(git_remote *remote, git_direction direction);
|
|
246
|
+
GIT_EXTERN(int) git_remote_connect(git_remote *remote, git_direction direction, const git_remote_callbacks *callbacks);
|
|
282
247
|
|
|
283
248
|
/**
|
|
284
249
|
* Get the remote repository's reference advertisement list
|
|
@@ -302,36 +267,6 @@ GIT_EXTERN(int) git_remote_connect(git_remote *remote, git_direction direction);
|
|
|
302
267
|
*/
|
|
303
268
|
GIT_EXTERN(int) git_remote_ls(const git_remote_head ***out, size_t *size, git_remote *remote);
|
|
304
269
|
|
|
305
|
-
/**
|
|
306
|
-
* Download and index the packfile
|
|
307
|
-
*
|
|
308
|
-
* Connect to the remote if it hasn't been done yet, negotiate with
|
|
309
|
-
* the remote git which objects are missing, download and index the
|
|
310
|
-
* packfile.
|
|
311
|
-
*
|
|
312
|
-
* The .idx file will be created and both it and the packfile with be
|
|
313
|
-
* renamed to their final name.
|
|
314
|
-
*
|
|
315
|
-
* @param remote the remote
|
|
316
|
-
* @param refspecs the refspecs to use for this negotiation and
|
|
317
|
-
* download. Use NULL or an empty array to use the base refspecs
|
|
318
|
-
* @return 0 or an error code
|
|
319
|
-
*/
|
|
320
|
-
GIT_EXTERN(int) git_remote_download(git_remote *remote, const git_strarray *refspecs);
|
|
321
|
-
|
|
322
|
-
/**
|
|
323
|
-
* Create a packfile and send it to the server
|
|
324
|
-
*
|
|
325
|
-
* Connect to the remote if it hasn't been done yet, negotiate with
|
|
326
|
-
* the remote git which objects are missing, create a packfile with the missing objects and send it.
|
|
327
|
-
*
|
|
328
|
-
* @param remote the remote
|
|
329
|
-
* @param refspecs the refspecs to use for this negotiation and
|
|
330
|
-
* upload. Use NULL or an empty array to use the base refspecs
|
|
331
|
-
* @return 0 or an error code
|
|
332
|
-
*/
|
|
333
|
-
GIT_EXTERN(int) git_remote_upload(git_remote *remote, const git_strarray *refspecs, const git_push_options *opts);
|
|
334
|
-
|
|
335
270
|
/**
|
|
336
271
|
* Check whether the remote is connected
|
|
337
272
|
*
|
|
@@ -372,60 +307,6 @@ GIT_EXTERN(void) git_remote_disconnect(git_remote *remote);
|
|
|
372
307
|
*/
|
|
373
308
|
GIT_EXTERN(void) git_remote_free(git_remote *remote);
|
|
374
309
|
|
|
375
|
-
/**
|
|
376
|
-
* Update the tips to the new state
|
|
377
|
-
*
|
|
378
|
-
* @param remote the remote to update
|
|
379
|
-
* @param reflog_message The message to insert into the reflogs. If
|
|
380
|
-
* NULL and fetching, the default is "fetch <name>", where <name> is
|
|
381
|
-
* the name of the remote (or its url, for in-memory remotes). This
|
|
382
|
-
* parameter is ignored when pushing.
|
|
383
|
-
* @return 0 or an error code
|
|
384
|
-
*/
|
|
385
|
-
GIT_EXTERN(int) git_remote_update_tips(
|
|
386
|
-
git_remote *remote,
|
|
387
|
-
const char *reflog_message);
|
|
388
|
-
|
|
389
|
-
/**
|
|
390
|
-
* Prune tracking refs that are no longer present on remote
|
|
391
|
-
*
|
|
392
|
-
* @param remote the remote to prune
|
|
393
|
-
* @return 0 or an error code
|
|
394
|
-
*/
|
|
395
|
-
GIT_EXTERN(int) git_remote_prune(git_remote *remote);
|
|
396
|
-
|
|
397
|
-
/**
|
|
398
|
-
* Download new data and update tips
|
|
399
|
-
*
|
|
400
|
-
* Convenience function to connect to a remote, download the data,
|
|
401
|
-
* disconnect and update the remote-tracking branches.
|
|
402
|
-
*
|
|
403
|
-
* @param remote the remote to fetch from
|
|
404
|
-
* @param refspecs the refspecs to use for this fetch. Pass NULL or an
|
|
405
|
-
* empty array to use the base refspecs.
|
|
406
|
-
* @param reflog_message The message to insert into the reflogs. If NULL, the
|
|
407
|
-
* default is "fetch"
|
|
408
|
-
* @return 0 or an error code
|
|
409
|
-
*/
|
|
410
|
-
GIT_EXTERN(int) git_remote_fetch(
|
|
411
|
-
git_remote *remote,
|
|
412
|
-
const git_strarray *refspecs,
|
|
413
|
-
const char *reflog_message);
|
|
414
|
-
|
|
415
|
-
/**
|
|
416
|
-
* Perform a push
|
|
417
|
-
*
|
|
418
|
-
* Peform all the steps from a push.
|
|
419
|
-
*
|
|
420
|
-
* @param remote the remote to push to
|
|
421
|
-
* @param refspecs the refspecs to use for pushing. If none are
|
|
422
|
-
* passed, the configured refspecs will be used
|
|
423
|
-
* @param opts the options
|
|
424
|
-
*/
|
|
425
|
-
GIT_EXTERN(int) git_remote_push(git_remote *remote,
|
|
426
|
-
const git_strarray *refspecs,
|
|
427
|
-
const git_push_options *opts);
|
|
428
|
-
|
|
429
310
|
/**
|
|
430
311
|
* Get a list of the configured remotes for a repo
|
|
431
312
|
*
|
|
@@ -447,6 +328,42 @@ typedef enum git_remote_completion_type {
|
|
|
447
328
|
GIT_REMOTE_COMPLETION_ERROR,
|
|
448
329
|
} git_remote_completion_type;
|
|
449
330
|
|
|
331
|
+
/** Push network progress notification function */
|
|
332
|
+
typedef int (*git_push_transfer_progress)(
|
|
333
|
+
unsigned int current,
|
|
334
|
+
unsigned int total,
|
|
335
|
+
size_t bytes,
|
|
336
|
+
void* payload);
|
|
337
|
+
/**
|
|
338
|
+
* Represents an update which will be performed on the remote during push
|
|
339
|
+
*/
|
|
340
|
+
typedef struct {
|
|
341
|
+
/**
|
|
342
|
+
* The source name of the reference
|
|
343
|
+
*/
|
|
344
|
+
char *src_refname;
|
|
345
|
+
/**
|
|
346
|
+
* The name of the reference to update on the server
|
|
347
|
+
*/
|
|
348
|
+
char *dst_refname;
|
|
349
|
+
/**
|
|
350
|
+
* The current target of the reference
|
|
351
|
+
*/
|
|
352
|
+
git_oid src;
|
|
353
|
+
/**
|
|
354
|
+
* The new target for the reference
|
|
355
|
+
*/
|
|
356
|
+
git_oid dst;
|
|
357
|
+
} git_push_update;
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* @param updates an array containing the updates which will be sent
|
|
361
|
+
* as commands to the destination.
|
|
362
|
+
* @param len number of elements in `updates`
|
|
363
|
+
* @param payload Payload provided by the caller
|
|
364
|
+
*/
|
|
365
|
+
typedef int (*git_push_negotiation)(const git_push_update **updates, size_t len, void *payload);
|
|
366
|
+
|
|
450
367
|
/**
|
|
451
368
|
* The callback settings structure
|
|
452
369
|
*
|
|
@@ -526,6 +443,12 @@ struct git_remote_callbacks {
|
|
|
526
443
|
*/
|
|
527
444
|
git_push_negotiation push_negotiation;
|
|
528
445
|
|
|
446
|
+
/**
|
|
447
|
+
* Create the transport to use for this operation. Leave NULL
|
|
448
|
+
* to auto-detect.
|
|
449
|
+
*/
|
|
450
|
+
git_transport_cb transport;
|
|
451
|
+
|
|
529
452
|
/**
|
|
530
453
|
* This will be passed to each of the callbacks in this struct
|
|
531
454
|
* as the last parameter.
|
|
@@ -548,44 +471,230 @@ GIT_EXTERN(int) git_remote_init_callbacks(
|
|
|
548
471
|
git_remote_callbacks *opts,
|
|
549
472
|
unsigned int version);
|
|
550
473
|
|
|
474
|
+
typedef enum {
|
|
475
|
+
/**
|
|
476
|
+
* Use the setting from the configuration
|
|
477
|
+
*/
|
|
478
|
+
GIT_FETCH_PRUNE_UNSPECIFIED,
|
|
479
|
+
/**
|
|
480
|
+
* Force pruning on
|
|
481
|
+
*/
|
|
482
|
+
GIT_FETCH_PRUNE,
|
|
483
|
+
/**
|
|
484
|
+
* Force pruning off
|
|
485
|
+
*/
|
|
486
|
+
GIT_FETCH_NO_PRUNE,
|
|
487
|
+
} git_fetch_prune_t;
|
|
488
|
+
|
|
489
|
+
/**
|
|
490
|
+
* Automatic tag following option
|
|
491
|
+
*
|
|
492
|
+
* Lets us select the --tags option to use.
|
|
493
|
+
*/
|
|
494
|
+
typedef enum {
|
|
495
|
+
/**
|
|
496
|
+
* Use the setting from the configuration.
|
|
497
|
+
*/
|
|
498
|
+
GIT_REMOTE_DOWNLOAD_TAGS_UNSPECIFIED = 0,
|
|
499
|
+
/**
|
|
500
|
+
* Ask the server for tags pointing to objects we're already
|
|
501
|
+
* downloading.
|
|
502
|
+
*/
|
|
503
|
+
GIT_REMOTE_DOWNLOAD_TAGS_AUTO,
|
|
504
|
+
/**
|
|
505
|
+
* Don't ask for any tags beyond the refspecs.
|
|
506
|
+
*/
|
|
507
|
+
GIT_REMOTE_DOWNLOAD_TAGS_NONE,
|
|
508
|
+
/**
|
|
509
|
+
* Ask for the all the tags.
|
|
510
|
+
*/
|
|
511
|
+
GIT_REMOTE_DOWNLOAD_TAGS_ALL,
|
|
512
|
+
} git_remote_autotag_option_t;
|
|
513
|
+
|
|
514
|
+
typedef struct {
|
|
515
|
+
int version;
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* Callbacks to use for this fetch operation
|
|
519
|
+
*/
|
|
520
|
+
git_remote_callbacks callbacks;
|
|
521
|
+
|
|
522
|
+
/**
|
|
523
|
+
* Whether to perform a prune after the fetch
|
|
524
|
+
*/
|
|
525
|
+
git_fetch_prune_t prune;
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* Whether to write the results to FETCH_HEAD. Defaults to
|
|
529
|
+
* on. Leave this default in order to behave like git.
|
|
530
|
+
*/
|
|
531
|
+
int update_fetchhead;
|
|
532
|
+
|
|
533
|
+
/**
|
|
534
|
+
* Determines how to behave regarding tags on the remote, such
|
|
535
|
+
* as auto-downloading tags for objects we're downloading or
|
|
536
|
+
* downloading all of them.
|
|
537
|
+
*
|
|
538
|
+
* The default is to auto-follow tags.
|
|
539
|
+
*/
|
|
540
|
+
git_remote_autotag_option_t download_tags;
|
|
541
|
+
} git_fetch_options;
|
|
542
|
+
|
|
543
|
+
#define GIT_FETCH_OPTIONS_VERSION 1
|
|
544
|
+
#define GIT_FETCH_OPTIONS_INIT { GIT_FETCH_OPTIONS_VERSION, GIT_REMOTE_CALLBACKS_INIT, GIT_FETCH_PRUNE_UNSPECIFIED, 1 }
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* Initializes a `git_fetch_options` with default values. Equivalent to
|
|
548
|
+
* creating an instance with GIT_FETCH_OPTIONS_INIT.
|
|
549
|
+
*
|
|
550
|
+
* @param opts the `git_push_options` instance to initialize.
|
|
551
|
+
* @param version the version of the struct; you should pass
|
|
552
|
+
* `GIT_FETCH_OPTIONS_VERSION` here.
|
|
553
|
+
* @return Zero on success; -1 on failure.
|
|
554
|
+
*/
|
|
555
|
+
GIT_EXTERN(int) git_fetch_init_options(
|
|
556
|
+
git_fetch_options *opts,
|
|
557
|
+
unsigned int version);
|
|
558
|
+
|
|
559
|
+
|
|
560
|
+
/**
|
|
561
|
+
* Controls the behavior of a git_push object.
|
|
562
|
+
*/
|
|
563
|
+
typedef struct {
|
|
564
|
+
unsigned int version;
|
|
565
|
+
|
|
566
|
+
/**
|
|
567
|
+
* If the transport being used to push to the remote requires the creation
|
|
568
|
+
* of a pack file, this controls the number of worker threads used by
|
|
569
|
+
* the packbuilder when creating that pack file to be sent to the remote.
|
|
570
|
+
*
|
|
571
|
+
* If set to 0, the packbuilder will auto-detect the number of threads
|
|
572
|
+
* to create. The default value is 1.
|
|
573
|
+
*/
|
|
574
|
+
unsigned int pb_parallelism;
|
|
575
|
+
|
|
576
|
+
/**
|
|
577
|
+
* Callbacks to use for this push operation
|
|
578
|
+
*/
|
|
579
|
+
git_remote_callbacks callbacks;
|
|
580
|
+
} git_push_options;
|
|
581
|
+
|
|
582
|
+
#define GIT_PUSH_OPTIONS_VERSION 1
|
|
583
|
+
#define GIT_PUSH_OPTIONS_INIT { GIT_PUSH_OPTIONS_VERSION, 0, GIT_REMOTE_CALLBACKS_INIT }
|
|
584
|
+
|
|
585
|
+
/**
|
|
586
|
+
* Initializes a `git_push_options` with default values. Equivalent to
|
|
587
|
+
* creating an instance with GIT_PUSH_OPTIONS_INIT.
|
|
588
|
+
*
|
|
589
|
+
* @param opts the `git_push_options` instance to initialize.
|
|
590
|
+
* @param version the version of the struct; you should pass
|
|
591
|
+
* `GIT_PUSH_OPTIONS_VERSION` here.
|
|
592
|
+
* @return Zero on success; -1 on failure.
|
|
593
|
+
*/
|
|
594
|
+
GIT_EXTERN(int) git_push_init_options(
|
|
595
|
+
git_push_options *opts,
|
|
596
|
+
unsigned int version);
|
|
597
|
+
|
|
551
598
|
/**
|
|
552
|
-
*
|
|
599
|
+
* Download and index the packfile
|
|
553
600
|
*
|
|
554
|
-
*
|
|
555
|
-
*
|
|
601
|
+
* Connect to the remote if it hasn't been done yet, negotiate with
|
|
602
|
+
* the remote git which objects are missing, download and index the
|
|
603
|
+
* packfile.
|
|
604
|
+
*
|
|
605
|
+
* The .idx file will be created and both it and the packfile with be
|
|
606
|
+
* renamed to their final name.
|
|
556
607
|
*
|
|
557
|
-
* @param remote the remote
|
|
558
|
-
* @param
|
|
608
|
+
* @param remote the remote
|
|
609
|
+
* @param refspecs the refspecs to use for this negotiation and
|
|
610
|
+
* download. Use NULL or an empty array to use the base refspecs
|
|
611
|
+
* @param opts the options to use for this fetch
|
|
559
612
|
* @return 0 or an error code
|
|
560
613
|
*/
|
|
561
|
-
GIT_EXTERN(int)
|
|
614
|
+
GIT_EXTERN(int) git_remote_download(git_remote *remote, const git_strarray *refspecs, const git_fetch_options *opts);
|
|
562
615
|
|
|
563
616
|
/**
|
|
564
|
-
*
|
|
617
|
+
* Create a packfile and send it to the server
|
|
565
618
|
*
|
|
566
|
-
*
|
|
567
|
-
*
|
|
619
|
+
* Connect to the remote if it hasn't been done yet, negotiate with
|
|
620
|
+
* the remote git which objects are missing, create a packfile with the missing objects and send it.
|
|
568
621
|
*
|
|
569
|
-
* @param remote the remote
|
|
570
|
-
* @
|
|
622
|
+
* @param remote the remote
|
|
623
|
+
* @param refspecs the refspecs to use for this negotiation and
|
|
624
|
+
* upload. Use NULL or an empty array to use the base refspecs
|
|
625
|
+
* @param opts the options to use for this push
|
|
626
|
+
* @return 0 or an error code
|
|
571
627
|
*/
|
|
572
|
-
GIT_EXTERN(const
|
|
628
|
+
GIT_EXTERN(int) git_remote_upload(git_remote *remote, const git_strarray *refspecs, const git_push_options *opts);
|
|
573
629
|
|
|
574
630
|
/**
|
|
575
|
-
*
|
|
631
|
+
* Update the tips to the new state
|
|
632
|
+
*
|
|
633
|
+
* @param remote the remote to update
|
|
634
|
+
* @param reflog_message The message to insert into the reflogs. If
|
|
635
|
+
* NULL and fetching, the default is "fetch <name>", where <name> is
|
|
636
|
+
* the name of the remote (or its url, for in-memory remotes). This
|
|
637
|
+
* parameter is ignored when pushing.
|
|
638
|
+
* @param callbacks pointer to the callback structure to use
|
|
639
|
+
* @param update_fetchhead whether to write to FETCH_HEAD. Pass 1 to behave like git.
|
|
640
|
+
* @param download_tags what the behaviour for downloading tags is for this fetch. This is
|
|
641
|
+
* ignored for push. This must be the same value passed to `git_remote_download()`.
|
|
642
|
+
* @return 0 or an error code
|
|
576
643
|
*/
|
|
577
|
-
GIT_EXTERN(
|
|
644
|
+
GIT_EXTERN(int) git_remote_update_tips(
|
|
645
|
+
git_remote *remote,
|
|
646
|
+
const git_remote_callbacks *callbacks,
|
|
647
|
+
int update_fetchhead,
|
|
648
|
+
git_remote_autotag_option_t download_tags,
|
|
649
|
+
const char *reflog_message);
|
|
578
650
|
|
|
579
651
|
/**
|
|
580
|
-
*
|
|
652
|
+
* Download new data and update tips
|
|
581
653
|
*
|
|
582
|
-
*
|
|
654
|
+
* Convenience function to connect to a remote, download the data,
|
|
655
|
+
* disconnect and update the remote-tracking branches.
|
|
656
|
+
*
|
|
657
|
+
* @param remote the remote to fetch from
|
|
658
|
+
* @param refspecs the refspecs to use for this fetch. Pass NULL or an
|
|
659
|
+
* empty array to use the base refspecs.
|
|
660
|
+
* @param opts options to use for this fetch
|
|
661
|
+
* @param reflog_message The message to insert into the reflogs. If NULL, the
|
|
662
|
+
* default is "fetch"
|
|
663
|
+
* @return 0 or an error code
|
|
583
664
|
*/
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
665
|
+
GIT_EXTERN(int) git_remote_fetch(
|
|
666
|
+
git_remote *remote,
|
|
667
|
+
const git_strarray *refspecs,
|
|
668
|
+
const git_fetch_options *opts,
|
|
669
|
+
const char *reflog_message);
|
|
670
|
+
|
|
671
|
+
/**
|
|
672
|
+
* Prune tracking refs that are no longer present on remote
|
|
673
|
+
*
|
|
674
|
+
* @param remote the remote to prune
|
|
675
|
+
* @param callbacks callbacks to use for this prune
|
|
676
|
+
* @return 0 or an error code
|
|
677
|
+
*/
|
|
678
|
+
GIT_EXTERN(int) git_remote_prune(git_remote *remote, const git_remote_callbacks *callbacks);
|
|
679
|
+
|
|
680
|
+
/**
|
|
681
|
+
* Perform a push
|
|
682
|
+
*
|
|
683
|
+
* Peform all the steps from a push.
|
|
684
|
+
*
|
|
685
|
+
* @param remote the remote to push to
|
|
686
|
+
* @param refspecs the refspecs to use for pushing. If none are
|
|
687
|
+
* passed, the configured refspecs will be used
|
|
688
|
+
* @param opts options to use for this push
|
|
689
|
+
*/
|
|
690
|
+
GIT_EXTERN(int) git_remote_push(git_remote *remote,
|
|
691
|
+
const git_strarray *refspecs,
|
|
692
|
+
const git_push_options *opts);
|
|
693
|
+
|
|
694
|
+
/**
|
|
695
|
+
* Get the statistics structure that is filled in by the fetch operation.
|
|
696
|
+
*/
|
|
697
|
+
GIT_EXTERN(const git_transfer_progress *) git_remote_stats(git_remote *remote);
|
|
589
698
|
|
|
590
699
|
/**
|
|
591
700
|
* Retrieve the tag auto-follow setting
|
|
@@ -596,15 +705,16 @@ typedef enum {
|
|
|
596
705
|
GIT_EXTERN(git_remote_autotag_option_t) git_remote_autotag(const git_remote *remote);
|
|
597
706
|
|
|
598
707
|
/**
|
|
599
|
-
* Set the tag
|
|
708
|
+
* Set the remote's tag following setting.
|
|
709
|
+
*
|
|
710
|
+
* The change will be made in the configuration. No loaded remotes
|
|
711
|
+
* will be affected.
|
|
600
712
|
*
|
|
601
|
-
* @param
|
|
602
|
-
* @param
|
|
713
|
+
* @param repo the repository in which to make the change
|
|
714
|
+
* @param remote the name of the remote
|
|
715
|
+
* @param value the new value to take.
|
|
603
716
|
*/
|
|
604
|
-
GIT_EXTERN(
|
|
605
|
-
git_remote *remote,
|
|
606
|
-
git_remote_autotag_option_t value);
|
|
607
|
-
|
|
717
|
+
GIT_EXTERN(int) git_remote_set_autotag(git_repository *repo, const char *remote, git_remote_autotag_option_t value);
|
|
608
718
|
/**
|
|
609
719
|
* Retrieve the ref-prune setting
|
|
610
720
|
*
|
|
@@ -639,23 +749,6 @@ GIT_EXTERN(int) git_remote_rename(
|
|
|
639
749
|
const char *name,
|
|
640
750
|
const char *new_name);
|
|
641
751
|
|
|
642
|
-
/**
|
|
643
|
-
* Retrieve the update FETCH_HEAD setting.
|
|
644
|
-
*
|
|
645
|
-
* @param remote the remote to query
|
|
646
|
-
* @return the update FETCH_HEAD setting
|
|
647
|
-
*/
|
|
648
|
-
GIT_EXTERN(int) git_remote_update_fetchhead(git_remote *remote);
|
|
649
|
-
|
|
650
|
-
/**
|
|
651
|
-
* Sets the update FETCH_HEAD setting. By default, FETCH_HEAD will be
|
|
652
|
-
* updated on every fetch. Set to 0 to disable.
|
|
653
|
-
*
|
|
654
|
-
* @param remote the remote to configure
|
|
655
|
-
* @param value 0 to disable updating FETCH_HEAD
|
|
656
|
-
*/
|
|
657
|
-
GIT_EXTERN(void) git_remote_set_update_fetchhead(git_remote *remote, int value);
|
|
658
|
-
|
|
659
752
|
/**
|
|
660
753
|
* Ensure the remote name is well-formed.
|
|
661
754
|
*
|