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