rugged 0.23.0 → 0.23.1
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_remote.c +1 -8
- data/ext/rugged/rugged_submodule_collection.c +3 -3
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +3 -1
- data/vendor/libgit2/include/git2/diff.h +19 -0
- data/vendor/libgit2/include/git2/errors.h +1 -12
- data/vendor/libgit2/include/git2/remote.h +9 -1
- data/vendor/libgit2/include/git2/repository.h +1 -1
- data/vendor/libgit2/include/git2/sys/config.h +1 -1
- data/vendor/libgit2/include/git2/sys/diff.h +4 -4
- data/vendor/libgit2/include/git2/sys/filter.h +4 -1
- data/vendor/libgit2/include/git2/sys/odb_backend.h +1 -1
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +4 -3
- data/vendor/libgit2/include/git2/transport.h +14 -21
- data/vendor/libgit2/src/blame_git.c +10 -15
- data/vendor/libgit2/src/blob.c +6 -0
- data/vendor/libgit2/src/branch.c +1 -12
- data/vendor/libgit2/src/cache.c +4 -4
- data/vendor/libgit2/src/checkout.c +2 -2
- data/vendor/libgit2/src/clone.c +2 -2
- data/vendor/libgit2/src/common.h +13 -4
- data/vendor/libgit2/src/curl_stream.c +7 -7
- data/vendor/libgit2/src/describe.c +1 -1
- data/vendor/libgit2/src/diff.c +25 -0
- data/vendor/libgit2/src/errors.c +75 -40
- data/vendor/libgit2/src/filebuf.c +6 -1
- data/vendor/libgit2/src/filebuf.h +2 -0
- data/vendor/libgit2/src/filter.c +14 -9
- data/vendor/libgit2/src/global.c +25 -9
- data/vendor/libgit2/src/global.h +1 -0
- data/vendor/libgit2/src/index.c +75 -2
- data/vendor/libgit2/src/indexer.c +1 -1
- data/vendor/libgit2/src/iterator.c +6 -3
- data/vendor/libgit2/src/khash.h +1 -1
- data/vendor/libgit2/src/merge.c +3 -3
- data/vendor/libgit2/src/openssl_stream.c +5 -2
- data/vendor/libgit2/src/pack-objects.c +1 -1
- data/vendor/libgit2/src/pack.c +2 -2
- data/vendor/libgit2/src/path.c +25 -4
- data/vendor/libgit2/src/path.h +6 -1
- data/vendor/libgit2/src/push.h +3 -1
- data/vendor/libgit2/src/rebase.c +2 -2
- data/vendor/libgit2/src/refdb_fs.c +7 -0
- data/vendor/libgit2/src/remote.c +18 -9
- data/vendor/libgit2/src/revwalk.c +1 -1
- data/vendor/libgit2/src/stash.c +1 -1
- data/vendor/libgit2/src/stransport_stream.c +1 -1
- data/vendor/libgit2/src/submodule.c +12 -1
- data/vendor/libgit2/src/sysdir.c +22 -8
- data/vendor/libgit2/src/thread-utils.c +2 -0
- data/vendor/libgit2/src/transports/git.c +2 -0
- data/vendor/libgit2/src/transports/http.c +2 -2
- data/vendor/libgit2/src/transports/smart_pkt.c +1 -1
- data/vendor/libgit2/src/transports/ssh.c +4 -2
- data/vendor/libgit2/src/transports/winhttp.c +1 -1
- data/vendor/libgit2/src/util.c +48 -0
- data/vendor/libgit2/src/util.h +13 -5
- data/vendor/libgit2/src/win32/posix_w32.c +2 -0
- data/vendor/libgit2/src/win32/{buffer.c → w32_buffer.c} +1 -2
- data/vendor/libgit2/src/win32/{buffer.h → w32_buffer.h} +0 -0
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +343 -0
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +93 -0
- data/vendor/libgit2/src/win32/w32_stack.c +192 -0
- data/vendor/libgit2/src/win32/w32_stack.h +138 -0
- data/vendor/libgit2/src/xdiff/xdiff.h +10 -6
- data/vendor/libgit2/src/xdiff/xdiffi.c +46 -4
- data/vendor/libgit2/src/xdiff/xdiffi.h +1 -0
- data/vendor/libgit2/src/xdiff/xemit.c +43 -6
- data/vendor/libgit2/src/xdiff/xemit.h +1 -1
- data/vendor/libgit2/src/xdiff/xhistogram.c +1 -1
- data/vendor/libgit2/src/xdiff/xmerge.c +2 -2
- data/vendor/libgit2/src/xdiff/xpatience.c +1 -1
- data/vendor/libgit2/src/xdiff/xprepare.c +10 -11
- data/vendor/libgit2/src/xdiff/xutils.c +13 -29
- data/vendor/libgit2/src/xdiff/xutils.h +1 -0
- metadata +84 -80
data/vendor/libgit2/src/global.h
CHANGED
data/vendor/libgit2/src/index.c
CHANGED
|
@@ -1228,6 +1228,45 @@ int git_index_add_frombuffer(
|
|
|
1228
1228
|
return 0;
|
|
1229
1229
|
}
|
|
1230
1230
|
|
|
1231
|
+
static int add_repo_as_submodule(git_index_entry **out, git_index *index, const char *path)
|
|
1232
|
+
{
|
|
1233
|
+
git_repository *sub;
|
|
1234
|
+
git_buf abspath = GIT_BUF_INIT;
|
|
1235
|
+
git_repository *repo = INDEX_OWNER(index);
|
|
1236
|
+
git_reference *head;
|
|
1237
|
+
git_index_entry *entry;
|
|
1238
|
+
struct stat st;
|
|
1239
|
+
int error;
|
|
1240
|
+
|
|
1241
|
+
if (index_entry_create(&entry, INDEX_OWNER(index), path) < 0)
|
|
1242
|
+
return -1;
|
|
1243
|
+
|
|
1244
|
+
if ((error = git_buf_joinpath(&abspath, git_repository_workdir(repo), path)) < 0)
|
|
1245
|
+
return error;
|
|
1246
|
+
|
|
1247
|
+
if ((error = p_stat(abspath.ptr, &st)) < 0) {
|
|
1248
|
+
giterr_set(GITERR_OS, "failed to stat repository dir");
|
|
1249
|
+
return -1;
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1252
|
+
git_index_entry__init_from_stat(entry, &st, !index->distrust_filemode);
|
|
1253
|
+
|
|
1254
|
+
if ((error = git_repository_open(&sub, abspath.ptr)) < 0)
|
|
1255
|
+
return error;
|
|
1256
|
+
|
|
1257
|
+
if ((error = git_repository_head(&head, sub)) < 0)
|
|
1258
|
+
return error;
|
|
1259
|
+
|
|
1260
|
+
git_oid_cpy(&entry->id, git_reference_target(head));
|
|
1261
|
+
entry->mode = GIT_FILEMODE_COMMIT;
|
|
1262
|
+
|
|
1263
|
+
git_reference_free(head);
|
|
1264
|
+
git_repository_free(sub);
|
|
1265
|
+
git_buf_free(&abspath);
|
|
1266
|
+
|
|
1267
|
+
*out = entry;
|
|
1268
|
+
return 0;
|
|
1269
|
+
}
|
|
1231
1270
|
|
|
1232
1271
|
int git_index_add_bypath(git_index *index, const char *path)
|
|
1233
1272
|
{
|
|
@@ -1236,10 +1275,44 @@ int git_index_add_bypath(git_index *index, const char *path)
|
|
|
1236
1275
|
|
|
1237
1276
|
assert(index && path);
|
|
1238
1277
|
|
|
1239
|
-
if ((ret = index_entry_init(&entry, index, path))
|
|
1240
|
-
|
|
1278
|
+
if ((ret = index_entry_init(&entry, index, path)) == 0)
|
|
1279
|
+
ret = index_insert(index, &entry, 1, false);
|
|
1280
|
+
|
|
1281
|
+
/* If we were given a directory, let's see if it's a submodule */
|
|
1282
|
+
if (ret < 0 && ret != GIT_EDIRECTORY)
|
|
1241
1283
|
return ret;
|
|
1242
1284
|
|
|
1285
|
+
if (ret == GIT_EDIRECTORY) {
|
|
1286
|
+
git_submodule *sm;
|
|
1287
|
+
git_error_state err;
|
|
1288
|
+
|
|
1289
|
+
giterr_state_capture(&err, ret);
|
|
1290
|
+
|
|
1291
|
+
ret = git_submodule_lookup(&sm, INDEX_OWNER(index), path);
|
|
1292
|
+
if (ret == GIT_ENOTFOUND)
|
|
1293
|
+
return giterr_state_restore(&err);
|
|
1294
|
+
|
|
1295
|
+
giterr_state_free(&err);
|
|
1296
|
+
|
|
1297
|
+
/*
|
|
1298
|
+
* EEXISTS means that there is a repository at that path, but it's not known
|
|
1299
|
+
* as a submodule. We add its HEAD as an entry and don't register it.
|
|
1300
|
+
*/
|
|
1301
|
+
if (ret == GIT_EEXISTS) {
|
|
1302
|
+
if ((ret = add_repo_as_submodule(&entry, index, path)) < 0)
|
|
1303
|
+
return ret;
|
|
1304
|
+
|
|
1305
|
+
if ((ret = index_insert(index, &entry, 1, false)) < 0)
|
|
1306
|
+
return ret;
|
|
1307
|
+
} else if (ret < 0) {
|
|
1308
|
+
return ret;
|
|
1309
|
+
} else {
|
|
1310
|
+
ret = git_submodule_add_to_index(sm, false);
|
|
1311
|
+
git_submodule_free(sm);
|
|
1312
|
+
return ret;
|
|
1313
|
+
}
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1243
1316
|
/* Adding implies conflict was resolved, move conflict entries to REUC */
|
|
1244
1317
|
if ((ret = index_conflict_to_reuc(index, path)) < 0 && ret != GIT_ENOTFOUND)
|
|
1245
1318
|
return ret;
|
|
@@ -1027,8 +1027,11 @@ static int dirload_with_stat(
|
|
|
1027
1027
|
strncomp = (flags & GIT_PATH_DIR_IGNORE_CASE) != 0 ?
|
|
1028
1028
|
git__strncasecmp : git__strncmp;
|
|
1029
1029
|
|
|
1030
|
-
|
|
1030
|
+
/* Any error here is equivalent to the dir not existing, skip over it */
|
|
1031
|
+
if ((error = git_path_diriter_init(&diriter, dirpath, flags)) < 0) {
|
|
1032
|
+
error = GIT_ENOTFOUND;
|
|
1031
1033
|
goto done;
|
|
1034
|
+
}
|
|
1032
1035
|
|
|
1033
1036
|
while ((error = git_path_diriter_next(&diriter)) == 0) {
|
|
1034
1037
|
if ((error = git_path_diriter_fullpath(&path, &path_len, &diriter)) < 0)
|
|
@@ -1117,7 +1120,7 @@ static int fs_iterator__expand_dir(fs_iterator *fi)
|
|
|
1117
1120
|
|
|
1118
1121
|
if (error < 0) {
|
|
1119
1122
|
git_error_state last_error = { 0 };
|
|
1120
|
-
|
|
1123
|
+
giterr_state_capture(&last_error, error);
|
|
1121
1124
|
|
|
1122
1125
|
/* these callbacks may clear the error message */
|
|
1123
1126
|
fs_iterator__free_frame(ff);
|
|
@@ -1125,7 +1128,7 @@ static int fs_iterator__expand_dir(fs_iterator *fi)
|
|
|
1125
1128
|
/* next time return value we skipped to */
|
|
1126
1129
|
fi->base.flags &= ~GIT_ITERATOR_FIRST_ACCESS;
|
|
1127
1130
|
|
|
1128
|
-
return
|
|
1131
|
+
return giterr_state_restore(&last_error);
|
|
1129
1132
|
}
|
|
1130
1133
|
|
|
1131
1134
|
if (ff->entries.length == 0) {
|
data/vendor/libgit2/src/khash.h
CHANGED
data/vendor/libgit2/src/merge.c
CHANGED
|
@@ -79,7 +79,7 @@ int merge_bases_many(git_commit_list **out, git_revwalk **walk_out, git_reposito
|
|
|
79
79
|
unsigned int i;
|
|
80
80
|
|
|
81
81
|
if (length < 2) {
|
|
82
|
-
giterr_set(GITERR_INVALID, "At least two commits are required to find an ancestor. Provided 'length' was %
|
|
82
|
+
giterr_set(GITERR_INVALID, "At least two commits are required to find an ancestor. Provided 'length' was %" PRIuZ ".", length);
|
|
83
83
|
return -1;
|
|
84
84
|
}
|
|
85
85
|
|
|
@@ -185,7 +185,7 @@ int git_merge_base_octopus(git_oid *out, git_repository *repo, size_t length, co
|
|
|
185
185
|
assert(out && repo && input_array);
|
|
186
186
|
|
|
187
187
|
if (length < 2) {
|
|
188
|
-
giterr_set(GITERR_INVALID, "At least two commits are required to find an ancestor. Provided 'length' was %
|
|
188
|
+
giterr_set(GITERR_INVALID, "At least two commits are required to find an ancestor. Provided 'length' was %" PRIuZ ".", length);
|
|
189
189
|
return -1;
|
|
190
190
|
}
|
|
191
191
|
|
|
@@ -2451,7 +2451,7 @@ int git_merge__check_result(git_repository *repo, git_index *index_new)
|
|
|
2451
2451
|
goto done;
|
|
2452
2452
|
|
|
2453
2453
|
if ((conflicts = index_conflicts + wd_conflicts) > 0) {
|
|
2454
|
-
giterr_set(GITERR_MERGE, "%
|
|
2454
|
+
giterr_set(GITERR_MERGE, "%" PRIuZ " uncommitted change%s would be overwritten by merge",
|
|
2455
2455
|
conflicts, (conflicts != 1) ? "s" : "");
|
|
2456
2456
|
error = GIT_ECONFLICT;
|
|
2457
2457
|
}
|
|
@@ -324,7 +324,9 @@ int openssl_connect(git_stream *stream)
|
|
|
324
324
|
|
|
325
325
|
SSL_set_bio(st->ssl, bio, bio);
|
|
326
326
|
/* specify the host in case SNI is needed */
|
|
327
|
+
#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
|
|
327
328
|
SSL_set_tlsext_host_name(st->ssl, st->host);
|
|
329
|
+
#endif
|
|
328
330
|
|
|
329
331
|
if ((ret = SSL_connect(st->ssl)) <= 0)
|
|
330
332
|
return ssl_set_error(st->ssl, ret);
|
|
@@ -358,11 +360,12 @@ int openssl_certificate(git_cert **out, git_stream *stream)
|
|
|
358
360
|
return -1;
|
|
359
361
|
}
|
|
360
362
|
|
|
361
|
-
st->cert_info.cert_type = GIT_CERT_X509;
|
|
363
|
+
st->cert_info.parent.cert_type = GIT_CERT_X509;
|
|
362
364
|
st->cert_info.data = encoded_cert;
|
|
363
365
|
st->cert_info.len = len;
|
|
364
366
|
|
|
365
|
-
*out =
|
|
367
|
+
*out = &st->cert_info.parent;
|
|
368
|
+
|
|
366
369
|
return 0;
|
|
367
370
|
}
|
|
368
371
|
|
data/vendor/libgit2/src/pack.c
CHANGED
data/vendor/libgit2/src/path.c
CHANGED
|
@@ -10,8 +10,9 @@
|
|
|
10
10
|
#include "repository.h"
|
|
11
11
|
#ifdef GIT_WIN32
|
|
12
12
|
#include "win32/posix.h"
|
|
13
|
-
#include "win32/
|
|
13
|
+
#include "win32/w32_buffer.h"
|
|
14
14
|
#include "win32/w32_util.h"
|
|
15
|
+
#include "win32/version.h"
|
|
15
16
|
#else
|
|
16
17
|
#include <dirent.h>
|
|
17
18
|
#endif
|
|
@@ -1085,7 +1086,7 @@ int git_path_direach(
|
|
|
1085
1086
|
#if defined(GIT_WIN32) && !defined(__MINGW32__)
|
|
1086
1087
|
|
|
1087
1088
|
/* Using _FIND_FIRST_EX_LARGE_FETCH may increase performance in Windows 7
|
|
1088
|
-
* and better.
|
|
1089
|
+
* and better.
|
|
1089
1090
|
*/
|
|
1090
1091
|
#ifndef FIND_FIRST_EX_LARGE_FETCH
|
|
1091
1092
|
# define FIND_FIRST_EX_LARGE_FETCH 2
|
|
@@ -1099,6 +1100,10 @@ int git_path_diriter_init(
|
|
|
1099
1100
|
git_win32_path path_filter;
|
|
1100
1101
|
git_buf hack = {0};
|
|
1101
1102
|
|
|
1103
|
+
static int is_win7_or_later = -1;
|
|
1104
|
+
if (is_win7_or_later < 0)
|
|
1105
|
+
is_win7_or_later = git_has_win32_version(6, 1, 0);
|
|
1106
|
+
|
|
1102
1107
|
assert(diriter && path);
|
|
1103
1108
|
|
|
1104
1109
|
memset(diriter, 0, sizeof(git_path_diriter));
|
|
@@ -1122,11 +1127,11 @@ int git_path_diriter_init(
|
|
|
1122
1127
|
|
|
1123
1128
|
diriter->handle = FindFirstFileExW(
|
|
1124
1129
|
path_filter,
|
|
1125
|
-
FindExInfoBasic,
|
|
1130
|
+
is_win7_or_later ? FindExInfoBasic : FindExInfoStandard,
|
|
1126
1131
|
&diriter->current,
|
|
1127
1132
|
FindExSearchNameMatch,
|
|
1128
1133
|
NULL,
|
|
1129
|
-
FIND_FIRST_EX_LARGE_FETCH);
|
|
1134
|
+
is_win7_or_later ? FIND_FIRST_EX_LARGE_FETCH : 0);
|
|
1130
1135
|
|
|
1131
1136
|
if (diriter->handle == INVALID_HANDLE_VALUE) {
|
|
1132
1137
|
giterr_set(GITERR_OS, "Could not open directory '%s'", path);
|
|
@@ -1671,3 +1676,19 @@ bool git_path_isvalid(
|
|
|
1671
1676
|
|
|
1672
1677
|
return verify_component(repo, start, (c - start), flags);
|
|
1673
1678
|
}
|
|
1679
|
+
|
|
1680
|
+
int git_path_normalize_slashes(git_buf *out, const char *path)
|
|
1681
|
+
{
|
|
1682
|
+
int error;
|
|
1683
|
+
char *p;
|
|
1684
|
+
|
|
1685
|
+
if ((error = git_buf_puts(out, path)) < 0)
|
|
1686
|
+
return error;
|
|
1687
|
+
|
|
1688
|
+
for (p = out->ptr; *p; p++) {
|
|
1689
|
+
if (*p == '\\')
|
|
1690
|
+
*p = '/';
|
|
1691
|
+
}
|
|
1692
|
+
|
|
1693
|
+
return 0;
|
|
1694
|
+
}
|
data/vendor/libgit2/src/path.h
CHANGED
|
@@ -319,7 +319,7 @@ extern int git_path_cmp(
|
|
|
319
319
|
* @param callback Function to invoke on each path. Passed the `payload`
|
|
320
320
|
* and the buffer containing the current path. The path should not
|
|
321
321
|
* be modified in any way. Return non-zero to stop iteration.
|
|
322
|
-
* @param
|
|
322
|
+
* @param payload Passed to fn as the first ath.
|
|
323
323
|
*/
|
|
324
324
|
extern int git_path_walk_up(
|
|
325
325
|
git_buf *pathbuf,
|
|
@@ -591,4 +591,9 @@ extern bool git_path_isvalid(
|
|
|
591
591
|
const char *path,
|
|
592
592
|
unsigned int flags);
|
|
593
593
|
|
|
594
|
+
/**
|
|
595
|
+
* Convert any backslashes into slashes
|
|
596
|
+
*/
|
|
597
|
+
int git_path_normalize_slashes(git_buf *out, const char *path);
|
|
598
|
+
|
|
594
599
|
#endif
|
data/vendor/libgit2/src/push.h
CHANGED
|
@@ -83,7 +83,7 @@ int git_push_add_refspec(git_push *push, const char *refspec);
|
|
|
83
83
|
* Update remote tips after a push
|
|
84
84
|
*
|
|
85
85
|
* @param push The push object
|
|
86
|
-
* @param
|
|
86
|
+
* @param callbacks the callbacks to use for this connection
|
|
87
87
|
*
|
|
88
88
|
* @return 0 or an error code
|
|
89
89
|
*/
|
|
@@ -100,6 +100,7 @@ int git_push_update_tips(git_push *push, const git_remote_callbacks *callbacks);
|
|
|
100
100
|
* order to find out which updates were accepted or rejected.
|
|
101
101
|
*
|
|
102
102
|
* @param push The push object
|
|
103
|
+
* @param callbacks the callbacks to use for this connection
|
|
103
104
|
*
|
|
104
105
|
* @return 0 or an error code
|
|
105
106
|
*/
|
|
@@ -117,6 +118,7 @@ int git_push_finish(git_push *push, const git_remote_callbacks *callbacks);
|
|
|
117
118
|
*
|
|
118
119
|
* @param push The push object
|
|
119
120
|
* @param cb The callback to call on each object
|
|
121
|
+
* @param data The payload passed to the callback
|
|
120
122
|
*
|
|
121
123
|
* @return 0 on success, non-zero callback return value, or error code
|
|
122
124
|
*/
|
data/vendor/libgit2/src/rebase.c
CHANGED
|
@@ -436,7 +436,7 @@ static int rebase_setupfiles_merge(git_rebase *rebase)
|
|
|
436
436
|
size_t i;
|
|
437
437
|
int error = 0;
|
|
438
438
|
|
|
439
|
-
if ((error = rebase_setupfile(rebase, END_FILE, -1, "%
|
|
439
|
+
if ((error = rebase_setupfile(rebase, END_FILE, -1, "%" PRIuZ "\n", git_array_size(rebase->operations))) < 0 ||
|
|
440
440
|
(error = rebase_setupfile(rebase, ONTO_NAME_FILE, -1, "%s\n", rebase->onto_name)) < 0)
|
|
441
441
|
goto done;
|
|
442
442
|
|
|
@@ -789,7 +789,7 @@ static int rebase_next_merge(
|
|
|
789
789
|
normalize_checkout_options_for_apply(&checkout_opts, rebase, current_commit);
|
|
790
790
|
|
|
791
791
|
if ((error = git_indexwriter_init_for_operation(&indexwriter, rebase->repo, &checkout_opts.checkout_strategy)) < 0 ||
|
|
792
|
-
(error = rebase_setupfile(rebase, MSGNUM_FILE, -1, "%
|
|
792
|
+
(error = rebase_setupfile(rebase, MSGNUM_FILE, -1, "%" PRIuZ "\n", rebase->current+1)) < 0 ||
|
|
793
793
|
(error = rebase_setupfile(rebase, CURRENT_FILE, -1, "%.*s\n", GIT_OID_HEXSZ, current_idstr)) < 0 ||
|
|
794
794
|
(error = git_merge_trees(&index, rebase->repo, parent_tree, head_tree, current_tree, NULL)) < 0 ||
|
|
795
795
|
(error = git_merge__check_result(rebase->repo, index)) < 0 ||
|
|
@@ -63,6 +63,8 @@ typedef struct refdb_fs_backend {
|
|
|
63
63
|
uint32_t direach_flags;
|
|
64
64
|
} refdb_fs_backend;
|
|
65
65
|
|
|
66
|
+
static int refdb_reflog_fs__delete(git_refdb_backend *_backend, const char *name);
|
|
67
|
+
|
|
66
68
|
static int packref_cmp(const void *a_, const void *b_)
|
|
67
69
|
{
|
|
68
70
|
const struct packref *a = a_, *b = b_;
|
|
@@ -1217,6 +1219,11 @@ static int refdb_fs_backend__delete(
|
|
|
1217
1219
|
if ((error = loose_lock(&file, backend, ref_name)) < 0)
|
|
1218
1220
|
return error;
|
|
1219
1221
|
|
|
1222
|
+
if ((error = refdb_reflog_fs__delete(_backend, ref_name)) < 0) {
|
|
1223
|
+
git_filebuf_cleanup(&file);
|
|
1224
|
+
return error;
|
|
1225
|
+
}
|
|
1226
|
+
|
|
1220
1227
|
return refdb_fs_backend__delete_tail(_backend, &file, ref_name, old_id, old_target);
|
|
1221
1228
|
}
|
|
1222
1229
|
|
data/vendor/libgit2/src/remote.c
CHANGED
|
@@ -153,7 +153,7 @@ static int get_check_cert(int *out, git_repository *repo)
|
|
|
153
153
|
* most specific to least specific. */
|
|
154
154
|
|
|
155
155
|
/* GIT_SSL_NO_VERIFY environment variable */
|
|
156
|
-
if ((val =
|
|
156
|
+
if ((val = p_getenv("GIT_SSL_NO_VERIFY")) != NULL)
|
|
157
157
|
return git_config_parse_bool(out, val);
|
|
158
158
|
|
|
159
159
|
/* http.sslVerify config setting */
|
|
@@ -759,7 +759,7 @@ int git_remote__get_http_proxy(git_remote *remote, bool use_ssl, char **proxy_ur
|
|
|
759
759
|
{
|
|
760
760
|
git_config *cfg;
|
|
761
761
|
git_config_entry *ce = NULL;
|
|
762
|
-
|
|
762
|
+
git_buf val = GIT_BUF_INIT;
|
|
763
763
|
int error;
|
|
764
764
|
|
|
765
765
|
assert(remote);
|
|
@@ -789,7 +789,7 @@ int git_remote__get_http_proxy(git_remote *remote, bool use_ssl, char **proxy_ur
|
|
|
789
789
|
return error;
|
|
790
790
|
|
|
791
791
|
if (ce && ce->value) {
|
|
792
|
-
|
|
792
|
+
*proxy_url = git__strdup(ce->value);
|
|
793
793
|
goto found;
|
|
794
794
|
}
|
|
795
795
|
}
|
|
@@ -797,19 +797,28 @@ int git_remote__get_http_proxy(git_remote *remote, bool use_ssl, char **proxy_ur
|
|
|
797
797
|
/* http.proxy config setting */
|
|
798
798
|
if ((error = git_config__lookup_entry(&ce, cfg, "http.proxy", false)) < 0)
|
|
799
799
|
return error;
|
|
800
|
+
|
|
800
801
|
if (ce && ce->value) {
|
|
801
|
-
|
|
802
|
+
*proxy_url = git__strdup(ce->value);
|
|
802
803
|
goto found;
|
|
803
804
|
}
|
|
804
805
|
|
|
805
806
|
/* HTTP_PROXY / HTTPS_PROXY environment variables */
|
|
806
|
-
|
|
807
|
+
error = git__getenv(&val, use_ssl ? "HTTPS_PROXY" : "HTTP_PROXY");
|
|
807
808
|
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
809
|
+
if (error < 0) {
|
|
810
|
+
if (error == GIT_ENOTFOUND) {
|
|
811
|
+
giterr_clear();
|
|
812
|
+
error = 0;
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
return error;
|
|
812
816
|
}
|
|
817
|
+
|
|
818
|
+
*proxy_url = git_buf_detach(&val);
|
|
819
|
+
|
|
820
|
+
found:
|
|
821
|
+
GITERR_CHECK_ALLOC(*proxy_url);
|
|
813
822
|
git_config_entry_free(ce);
|
|
814
823
|
|
|
815
824
|
return 0;
|
data/vendor/libgit2/src/stash.c
CHANGED
|
@@ -770,7 +770,7 @@ static int ensure_clean_index(git_repository *repo, git_index *index)
|
|
|
770
770
|
goto done;
|
|
771
771
|
|
|
772
772
|
if (git_diff_num_deltas(index_diff) > 0) {
|
|
773
|
-
giterr_set(GITERR_STASH, "%
|
|
773
|
+
giterr_set(GITERR_STASH, "%" PRIuZ " uncommitted changes exist in the index",
|
|
774
774
|
git_diff_num_deltas(index_diff));
|
|
775
775
|
error = GIT_EUNCOMMITTED;
|
|
776
776
|
}
|