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
@@ -125,10 +125,21 @@ static int ssh_stream_read(
|
|
125
125
|
return -1;
|
126
126
|
|
127
127
|
if ((rc = libssh2_channel_read(s->channel, buffer, buf_size)) < LIBSSH2_ERROR_NONE) {
|
128
|
-
ssh_error(s->session, "SSH could not read data")
|
128
|
+
ssh_error(s->session, "SSH could not read data");
|
129
129
|
return -1;
|
130
130
|
}
|
131
131
|
|
132
|
+
/*
|
133
|
+
* If we can't get anything out of stdout, it's typically a
|
134
|
+
* not-found error, so read from stderr and signal EOF on
|
135
|
+
* stderr.
|
136
|
+
*/
|
137
|
+
if (rc == 0 && (rc = libssh2_channel_read_stderr(s->channel, buffer, buf_size)) > 0) {
|
138
|
+
giterr_set(GITERR_SSH, "%*s", rc, buffer);
|
139
|
+
return GIT_EEOF;
|
140
|
+
}
|
141
|
+
|
142
|
+
|
132
143
|
*bytes_read = rc;
|
133
144
|
|
134
145
|
return 0;
|
@@ -166,11 +177,12 @@ static int ssh_stream_write(
|
|
166
177
|
static void ssh_stream_free(git_smart_subtransport_stream *stream)
|
167
178
|
{
|
168
179
|
ssh_stream *s = (ssh_stream *)stream;
|
169
|
-
ssh_subtransport *t
|
170
|
-
int ret;
|
180
|
+
ssh_subtransport *t;
|
171
181
|
|
172
|
-
|
182
|
+
if (!stream)
|
183
|
+
return;
|
173
184
|
|
185
|
+
t = OWNING_SUBTRANSPORT(s);
|
174
186
|
t->current_stream = NULL;
|
175
187
|
|
176
188
|
if (s->channel) {
|
@@ -282,8 +294,14 @@ static int ssh_agent_auth(LIBSSH2_SESSION *session, git_cred_ssh_key *c) {
|
|
282
294
|
if (rc < 0)
|
283
295
|
goto shutdown;
|
284
296
|
|
285
|
-
|
297
|
+
/* rc is set to 1 whenever the ssh agent ran out of keys to check.
|
298
|
+
* Set the error code to authentication failure rather than erroring
|
299
|
+
* out with an untranslatable error code.
|
300
|
+
*/
|
301
|
+
if (rc == 1) {
|
302
|
+
rc = LIBSSH2_ERROR_AUTHENTICATION_FAILED;
|
286
303
|
goto shutdown;
|
304
|
+
}
|
287
305
|
|
288
306
|
rc = libssh2_agent_userauth(agent, c->username, curr);
|
289
307
|
|
@@ -359,6 +377,25 @@ static int _git_ssh_authenticate_session(
|
|
359
377
|
session, c->username, c->prompt_callback);
|
360
378
|
break;
|
361
379
|
}
|
380
|
+
#ifdef GIT_SSH_MEMORY_CREDENTIALS
|
381
|
+
case GIT_CREDTYPE_SSH_MEMORY: {
|
382
|
+
git_cred_ssh_key *c = (git_cred_ssh_key *)cred;
|
383
|
+
|
384
|
+
assert(c->username);
|
385
|
+
assert(c->privatekey);
|
386
|
+
|
387
|
+
rc = libssh2_userauth_publickey_frommemory(
|
388
|
+
session,
|
389
|
+
c->username,
|
390
|
+
strlen(c->username),
|
391
|
+
c->publickey,
|
392
|
+
c->publickey ? strlen(c->publickey) : 0,
|
393
|
+
c->privatekey,
|
394
|
+
strlen(c->privatekey),
|
395
|
+
c->passphrase);
|
396
|
+
break;
|
397
|
+
}
|
398
|
+
#endif
|
362
399
|
default:
|
363
400
|
rc = LIBSSH2_ERROR_AUTHENTICATION_FAILED;
|
364
401
|
}
|
@@ -585,8 +622,7 @@ static int _git_ssh_setup_conn(
|
|
585
622
|
|
586
623
|
done:
|
587
624
|
if (error < 0) {
|
588
|
-
|
589
|
-
ssh_stream_free(*stream);
|
625
|
+
ssh_stream_free(*stream);
|
590
626
|
|
591
627
|
if (session)
|
592
628
|
libssh2_session_free(session);
|
@@ -729,6 +765,9 @@ static int list_auth_methods(int *out, LIBSSH2_SESSION *session, const char *use
|
|
729
765
|
if (!git__prefixcmp(ptr, SSH_AUTH_PUBLICKEY)) {
|
730
766
|
*out |= GIT_CREDTYPE_SSH_KEY;
|
731
767
|
*out |= GIT_CREDTYPE_SSH_CUSTOM;
|
768
|
+
#ifdef GIT_SSH_MEMORY_CREDENTIALS
|
769
|
+
*out |= GIT_CREDTYPE_SSH_MEMORY;
|
770
|
+
#endif
|
732
771
|
ptr += strlen(SSH_AUTH_PUBLICKEY);
|
733
772
|
continue;
|
734
773
|
}
|
@@ -10,6 +10,7 @@
|
|
10
10
|
#include <stdio.h>
|
11
11
|
#include <dirent.h>
|
12
12
|
#include <sys/param.h>
|
13
|
+
#include <sys/time.h>
|
13
14
|
|
14
15
|
typedef int GIT_SOCKET;
|
15
16
|
#define INVALID_SOCKET -1
|
@@ -19,6 +20,9 @@ typedef int GIT_SOCKET;
|
|
19
20
|
#define p_lstat(p,b) lstat(p,b)
|
20
21
|
#define p_stat(p,b) stat(p, b)
|
21
22
|
|
23
|
+
#define p_utimes(f, t) utimes(f, t)
|
24
|
+
#define p_futimes(f, t) futimes(f, t)
|
25
|
+
|
22
26
|
#define p_readlink(a, b, c) readlink(a, b, c)
|
23
27
|
#define p_symlink(o,n) symlink(o, n)
|
24
28
|
#define p_link(o,n) link(o, n)
|
data/vendor/libgit2/src/util.c
CHANGED
@@ -171,9 +171,9 @@ int git__strcmp(const char *a, const char *b)
|
|
171
171
|
|
172
172
|
int git__strcasecmp(const char *a, const char *b)
|
173
173
|
{
|
174
|
-
while (*a && *b &&
|
174
|
+
while (*a && *b && git__tolower(*a) == git__tolower(*b))
|
175
175
|
++a, ++b;
|
176
|
-
return (
|
176
|
+
return ((unsigned char)git__tolower(*a) - (unsigned char)git__tolower(*b));
|
177
177
|
}
|
178
178
|
|
179
179
|
int git__strcasesort_cmp(const char *a, const char *b)
|
@@ -182,7 +182,7 @@ int git__strcasesort_cmp(const char *a, const char *b)
|
|
182
182
|
|
183
183
|
while (*a && *b) {
|
184
184
|
if (*a != *b) {
|
185
|
-
if (
|
185
|
+
if (git__tolower(*a) != git__tolower(*b))
|
186
186
|
break;
|
187
187
|
/* use case in sort order even if not in equivalence */
|
188
188
|
if (!cmp)
|
@@ -193,7 +193,7 @@ int git__strcasesort_cmp(const char *a, const char *b)
|
|
193
193
|
}
|
194
194
|
|
195
195
|
if (*a || *b)
|
196
|
-
return
|
196
|
+
return (unsigned char)git__tolower(*a) - (unsigned char)git__tolower(*b);
|
197
197
|
|
198
198
|
return cmp;
|
199
199
|
}
|
@@ -212,8 +212,8 @@ int git__strncasecmp(const char *a, const char *b, size_t sz)
|
|
212
212
|
int al, bl;
|
213
213
|
|
214
214
|
do {
|
215
|
-
al = (unsigned char)
|
216
|
-
bl = (unsigned char)
|
215
|
+
al = (unsigned char)git__tolower(*a);
|
216
|
+
bl = (unsigned char)git__tolower(*b);
|
217
217
|
++a, ++b;
|
218
218
|
} while (--sz && al && al == bl);
|
219
219
|
|
@@ -225,7 +225,7 @@ void git__strntolower(char *str, size_t len)
|
|
225
225
|
size_t i;
|
226
226
|
|
227
227
|
for (i = 0; i < len; ++i) {
|
228
|
-
str[i] = (char)
|
228
|
+
str[i] = (char)git__tolower(str[i]);
|
229
229
|
}
|
230
230
|
}
|
231
231
|
|
@@ -255,8 +255,8 @@ int git__prefixncmp_icase(const char *str, size_t str_n, const char *prefix)
|
|
255
255
|
int s, p;
|
256
256
|
|
257
257
|
while(str_n--) {
|
258
|
-
s = (unsigned char)
|
259
|
-
p = (unsigned char)
|
258
|
+
s = (unsigned char)git__tolower(*str++);
|
259
|
+
p = (unsigned char)git__tolower(*prefix++);
|
260
260
|
|
261
261
|
if (s != p)
|
262
262
|
return s - p;
|
data/vendor/libgit2/src/util.h
CHANGED
@@ -275,6 +275,15 @@ extern char *git__strsep(char **end, const char *sep);
|
|
275
275
|
extern void git__strntolower(char *str, size_t len);
|
276
276
|
extern void git__strtolower(char *str);
|
277
277
|
|
278
|
+
#ifdef GIT_WIN32
|
279
|
+
GIT_INLINE(int) git__tolower(int c)
|
280
|
+
{
|
281
|
+
return (c >= 'A' && c <= 'Z') ? (c + 32) : c;
|
282
|
+
}
|
283
|
+
#else
|
284
|
+
# define git__tolower(a) tolower(a)
|
285
|
+
#endif
|
286
|
+
|
278
287
|
GIT_INLINE(const char *) git__next_line(const char *s)
|
279
288
|
{
|
280
289
|
while (*s && *s != '\n') s++;
|
@@ -20,6 +20,9 @@ typedef SOCKET GIT_SOCKET;
|
|
20
20
|
extern int p_lstat(const char *file_name, struct stat *buf);
|
21
21
|
extern int p_stat(const char* path, struct stat* buf);
|
22
22
|
|
23
|
+
extern int p_utimes(const char *filename, const struct timeval times[2]);
|
24
|
+
extern int p_futimes(int fd, const struct timeval times[2]);
|
25
|
+
|
23
26
|
extern int p_readlink(const char *path, char *buf, size_t bufsiz);
|
24
27
|
extern int p_symlink(const char *old, const char *new);
|
25
28
|
extern int p_link(const char *old, const char *new);
|
@@ -201,6 +201,44 @@ int p_lstat_posixly(const char *filename, struct stat *buf)
|
|
201
201
|
return do_lstat(filename, buf, true);
|
202
202
|
}
|
203
203
|
|
204
|
+
int p_utimes(const char *filename, const struct timeval times[2])
|
205
|
+
{
|
206
|
+
int fd, error;
|
207
|
+
|
208
|
+
if ((fd = p_open(filename, O_RDWR)) < 0)
|
209
|
+
return fd;
|
210
|
+
|
211
|
+
error = p_futimes(fd, times);
|
212
|
+
|
213
|
+
close(fd);
|
214
|
+
return error;
|
215
|
+
}
|
216
|
+
|
217
|
+
int p_futimes(int fd, const struct timeval times[2])
|
218
|
+
{
|
219
|
+
HANDLE handle;
|
220
|
+
FILETIME atime = {0}, mtime = {0};
|
221
|
+
|
222
|
+
if (times == NULL) {
|
223
|
+
SYSTEMTIME st;
|
224
|
+
|
225
|
+
GetSystemTime(&st);
|
226
|
+
SystemTimeToFileTime(&st, &atime);
|
227
|
+
SystemTimeToFileTime(&st, &mtime);
|
228
|
+
} else {
|
229
|
+
git_win32__timeval_to_filetime(&atime, times[0]);
|
230
|
+
git_win32__timeval_to_filetime(&mtime, times[1]);
|
231
|
+
}
|
232
|
+
|
233
|
+
if ((handle = (HANDLE)_get_osfhandle(fd)) == INVALID_HANDLE_VALUE)
|
234
|
+
return -1;
|
235
|
+
|
236
|
+
if (SetFileTime(handle, NULL, &atime, &mtime) == 0)
|
237
|
+
return -1;
|
238
|
+
|
239
|
+
return 0;
|
240
|
+
}
|
241
|
+
|
204
242
|
int p_readlink(const char *path, char *buf, size_t bufsiz)
|
205
243
|
{
|
206
244
|
git_win32_path path_w, target_w;
|
@@ -79,6 +79,16 @@ GIT_INLINE(time_t) git_win32__filetime_to_time_t(const FILETIME *ft)
|
|
79
79
|
return (time_t)winTime;
|
80
80
|
}
|
81
81
|
|
82
|
+
GIT_INLINE(void) git_win32__timeval_to_filetime(
|
83
|
+
FILETIME *ft, const struct timeval tv)
|
84
|
+
{
|
85
|
+
long long ticks = (tv.tv_sec * 10000000LL) +
|
86
|
+
(tv.tv_usec * 10LL) + 116444736000000000LL;
|
87
|
+
|
88
|
+
ft->dwHighDateTime = ((ticks >> 32) & 0xffffffffLL);
|
89
|
+
ft->dwLowDateTime = (ticks & 0xffffffffLL);
|
90
|
+
}
|
91
|
+
|
82
92
|
GIT_INLINE(int) git_win32__file_attribute_to_stat(
|
83
93
|
struct stat *st,
|
84
94
|
const WIN32_FILE_ATTRIBUTE_DATA *attrdata,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rugged
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.23.
|
4
|
+
version: 0.23.0b4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Chacon
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-06-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake-compiler
|
@@ -197,7 +197,6 @@ files:
|
|
197
197
|
- vendor/libgit2/include/git2/pack.h
|
198
198
|
- vendor/libgit2/include/git2/patch.h
|
199
199
|
- vendor/libgit2/include/git2/pathspec.h
|
200
|
-
- vendor/libgit2/include/git2/push.h
|
201
200
|
- vendor/libgit2/include/git2/rebase.h
|
202
201
|
- vendor/libgit2/include/git2/refdb.h
|
203
202
|
- vendor/libgit2/include/git2/reflog.h
|
@@ -279,6 +278,8 @@ files:
|
|
279
278
|
- vendor/libgit2/src/config_file.c
|
280
279
|
- vendor/libgit2/src/config_file.h
|
281
280
|
- vendor/libgit2/src/crlf.c
|
281
|
+
- vendor/libgit2/src/curl_stream.c
|
282
|
+
- vendor/libgit2/src/curl_stream.h
|
282
283
|
- vendor/libgit2/src/date.c
|
283
284
|
- vendor/libgit2/src/delta-apply.c
|
284
285
|
- vendor/libgit2/src/delta-apply.h
|
@@ -1,94 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright (C) the libgit2 contributors. All rights reserved.
|
3
|
-
*
|
4
|
-
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
5
|
-
* a Linking Exception. For full terms see the included COPYING file.
|
6
|
-
*/
|
7
|
-
#ifndef INCLUDE_git_push_h__
|
8
|
-
#define INCLUDE_git_push_h__
|
9
|
-
|
10
|
-
#include "common.h"
|
11
|
-
#include "pack.h"
|
12
|
-
|
13
|
-
/**
|
14
|
-
* @file git2/push.h
|
15
|
-
* @brief Git push management functions
|
16
|
-
* @defgroup git_push push management functions
|
17
|
-
* @ingroup Git
|
18
|
-
* @{
|
19
|
-
*/
|
20
|
-
GIT_BEGIN_DECL
|
21
|
-
|
22
|
-
/**
|
23
|
-
* Controls the behavior of a git_push object.
|
24
|
-
*/
|
25
|
-
typedef struct {
|
26
|
-
unsigned int version;
|
27
|
-
|
28
|
-
/**
|
29
|
-
* If the transport being used to push to the remote requires the creation
|
30
|
-
* of a pack file, this controls the number of worker threads used by
|
31
|
-
* the packbuilder when creating that pack file to be sent to the remote.
|
32
|
-
*
|
33
|
-
* If set to 0, the packbuilder will auto-detect the number of threads
|
34
|
-
* to create. The default value is 1.
|
35
|
-
*/
|
36
|
-
unsigned int pb_parallelism;
|
37
|
-
} git_push_options;
|
38
|
-
|
39
|
-
#define GIT_PUSH_OPTIONS_VERSION 1
|
40
|
-
#define GIT_PUSH_OPTIONS_INIT { GIT_PUSH_OPTIONS_VERSION }
|
41
|
-
|
42
|
-
/**
|
43
|
-
* Initializes a `git_push_options` with default values. Equivalent to
|
44
|
-
* creating an instance with GIT_PUSH_OPTIONS_INIT.
|
45
|
-
*
|
46
|
-
* @param opts the `git_push_options` instance to initialize.
|
47
|
-
* @param version the version of the struct; you should pass
|
48
|
-
* `GIT_PUSH_OPTIONS_VERSION` here.
|
49
|
-
* @return Zero on success; -1 on failure.
|
50
|
-
*/
|
51
|
-
GIT_EXTERN(int) git_push_init_options(
|
52
|
-
git_push_options *opts,
|
53
|
-
unsigned int version);
|
54
|
-
|
55
|
-
/** Push network progress notification function */
|
56
|
-
typedef int (*git_push_transfer_progress)(
|
57
|
-
unsigned int current,
|
58
|
-
unsigned int total,
|
59
|
-
size_t bytes,
|
60
|
-
void* payload);
|
61
|
-
|
62
|
-
/**
|
63
|
-
* Represents an update which will be performed on the remote during push
|
64
|
-
*/
|
65
|
-
typedef struct {
|
66
|
-
/**
|
67
|
-
* The source name of the reference
|
68
|
-
*/
|
69
|
-
char *src_refname;
|
70
|
-
/**
|
71
|
-
* The name of the reference to update on the server
|
72
|
-
*/
|
73
|
-
char *dst_refname;
|
74
|
-
/**
|
75
|
-
* The current target of the reference
|
76
|
-
*/
|
77
|
-
git_oid src;
|
78
|
-
/**
|
79
|
-
* The new target for the reference
|
80
|
-
*/
|
81
|
-
git_oid dst;
|
82
|
-
} git_push_update;
|
83
|
-
|
84
|
-
/**
|
85
|
-
* @param updates an array containing the updates which will be sent
|
86
|
-
* as commands to the destination.
|
87
|
-
* @param len number of elements in `updates`
|
88
|
-
* @param payload Payload provided by the caller
|
89
|
-
*/
|
90
|
-
typedef int (*git_push_negotiation)(const git_push_update **updates, size_t len, void *payload);
|
91
|
-
|
92
|
-
/** @} */
|
93
|
-
GIT_END_DECL
|
94
|
-
#endif
|