rugged 0.23.0b2 → 0.23.0b4
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -70,6 +70,120 @@ GIT_EXTERN(int) git_stash_save(
|
|
70
70
|
const char *message,
|
71
71
|
unsigned int flags);
|
72
72
|
|
73
|
+
/** Stash application flags. */
|
74
|
+
typedef enum {
|
75
|
+
GIT_STASH_APPLY_DEFAULT = 0,
|
76
|
+
|
77
|
+
/* Try to reinstate not only the working tree's changes,
|
78
|
+
* but also the index's changes.
|
79
|
+
*/
|
80
|
+
GIT_STASH_APPLY_REINSTATE_INDEX = (1 << 0),
|
81
|
+
} git_stash_apply_flags;
|
82
|
+
|
83
|
+
typedef enum {
|
84
|
+
GIT_STASH_APPLY_PROGRESS_NONE = 0,
|
85
|
+
|
86
|
+
/** Loading the stashed data from the object database. */
|
87
|
+
GIT_STASH_APPLY_PROGRESS_LOADING_STASH,
|
88
|
+
|
89
|
+
/** The stored index is being analyzed. */
|
90
|
+
GIT_STASH_APPLY_PROGRESS_ANALYZE_INDEX,
|
91
|
+
|
92
|
+
/** The modified files are being analyzed. */
|
93
|
+
GIT_STASH_APPLY_PROGRESS_ANALYZE_MODIFIED,
|
94
|
+
|
95
|
+
/** The untracked and ignored files are being analyzed. */
|
96
|
+
GIT_STASH_APPLY_PROGRESS_ANALYZE_UNTRACKED,
|
97
|
+
|
98
|
+
/** The untracked files are being written to disk. */
|
99
|
+
GIT_STASH_APPLY_PROGRESS_CHECKOUT_UNTRACKED,
|
100
|
+
|
101
|
+
/** The modified files are being written to disk. */
|
102
|
+
GIT_STASH_APPLY_PROGRESS_CHECKOUT_MODIFIED,
|
103
|
+
|
104
|
+
/** The stash was applied successfully. */
|
105
|
+
GIT_STASH_APPLY_PROGRESS_DONE,
|
106
|
+
} git_stash_apply_progress_t;
|
107
|
+
|
108
|
+
/**
|
109
|
+
* Stash application progress notification function.
|
110
|
+
* Return 0 to continue processing, or a negative value to
|
111
|
+
* abort the stash application.
|
112
|
+
*/
|
113
|
+
typedef int (*git_stash_apply_progress_cb)(
|
114
|
+
git_stash_apply_progress_t progress,
|
115
|
+
void *payload);
|
116
|
+
|
117
|
+
/** Stash application options structure.
|
118
|
+
*
|
119
|
+
* Initialize with the `GIT_STASH_APPLY_OPTIONS_INIT` macro to set
|
120
|
+
* sensible defaults; for example:
|
121
|
+
*
|
122
|
+
* git_stash_apply_options opts = GIT_STASH_APPLY_OPTIONS_INIT;
|
123
|
+
*/
|
124
|
+
typedef struct git_stash_apply_options {
|
125
|
+
unsigned int version;
|
126
|
+
|
127
|
+
/** See `git_stash_apply_flags_t`, above. */
|
128
|
+
git_stash_apply_flags flags;
|
129
|
+
|
130
|
+
/** Options to use when writing files to the working directory. */
|
131
|
+
git_checkout_options checkout_options;
|
132
|
+
|
133
|
+
/** Optional callback to notify the consumer of application progress. */
|
134
|
+
git_stash_apply_progress_cb progress_cb;
|
135
|
+
void *progress_payload;
|
136
|
+
} git_stash_apply_options;
|
137
|
+
|
138
|
+
#define GIT_STASH_APPLY_OPTIONS_VERSION 1
|
139
|
+
#define GIT_STASH_APPLY_OPTIONS_INIT { \
|
140
|
+
GIT_STASH_APPLY_OPTIONS_VERSION, \
|
141
|
+
GIT_STASH_APPLY_DEFAULT, \
|
142
|
+
GIT_CHECKOUT_OPTIONS_INIT }
|
143
|
+
|
144
|
+
/**
|
145
|
+
* Initializes a `git_stash_apply_options` with default values. Equivalent to
|
146
|
+
* creating an instance with GIT_STASH_APPLY_OPTIONS_INIT.
|
147
|
+
*
|
148
|
+
* @param opts the `git_stash_apply_options` instance to initialize.
|
149
|
+
* @param version the version of the struct; you should pass
|
150
|
+
* `GIT_STASH_APPLY_OPTIONS_INIT` here.
|
151
|
+
* @return Zero on success; -1 on failure.
|
152
|
+
*/
|
153
|
+
int git_stash_apply_init_options(
|
154
|
+
git_stash_apply_options *opts, unsigned int version);
|
155
|
+
|
156
|
+
/**
|
157
|
+
* Apply a single stashed state from the stash list.
|
158
|
+
*
|
159
|
+
* If local changes in the working directory conflict with changes in the
|
160
|
+
* stash then GIT_EMERGECONFLICT will be returned. In this case, the index
|
161
|
+
* will always remain unmodified and all files in the working directory will
|
162
|
+
* remain unmodified. However, if you are restoring untracked files or
|
163
|
+
* ignored files and there is a conflict when applying the modified files,
|
164
|
+
* then those files will remain in the working directory.
|
165
|
+
*
|
166
|
+
* If passing the GIT_STASH_APPLY_REINSTATE_INDEX flag and there would be
|
167
|
+
* conflicts when reinstating the index, the function will return
|
168
|
+
* GIT_EMERGECONFLICT and both the working directory and index will be left
|
169
|
+
* unmodified.
|
170
|
+
*
|
171
|
+
* Note that a minimum checkout strategy of `GIT_CHECKOUT_SAFE` is implied.
|
172
|
+
*
|
173
|
+
* @param repo The owning repository.
|
174
|
+
* @param index The position within the stash list. 0 points to the
|
175
|
+
* most recent stashed state.
|
176
|
+
* @param options Options to control how stashes are applied.
|
177
|
+
*
|
178
|
+
* @return 0 on success, GIT_ENOTFOUND if there's no stashed state for the
|
179
|
+
* given index, GIT_EMERGECONFLICT if changes exist in the working
|
180
|
+
* directory, or an error code
|
181
|
+
*/
|
182
|
+
GIT_EXTERN(int) git_stash_apply(
|
183
|
+
git_repository *repo,
|
184
|
+
size_t index,
|
185
|
+
const git_stash_apply_options *options);
|
186
|
+
|
73
187
|
/**
|
74
188
|
* This is a callback function you can provide to iterate over all the
|
75
189
|
* stashed states that will be invoked per entry.
|
@@ -79,7 +193,7 @@ GIT_EXTERN(int) git_stash_save(
|
|
79
193
|
* @param message The stash message.
|
80
194
|
* @param stash_id The commit oid of the stashed state.
|
81
195
|
* @param payload Extra parameter to callback function.
|
82
|
-
* @return 0 to continue iterating or non-zero to stop
|
196
|
+
* @return 0 to continue iterating or non-zero to stop.
|
83
197
|
*/
|
84
198
|
typedef int (*git_stash_cb)(
|
85
199
|
size_t index,
|
@@ -99,7 +213,7 @@ typedef int (*git_stash_cb)(
|
|
99
213
|
*
|
100
214
|
* @param payload Extra parameter to callback function.
|
101
215
|
*
|
102
|
-
* @return 0 on success, non-zero callback return value, or error code
|
216
|
+
* @return 0 on success, non-zero callback return value, or error code.
|
103
217
|
*/
|
104
218
|
GIT_EXTERN(int) git_stash_foreach(
|
105
219
|
git_repository *repo,
|
@@ -114,13 +228,30 @@ GIT_EXTERN(int) git_stash_foreach(
|
|
114
228
|
* @param index The position within the stash list. 0 points to the
|
115
229
|
* most recent stashed state.
|
116
230
|
*
|
117
|
-
* @return 0 on success,
|
231
|
+
* @return 0 on success, GIT_ENOTFOUND if there's no stashed state for the given
|
232
|
+
* index, or error code.
|
118
233
|
*/
|
119
|
-
|
120
234
|
GIT_EXTERN(int) git_stash_drop(
|
121
235
|
git_repository *repo,
|
122
236
|
size_t index);
|
123
237
|
|
238
|
+
/**
|
239
|
+
* Apply a single stashed state from the stash list and remove it from the list
|
240
|
+
* if successful.
|
241
|
+
*
|
242
|
+
* @param repo The owning repository.
|
243
|
+
* @param index The position within the stash list. 0 points to the
|
244
|
+
* most recent stashed state.
|
245
|
+
* @param options Options to control how stashes are applied.
|
246
|
+
*
|
247
|
+
* @return 0 on success, GIT_ENOTFOUND if there's no stashed state for the given
|
248
|
+
* index, or error code. (see git_stash_apply() above for details)
|
249
|
+
*/
|
250
|
+
GIT_EXTERN(int) git_stash_pop(
|
251
|
+
git_repository *repo,
|
252
|
+
size_t index,
|
253
|
+
const git_stash_apply_options *options);
|
254
|
+
|
124
255
|
/** @} */
|
125
256
|
GIT_END_DECL
|
126
257
|
#endif
|
@@ -130,10 +130,12 @@ typedef struct git_submodule_update_options {
|
|
130
130
|
git_checkout_options checkout_opts;
|
131
131
|
|
132
132
|
/**
|
133
|
-
*
|
133
|
+
* Options which control the fetch, including callbacks.
|
134
|
+
*
|
135
|
+
* The callbacks to use for reporting fetch progress, and for acquiring
|
134
136
|
* credentials in the event they are needed.
|
135
137
|
*/
|
136
|
-
|
138
|
+
git_fetch_options fetch_opts;
|
137
139
|
|
138
140
|
/**
|
139
141
|
* The checkout strategy to use when the sub repository needs to
|
@@ -147,7 +149,7 @@ typedef struct git_submodule_update_options {
|
|
147
149
|
#define GIT_SUBMODULE_UPDATE_OPTIONS_INIT \
|
148
150
|
{ GIT_CHECKOUT_OPTIONS_VERSION, \
|
149
151
|
{ GIT_CHECKOUT_OPTIONS_VERSION, GIT_CHECKOUT_SAFE }, \
|
150
|
-
|
152
|
+
GIT_FETCH_OPTIONS_INIT, GIT_CHECKOUT_SAFE }
|
151
153
|
|
152
154
|
/**
|
153
155
|
* Initializes a `git_submodule_update_options` with default values.
|
@@ -298,20 +300,6 @@ GIT_EXTERN(int) git_submodule_add_to_index(
|
|
298
300
|
git_submodule *submodule,
|
299
301
|
int write_index);
|
300
302
|
|
301
|
-
/**
|
302
|
-
* Write submodule settings to .gitmodules file.
|
303
|
-
*
|
304
|
-
* This commits any in-memory changes to the submodule to the gitmodules
|
305
|
-
* file on disk. You may also be interested in `git_submodule_init()` which
|
306
|
-
* writes submodule info to ".git/config" (which is better for local changes
|
307
|
-
* to submodule settings) and/or `git_submodule_sync()` which writes
|
308
|
-
* settings about remotes to the actual submodule repository.
|
309
|
-
*
|
310
|
-
* @param submodule The submodule to write.
|
311
|
-
* @return 0 on success, <0 on failure.
|
312
|
-
*/
|
313
|
-
GIT_EXTERN(int) git_submodule_save(git_submodule *submodule);
|
314
|
-
|
315
303
|
/**
|
316
304
|
* Get the containing repository for a submodule.
|
317
305
|
*
|
@@ -371,36 +359,31 @@ GIT_EXTERN(int) git_submodule_resolve_url(git_buf *out, git_repository *repo, co
|
|
371
359
|
GIT_EXTERN(const char *) git_submodule_branch(git_submodule *submodule);
|
372
360
|
|
373
361
|
/**
|
374
|
-
* Set the branch for the submodule
|
362
|
+
* Set the branch for the submodule in the configuration
|
375
363
|
*
|
376
|
-
*
|
377
|
-
* any following submodule actions while this submodule data is in memory.
|
378
|
-
*
|
379
|
-
* After calling this, you may wish to call `git_submodule_save()` to write
|
380
|
-
* the changes back to the ".gitmodules" file and `git_submodule_sync()` to
|
364
|
+
* After calling this, you may wish to call `git_submodule_sync()` to
|
381
365
|
* write the changes to the checked out submodule repository.
|
382
366
|
*
|
383
|
-
* @param
|
367
|
+
* @param repo the repository to affect
|
368
|
+
* @param name the name of the submodule to configure
|
384
369
|
* @param branch Branch that should be used for the submodule
|
385
370
|
* @return 0 on success, <0 on failure
|
386
371
|
*/
|
387
|
-
GIT_EXTERN(int) git_submodule_set_branch(
|
372
|
+
GIT_EXTERN(int) git_submodule_set_branch(git_repository *repo, const char *name, const char *branch);
|
388
373
|
|
389
374
|
/**
|
390
|
-
* Set the URL for the submodule
|
375
|
+
* Set the URL for the submodule in the configuration
|
391
376
|
*
|
392
|
-
* This sets the URL in memory for the submodule. This will be used for
|
393
|
-
* any following submodule actions while this submodule data is in memory.
|
394
377
|
*
|
395
|
-
* After calling this, you may wish to call `
|
396
|
-
* the changes back to the ".gitmodules" file and `git_submodule_sync()` to
|
378
|
+
* After calling this, you may wish to call `git_submodule_sync()` to
|
397
379
|
* write the changes to the checked out submodule repository.
|
398
380
|
*
|
399
|
-
* @param
|
381
|
+
* @param repo the repository to affect
|
382
|
+
* @param name the name of the submodule to configure
|
400
383
|
* @param url URL that should be used for the submodule
|
401
384
|
* @return 0 on success, <0 on failure
|
402
385
|
*/
|
403
|
-
GIT_EXTERN(int) git_submodule_set_url(
|
386
|
+
GIT_EXTERN(int) git_submodule_set_url(git_repository *repo, const char *name, const char *url);
|
404
387
|
|
405
388
|
/**
|
406
389
|
* Get the OID for the submodule in the index.
|
@@ -450,9 +433,6 @@ GIT_EXTERN(const git_oid *) git_submodule_wd_id(git_submodule *submodule);
|
|
450
433
|
* The working directory will be consider clean so long as there is a
|
451
434
|
* checked out version present.
|
452
435
|
*
|
453
|
-
* plus the special **GIT_SUBMODULE_IGNORE_RESET** which can be used with
|
454
|
-
* `git_submodule_set_ignore()` to revert to the on-disk setting.
|
455
|
-
*
|
456
436
|
* @param submodule The submodule to check
|
457
437
|
* @return The current git_submodule_ignore_t valyue what will be used for
|
458
438
|
* this submodule.
|
@@ -461,32 +441,25 @@ GIT_EXTERN(git_submodule_ignore_t) git_submodule_ignore(
|
|
461
441
|
git_submodule *submodule);
|
462
442
|
|
463
443
|
/**
|
464
|
-
* Set the ignore rule for the submodule
|
465
|
-
*
|
466
|
-
* This sets the in-memory ignore rule for the submodule which will
|
467
|
-
* control the behavior of `git_submodule_status()`.
|
444
|
+
* Set the ignore rule for the submodule in the configuration
|
468
445
|
*
|
469
|
-
*
|
470
|
-
* value to disk (in the ".gitmodules" and ".git/config" files).
|
446
|
+
* This does not affect any currently-loaded instances.
|
471
447
|
*
|
472
|
-
*
|
473
|
-
*
|
474
|
-
*
|
475
|
-
* @param submodule The submodule to update
|
448
|
+
* @param repo the repository to affect
|
449
|
+
* @param name the name of the submdule
|
476
450
|
* @param ignore The new value for the ignore rule
|
477
|
-
* @return
|
451
|
+
* @return 0 or an error code
|
478
452
|
*/
|
479
|
-
GIT_EXTERN(
|
480
|
-
|
453
|
+
GIT_EXTERN(int) git_submodule_set_ignore(
|
454
|
+
git_repository *repo,
|
455
|
+
const char *name,
|
481
456
|
git_submodule_ignore_t ignore);
|
482
457
|
|
483
458
|
/**
|
484
459
|
* Get the update rule that will be used for the submodule.
|
485
460
|
*
|
486
461
|
* This value controls the behavior of the `git submodule update` command.
|
487
|
-
* There are four useful values documented with `git_submodule_update_t
|
488
|
-
* plus the `GIT_SUBMODULE_UPDATE_RESET` which can be used to revert to
|
489
|
-
* the on-disk setting.
|
462
|
+
* There are four useful values documented with `git_submodule_update_t`.
|
490
463
|
*
|
491
464
|
* @param submodule The submodule to check
|
492
465
|
* @return The current git_submodule_update_t value that will be used
|
@@ -496,23 +469,18 @@ GIT_EXTERN(git_submodule_update_t) git_submodule_update_strategy(
|
|
496
469
|
git_submodule *submodule);
|
497
470
|
|
498
471
|
/**
|
499
|
-
* Set the update rule for the submodule
|
500
|
-
*
|
501
|
-
* The initial value comes from the ".git/config" setting of
|
502
|
-
* `submodule.$name.update` for this submodule (which is initialized from
|
503
|
-
* the ".gitmodules" file). Using this function sets the update rule in
|
504
|
-
* memory for the submodule. Call `git_submodule_save()` to write out the
|
505
|
-
* new update rule.
|
472
|
+
* Set the update rule for the submodule in the configuration
|
506
473
|
*
|
507
|
-
*
|
508
|
-
* `git_submodule_reload()` will revert the rule to the on disk value.
|
474
|
+
* This setting won't affect any existing instances.
|
509
475
|
*
|
510
|
-
* @param
|
476
|
+
* @param repo the repository to affect
|
477
|
+
* @param name the name of the submodule to configure
|
511
478
|
* @param update The new value to use
|
512
|
-
* @return
|
479
|
+
* @return 0 or an error code
|
513
480
|
*/
|
514
|
-
GIT_EXTERN(
|
515
|
-
|
481
|
+
GIT_EXTERN(int) git_submodule_set_update(
|
482
|
+
git_repository *repo,
|
483
|
+
const char *name,
|
516
484
|
git_submodule_update_t update);
|
517
485
|
|
518
486
|
/**
|
@@ -530,18 +498,18 @@ GIT_EXTERN(git_submodule_recurse_t) git_submodule_fetch_recurse_submodules(
|
|
530
498
|
git_submodule *submodule);
|
531
499
|
|
532
500
|
/**
|
533
|
-
* Set the fetchRecurseSubmodules rule for a submodule
|
501
|
+
* Set the fetchRecurseSubmodules rule for a submodule in the configuration
|
534
502
|
*
|
535
|
-
* This
|
536
|
-
* the submodule. You should call `git_submodule_save()` if you want
|
537
|
-
* to persist the new value.
|
503
|
+
* This setting won't affect any existing instances.
|
538
504
|
*
|
539
|
-
* @param
|
505
|
+
* @param repo the repository to affect
|
506
|
+
* @param name the submodule to configure
|
540
507
|
* @param fetch_recurse_submodules Boolean value
|
541
508
|
* @return old value for fetchRecurseSubmodules
|
542
509
|
*/
|
543
|
-
GIT_EXTERN(
|
544
|
-
|
510
|
+
GIT_EXTERN(int) git_submodule_set_fetch_recurse_submodules(
|
511
|
+
git_repository *repo,
|
512
|
+
const char *name,
|
545
513
|
git_submodule_recurse_t fetch_recurse_submodules);
|
546
514
|
|
547
515
|
/**
|
@@ -632,16 +600,19 @@ GIT_EXTERN(int) git_submodule_reload_all(git_repository *repo, int force);
|
|
632
600
|
* This looks at a submodule and tries to determine the status. It
|
633
601
|
* will return a combination of the `GIT_SUBMODULE_STATUS` values above.
|
634
602
|
* How deeply it examines the working directory to do this will depend
|
635
|
-
* on the `git_submodule_ignore_t` value for the submodule
|
636
|
-
* set either temporarily or permanently with `git_submodule_set_ignore()`.
|
603
|
+
* on the `git_submodule_ignore_t` value for the submodule.
|
637
604
|
*
|
638
605
|
* @param status Combination of `GIT_SUBMODULE_STATUS` flags
|
639
|
-
* @param
|
606
|
+
* @param repo the repository in which to look
|
607
|
+
* @param name name of the submodule
|
608
|
+
* @param ignore the ignore rules to follow
|
640
609
|
* @return 0 on success, <0 on error
|
641
610
|
*/
|
642
611
|
GIT_EXTERN(int) git_submodule_status(
|
643
612
|
unsigned int *status,
|
644
|
-
|
613
|
+
git_repository *repo,
|
614
|
+
const char *name,
|
615
|
+
git_submodule_ignore_t ignore);
|
645
616
|
|
646
617
|
/**
|
647
618
|
* Get the locations of submodule information.
|
@@ -53,7 +53,7 @@ struct git_odb_backend {
|
|
53
53
|
git_odb_backend *, const git_oid *, const void *, size_t, git_otype);
|
54
54
|
|
55
55
|
int (* writestream)(
|
56
|
-
git_odb_stream **, git_odb_backend *,
|
56
|
+
git_odb_stream **, git_odb_backend *, git_off_t, git_otype);
|
57
57
|
|
58
58
|
int (* readstream)(
|
59
59
|
git_odb_stream **, git_odb_backend *, const git_oid *);
|
@@ -29,8 +29,10 @@ typedef struct git_stream {
|
|
29
29
|
int version;
|
30
30
|
|
31
31
|
int encrypted;
|
32
|
+
int proxy_support;
|
32
33
|
int (*connect)(struct git_stream *);
|
33
34
|
int (*certificate)(git_cert **, struct git_stream *);
|
35
|
+
int (*set_proxy)(struct git_stream *, const char *proxy_url);
|
34
36
|
ssize_t (*read)(struct git_stream *, void *, size_t);
|
35
37
|
ssize_t (*write)(struct git_stream *, const char *, size_t, int);
|
36
38
|
int (*close)(struct git_stream *);
|
@@ -30,8 +30,6 @@ typedef enum {
|
|
30
30
|
GIT_TRANSPORTFLAGS_NONE = 0,
|
31
31
|
} git_transport_flags_t;
|
32
32
|
|
33
|
-
typedef struct git_transport git_transport;
|
34
|
-
|
35
33
|
struct git_transport {
|
36
34
|
unsigned int version;
|
37
35
|
/* Set progress and error callbacks */
|
@@ -61,7 +59,7 @@ struct git_transport {
|
|
61
59
|
git_transport *transport);
|
62
60
|
|
63
61
|
/* Executes the push whose context is in the git_push object. */
|
64
|
-
int (*push)(git_transport *transport, git_push *push);
|
62
|
+
int (*push)(git_transport *transport, git_push *push, const git_remote_callbacks *callbacks);
|
65
63
|
|
66
64
|
/* This function may be called after a successful call to connect(), when
|
67
65
|
* the direction is FETCH. The function performs a negotiation to calculate
|
@@ -142,9 +140,6 @@ GIT_EXTERN(int) git_transport_new(git_transport **out, git_remote *owner, const
|
|
142
140
|
*/
|
143
141
|
GIT_EXTERN(int) git_transport_ssh_with_paths(git_transport **out, git_remote *owner, void *payload);
|
144
142
|
|
145
|
-
/* Signature of a function which creates a transport */
|
146
|
-
typedef int (*git_transport_cb)(git_transport **out, git_remote *owner, void *param);
|
147
|
-
|
148
143
|
/**
|
149
144
|
* Add a custom transport definition, to be used in addition to the built-in
|
150
145
|
* set of transports that come with libgit2.
|
@@ -353,21 +348,6 @@ GIT_EXTERN(int) git_smart_subtransport_ssh(
|
|
353
348
|
git_transport* owner,
|
354
349
|
void *param);
|
355
350
|
|
356
|
-
/**
|
357
|
-
* Sets a custom transport factory for the remote. The caller can use this
|
358
|
-
* function to override the transport used for this remote when performing
|
359
|
-
* network operations.
|
360
|
-
*
|
361
|
-
* @param remote the remote to configure
|
362
|
-
* @param transport_cb the function to use to create a transport
|
363
|
-
* @param payload opaque parameter passed to transport_cb
|
364
|
-
* @return 0 or an error code
|
365
|
-
*/
|
366
|
-
GIT_EXTERN(int) git_remote_set_transport(
|
367
|
-
git_remote *remote,
|
368
|
-
git_transport_cb transport_cb,
|
369
|
-
void *payload);
|
370
|
-
|
371
351
|
/** @} */
|
372
352
|
GIT_END_DECL
|
373
353
|
#endif
|