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
|
@@ -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
|