rugged 0.23.2 → 0.23.3
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/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +12 -3
- data/vendor/libgit2/COPYING +46 -0
- data/vendor/libgit2/include/git2/config.h +4 -2
- data/vendor/libgit2/include/git2/cred_helpers.h +1 -1
- data/vendor/libgit2/include/git2/diff.h +0 -19
- data/vendor/libgit2/include/git2/errors.h +12 -0
- data/vendor/libgit2/include/git2/sys/filter.h +1 -4
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +2 -3
- data/vendor/libgit2/include/git2/transport.h +21 -14
- data/vendor/libgit2/include/git2/version.h +2 -2
- data/vendor/libgit2/src/blame.c +1 -1
- data/vendor/libgit2/src/blame_git.c +27 -7
- data/vendor/libgit2/src/blame_git.h +1 -1
- data/vendor/libgit2/src/branch.c +12 -1
- data/vendor/libgit2/src/checkout.c +2 -1
- data/vendor/libgit2/src/clone.c +2 -2
- data/vendor/libgit2/src/common.h +13 -13
- data/vendor/libgit2/src/curl_stream.c +8 -7
- data/vendor/libgit2/src/diff.c +0 -25
- data/vendor/libgit2/src/diff_driver.c +6 -7
- data/vendor/libgit2/src/diff_patch.c +4 -0
- data/vendor/libgit2/src/diff_xdiff.c +7 -0
- data/vendor/libgit2/src/diff_xdiff.h +5 -0
- data/vendor/libgit2/src/errors.c +40 -75
- data/vendor/libgit2/src/filter.c +2 -5
- data/vendor/libgit2/src/global.c +9 -25
- data/vendor/libgit2/src/global.h +0 -1
- data/vendor/libgit2/src/index.c +3 -3
- data/vendor/libgit2/src/iterator.c +2 -2
- data/vendor/libgit2/src/merge.c +0 -56
- data/vendor/libgit2/src/merge_file.c +76 -22
- data/vendor/libgit2/src/openssl_stream.c +2 -3
- data/vendor/libgit2/src/path.c +0 -16
- data/vendor/libgit2/src/path.h +0 -5
- data/vendor/libgit2/src/refdb_fs.c +0 -7
- data/vendor/libgit2/src/remote.c +9 -18
- data/vendor/libgit2/src/stransport_stream.c +1 -1
- data/vendor/libgit2/src/submodule.c +7 -3
- data/vendor/libgit2/src/sysdir.c +8 -22
- data/vendor/libgit2/src/transports/http.c +9 -1
- data/vendor/libgit2/src/transports/smart_protocol.c +1 -1
- data/vendor/libgit2/src/transports/ssh.c +2 -2
- data/vendor/libgit2/src/transports/winhttp.c +1 -1
- data/vendor/libgit2/src/util.c +0 -48
- data/vendor/libgit2/src/util.h +5 -13
- data/vendor/libgit2/src/win32/posix_w32.c +0 -2
- data/vendor/libgit2/src/xdiff/xdiff.h +5 -3
- data/vendor/libgit2/src/xdiff/xdiffi.c +8 -4
- data/vendor/libgit2/src/xdiff/xhistogram.c +4 -2
- data/vendor/libgit2/src/xdiff/xmerge.c +98 -44
- metadata +76 -81
- data/vendor/libgit2/src/merge_file.h +0 -14
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +0 -343
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -93
- data/vendor/libgit2/src/win32/w32_stack.c +0 -192
- data/vendor/libgit2/src/win32/w32_stack.h +0 -138
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4df2826e70f1fb3fb4b440f2fc459b0d9fca6511
|
4
|
+
data.tar.gz: 69765b8342fc60b5e78244b6bd5316c4d2f0d8bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 981a484bf2d8fe7d7aa706304980809be6fdd2b179bbd8c01832bb7f8eac485487cfd1a608d104b798079169012d78738ded561824301278830b14846f70dc14
|
7
|
+
data.tar.gz: c4d7f8b3670e499c6878586d4aa1564e8e2cbde7ebaf72e4548bc3be0ea4897231227a852645243f1cdd3a79154f5fc3fe47c334a85f25495ec08607bf648f34
|
data/lib/rugged/version.rb
CHANGED
@@ -152,8 +152,18 @@ STRING(REGEX REPLACE "^.*LIBGIT2_SOVERSION ([0-9]+)$" "\\1" LIBGIT2_SOVERSION "$
|
|
152
152
|
INCLUDE_DIRECTORIES(src include)
|
153
153
|
|
154
154
|
IF (SECURITY_FOUND)
|
155
|
-
|
156
|
-
|
155
|
+
# OS X 10.7 and older do not have some functions we use, fall back to OpenSSL there
|
156
|
+
CHECK_LIBRARY_EXISTS("${SECURITY_DIRS}" SSLCreateContext "Security/SecureTransport.h" HAVE_NEWER_SECURITY)
|
157
|
+
IF (HAVE_NEWER_SECURITY)
|
158
|
+
MESSAGE("-- Found Security ${SECURITY_DIRS}")
|
159
|
+
LIST(APPEND LIBGIT2_PC_LIBS "-framework Security")
|
160
|
+
ELSE()
|
161
|
+
MESSAGE("-- Security framework is too old, falling back to OpenSSL")
|
162
|
+
SET(SECURITY_FOUND "NO")
|
163
|
+
SET(SECURITY_DIRS "")
|
164
|
+
SET(SECURITY_DIR "")
|
165
|
+
SET(USE_OPENSSL "ON")
|
166
|
+
ENDIF()
|
157
167
|
ENDIF()
|
158
168
|
|
159
169
|
IF (COREFOUNDATION_FOUND)
|
@@ -336,7 +346,6 @@ IF (MSVC)
|
|
336
346
|
|
337
347
|
IF (MSVC_CRTDBG)
|
338
348
|
SET(CRT_FLAG_DEBUG "${CRT_FLAG_DEBUG} /DGIT_MSVC_CRTDBG")
|
339
|
-
SET(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES}" "Dbghelp.lib")
|
340
349
|
ENDIF()
|
341
350
|
|
342
351
|
# /Zi - Create debugging information
|
data/vendor/libgit2/COPYING
CHANGED
@@ -407,6 +407,52 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
407
407
|
----------------------------------------------------------------------
|
408
408
|
|
409
409
|
The regex library (deps/regex/) is licensed under the GNU LGPL
|
410
|
+
(available at the end of this file).
|
411
|
+
|
412
|
+
Definitions for data structures and routines for the regular
|
413
|
+
expression library.
|
414
|
+
|
415
|
+
Copyright (C) 1985,1989-93,1995-98,2000,2001,2002,2003,2005,2006,2008
|
416
|
+
Free Software Foundation, Inc.
|
417
|
+
This file is part of the GNU C Library.
|
418
|
+
|
419
|
+
The GNU C Library is free software; you can redistribute it and/or
|
420
|
+
modify it under the terms of the GNU Lesser General Public
|
421
|
+
License as published by the Free Software Foundation; either
|
422
|
+
version 2.1 of the License, or (at your option) any later version.
|
423
|
+
|
424
|
+
The GNU C Library is distributed in the hope that it will be useful,
|
425
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
426
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
427
|
+
Lesser General Public License for more details.
|
428
|
+
|
429
|
+
You should have received a copy of the GNU Lesser General Public
|
430
|
+
License along with the GNU C Library; if not, write to the Free
|
431
|
+
Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
432
|
+
02110-1301 USA.
|
433
|
+
|
434
|
+
----------------------------------------------------------------------
|
435
|
+
|
436
|
+
The bundled winhttp definition files (deps/winhttp/) are licensed under
|
437
|
+
the GNU LGPL (available at the end of this file).
|
438
|
+
|
439
|
+
Copyright (C) 2007 Francois Gouget
|
440
|
+
|
441
|
+
This library is free software; you can redistribute it and/or
|
442
|
+
modify it under the terms of the GNU Lesser General Public
|
443
|
+
License as published by the Free Software Foundation; either
|
444
|
+
version 2.1 of the License, or (at your option) any later version.
|
445
|
+
|
446
|
+
This library is distributed in the hope that it will be useful,
|
447
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
448
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
449
|
+
Lesser General Public License for more details.
|
450
|
+
|
451
|
+
You should have received a copy of the GNU Lesser General Public
|
452
|
+
License along with this library; if not, write to the Free Software
|
453
|
+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
454
|
+
|
455
|
+
----------------------------------------------------------------------
|
410
456
|
|
411
457
|
GNU LESSER GENERAL PUBLIC LICENSE
|
412
458
|
Version 2.1, February 1999
|
@@ -171,6 +171,9 @@ GIT_EXTERN(int) git_config_new(git_config **out);
|
|
171
171
|
* parsed; it's expected to be a native Git config file following
|
172
172
|
* the default Git config syntax (see man git-config).
|
173
173
|
*
|
174
|
+
* If the file does not exist, the file will still be added and it
|
175
|
+
* will be created the first time we write to it.
|
176
|
+
*
|
174
177
|
* Note that the configuration object will free the file
|
175
178
|
* automatically.
|
176
179
|
*
|
@@ -202,8 +205,7 @@ GIT_EXTERN(int) git_config_add_file_ondisk(
|
|
202
205
|
*
|
203
206
|
* @param out The configuration instance to create
|
204
207
|
* @param path Path to the on-disk file to open
|
205
|
-
* @return 0 on success,
|
206
|
-
* or an error code
|
208
|
+
* @return 0 on success, or an error code
|
207
209
|
*/
|
208
210
|
GIT_EXTERN(int) git_config_open_ondisk(git_config **out, const char *path);
|
209
211
|
|
@@ -34,7 +34,7 @@ typedef struct git_cred_userpass_payload {
|
|
34
34
|
*
|
35
35
|
* @param cred The newly created credential object.
|
36
36
|
* @param url The resource for which we are demanding a credential.
|
37
|
-
* @param user_from_url The username that was embedded in a "user
|
37
|
+
* @param user_from_url The username that was embedded in a "user\@host"
|
38
38
|
* remote url, or NULL if not included.
|
39
39
|
* @param allowed_types A bitmask stating which cred types are OK to return.
|
40
40
|
* @param payload The payload provided when specifying this callback. (This is
|
@@ -835,25 +835,6 @@ GIT_EXTERN(int) git_diff_tree_to_workdir_with_index(
|
|
835
835
|
git_tree *old_tree,
|
836
836
|
const git_diff_options *opts); /**< can be NULL for defaults */
|
837
837
|
|
838
|
-
/**
|
839
|
-
* Create a diff with the difference between two index objects.
|
840
|
-
*
|
841
|
-
* The first index will be used for the "old_file" side of the delta and the
|
842
|
-
* second index will be used for the "new_file" side of the delta.
|
843
|
-
*
|
844
|
-
* @param diff Output pointer to a git_diff pointer to be allocated.
|
845
|
-
* @param repo The repository containing the indexes.
|
846
|
-
* @param old_index A git_index object to diff from.
|
847
|
-
* @param new_index A git_index object to diff to.
|
848
|
-
* @param opts Structure with options to influence diff or NULL for defaults.
|
849
|
-
*/
|
850
|
-
GIT_EXTERN(int) git_diff_index_to_index(
|
851
|
-
git_diff **diff,
|
852
|
-
git_repository *repo,
|
853
|
-
git_index *old_index,
|
854
|
-
git_index *new_index,
|
855
|
-
const git_diff_options *opts); /**< can be NULL for defaults */
|
856
|
-
|
857
838
|
/**
|
858
839
|
* Merge one diff into another.
|
859
840
|
*
|
@@ -113,6 +113,18 @@ GIT_EXTERN(const git_error *) giterr_last(void);
|
|
113
113
|
*/
|
114
114
|
GIT_EXTERN(void) giterr_clear(void);
|
115
115
|
|
116
|
+
/**
|
117
|
+
* Get the last error data and clear it.
|
118
|
+
*
|
119
|
+
* This copies the last error into the given `git_error` struct
|
120
|
+
* and returns 0 if the copy was successful, leaving the error
|
121
|
+
* cleared as if `giterr_clear` had been called.
|
122
|
+
*
|
123
|
+
* If there was no existing error in the library, -1 will be returned
|
124
|
+
* and the contents of `cpy` will be left unmodified.
|
125
|
+
*/
|
126
|
+
GIT_EXTERN(int) giterr_detach(git_error *cpy);
|
127
|
+
|
116
128
|
/**
|
117
129
|
* Set the error message string for this thread.
|
118
130
|
*
|
@@ -240,10 +240,7 @@ typedef void (*git_filter_cleanup_fn)(
|
|
240
240
|
* for this filter (e.g. "eol crlf text"). If the attribute name is bare,
|
241
241
|
* it will be simply loaded and passed to the `check` callback. If it has
|
242
242
|
* a value (i.e. "name=value"), the attribute must match that value for
|
243
|
-
* the filter to be applied.
|
244
|
-
* in which case the filter will be invoked for any value for the given
|
245
|
-
* attribute name. See the attribute parameter of the `check` callback
|
246
|
-
* for the attribute value that was specified.
|
243
|
+
* the filter to be applied.
|
247
244
|
*
|
248
245
|
* The `initialize`, `shutdown`, `check`, `apply`, and `cleanup` callbacks
|
249
246
|
* are all documented above with the respective function pointer typedefs.
|
@@ -103,9 +103,8 @@ struct git_refdb_backend {
|
|
103
103
|
const git_signature *who, const char *message);
|
104
104
|
|
105
105
|
/**
|
106
|
-
* Deletes the given reference
|
107
|
-
*
|
108
|
-
* function.
|
106
|
+
* Deletes the given reference from the refdb. A refdb implementation
|
107
|
+
* must provide this function.
|
109
108
|
*/
|
110
109
|
int (*del)(git_refdb_backend *backend, const char *ref_name, const git_oid *old_id, const char *old_target);
|
111
110
|
|
@@ -37,32 +37,39 @@ typedef enum {
|
|
37
37
|
* Hostkey information taken from libssh2
|
38
38
|
*/
|
39
39
|
typedef struct {
|
40
|
-
git_cert parent;
|
41
|
-
|
42
40
|
/**
|
43
|
-
*
|
44
|
-
* `
|
41
|
+
* Type of certificate. Here to share the header with
|
42
|
+
* `git_cert`.
|
45
43
|
*/
|
44
|
+
git_cert_t cert_type;
|
45
|
+
/**
|
46
|
+
* A hostkey type from libssh2, either
|
47
|
+
* `GIT_CERT_SSH_MD5` or `GIT_CERT_SSH_SHA1`
|
48
|
+
*/
|
46
49
|
git_cert_ssh_t type;
|
47
50
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
51
|
+
/**
|
52
|
+
* Hostkey hash. If type has `GIT_CERT_SSH_MD5` set, this will
|
53
|
+
* have the MD5 hash of the hostkey.
|
54
|
+
*/
|
52
55
|
unsigned char hash_md5[16];
|
53
56
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
57
|
+
/**
|
58
|
+
* Hostkey hash. If type has `GIT_CERT_SSH_SHA1` set, this will
|
59
|
+
* have the SHA-1 hash of the hostkey.
|
60
|
+
*/
|
61
|
+
unsigned char hash_sha1[20];
|
59
62
|
} git_cert_hostkey;
|
60
63
|
|
61
64
|
/**
|
62
65
|
* X.509 certificate information
|
63
66
|
*/
|
64
67
|
typedef struct {
|
65
|
-
|
68
|
+
/**
|
69
|
+
* Type of certificate. Here to share the header with
|
70
|
+
* `git_cert`.
|
71
|
+
*/
|
72
|
+
git_cert_t cert_type;
|
66
73
|
/**
|
67
74
|
* Pointer to the X.509 certificate data
|
68
75
|
*/
|
@@ -7,10 +7,10 @@
|
|
7
7
|
#ifndef INCLUDE_git_version_h__
|
8
8
|
#define INCLUDE_git_version_h__
|
9
9
|
|
10
|
-
#define LIBGIT2_VERSION "0.23.
|
10
|
+
#define LIBGIT2_VERSION "0.23.3"
|
11
11
|
#define LIBGIT2_VER_MAJOR 0
|
12
12
|
#define LIBGIT2_VER_MINOR 23
|
13
|
-
#define LIBGIT2_VER_REVISION
|
13
|
+
#define LIBGIT2_VER_REVISION 3
|
14
14
|
#define LIBGIT2_VER_PATCH 0
|
15
15
|
|
16
16
|
#define LIBGIT2_SOVERSION 23
|
data/vendor/libgit2/src/blame.c
CHANGED
@@ -9,6 +9,7 @@
|
|
9
9
|
#include "commit.h"
|
10
10
|
#include "blob.h"
|
11
11
|
#include "xdiff/xinclude.h"
|
12
|
+
#include "diff_xdiff.h"
|
12
13
|
|
13
14
|
/*
|
14
15
|
* Origin is refcounted and usually we keep the blob contents to be
|
@@ -351,6 +352,13 @@ static int diff_hunks(mmfile_t file_a, mmfile_t file_b, void *cb_data)
|
|
351
352
|
ecb.priv = cb_data;
|
352
353
|
|
353
354
|
trim_common_tail(&file_a, &file_b, 0);
|
355
|
+
|
356
|
+
if (file_a.size > GIT_XDIFF_MAX_SIZE ||
|
357
|
+
file_b.size > GIT_XDIFF_MAX_SIZE) {
|
358
|
+
giterr_set(GITERR_INVALID, "file too large to blame");
|
359
|
+
return -1;
|
360
|
+
}
|
361
|
+
|
354
362
|
return xdl_diff(&file_a, &file_b, &xpp, &xecfg, &ecb);
|
355
363
|
}
|
356
364
|
|
@@ -379,7 +387,9 @@ static int pass_blame_to_parent(
|
|
379
387
|
fill_origin_blob(parent, &file_p);
|
380
388
|
fill_origin_blob(target, &file_o);
|
381
389
|
|
382
|
-
diff_hunks(file_p, file_o, &d)
|
390
|
+
if (diff_hunks(file_p, file_o, &d) < 0)
|
391
|
+
return -1;
|
392
|
+
|
383
393
|
/* The reset (i.e. anything after tlno) are the same as the parent */
|
384
394
|
blame_chunk(blame, d.tlno, d.plno, last_in_target, target, parent);
|
385
395
|
|
@@ -477,12 +487,13 @@ static void pass_whole_blame(git_blame *blame,
|
|
477
487
|
}
|
478
488
|
}
|
479
489
|
|
480
|
-
static
|
490
|
+
static int pass_blame(git_blame *blame, git_blame__origin *origin, uint32_t opt)
|
481
491
|
{
|
482
492
|
git_commit *commit = origin->commit;
|
483
493
|
int i, num_parents;
|
484
494
|
git_blame__origin *sg_buf[16];
|
485
495
|
git_blame__origin *porigin, **sg_origin = sg_buf;
|
496
|
+
int ret, error = 0;
|
486
497
|
|
487
498
|
num_parents = git_commit_parentcount(commit);
|
488
499
|
if (!git_oid_cmp(git_commit_id(commit), &blame->options.oldest_commit))
|
@@ -540,8 +551,13 @@ static void pass_blame(git_blame *blame, git_blame__origin *origin, uint32_t opt
|
|
540
551
|
origin_incref(porigin);
|
541
552
|
origin->previous = porigin;
|
542
553
|
}
|
543
|
-
|
554
|
+
|
555
|
+
if ((ret = pass_blame_to_parent(blame, origin, porigin)) != 0) {
|
556
|
+
if (ret < 0)
|
557
|
+
error = -1;
|
558
|
+
|
544
559
|
goto finish;
|
560
|
+
}
|
545
561
|
}
|
546
562
|
|
547
563
|
/* TODO: optionally find moves in parents' files */
|
@@ -554,7 +570,7 @@ finish:
|
|
554
570
|
origin_decref(sg_origin[i]);
|
555
571
|
if (sg_origin != sg_buf)
|
556
572
|
git__free(sg_origin);
|
557
|
-
return;
|
573
|
+
return error;
|
558
574
|
}
|
559
575
|
|
560
576
|
/*
|
@@ -583,7 +599,7 @@ static void coalesce(git_blame *blame)
|
|
583
599
|
}
|
584
600
|
}
|
585
601
|
|
586
|
-
|
602
|
+
int git_blame__like_git(git_blame *blame, uint32_t opt)
|
587
603
|
{
|
588
604
|
while (true) {
|
589
605
|
git_blame__entry *ent;
|
@@ -594,11 +610,13 @@ void git_blame__like_git(git_blame *blame, uint32_t opt)
|
|
594
610
|
if (!ent->guilty)
|
595
611
|
suspect = ent->suspect;
|
596
612
|
if (!suspect)
|
597
|
-
return; /* all done */
|
613
|
+
return 0; /* all done */
|
598
614
|
|
599
615
|
/* We'll use this suspect later in the loop, so hold on to it for now. */
|
600
616
|
origin_incref(suspect);
|
601
|
-
|
617
|
+
|
618
|
+
if (pass_blame(blame, suspect, opt) < 0)
|
619
|
+
return -1;
|
602
620
|
|
603
621
|
/* Take responsibility for the remaining entries */
|
604
622
|
for (ent = blame->ent; ent; ent = ent->next) {
|
@@ -613,6 +631,8 @@ void git_blame__like_git(git_blame *blame, uint32_t opt)
|
|
613
631
|
}
|
614
632
|
|
615
633
|
coalesce(blame);
|
634
|
+
|
635
|
+
return 0;
|
616
636
|
}
|
617
637
|
|
618
638
|
void git_blame__free_entry(git_blame__entry *ent)
|
data/vendor/libgit2/src/branch.c
CHANGED
@@ -155,7 +155,18 @@ int git_branch_delete(git_reference *branch)
|
|
155
155
|
git_reference_owner(branch), git_buf_cstr(&config_section), NULL) < 0)
|
156
156
|
goto on_error;
|
157
157
|
|
158
|
-
|
158
|
+
if (git_reference_delete(branch) < 0)
|
159
|
+
goto on_error;
|
160
|
+
|
161
|
+
if ((error = git_reflog_delete(git_reference_owner(branch), git_reference_name(branch))) < 0) {
|
162
|
+
if (error == GIT_ENOTFOUND) {
|
163
|
+
giterr_clear();
|
164
|
+
error = 0;
|
165
|
+
}
|
166
|
+
goto on_error;
|
167
|
+
}
|
168
|
+
|
169
|
+
error = 0;
|
159
170
|
|
160
171
|
on_error:
|
161
172
|
git_buf_free(&config_section);
|
@@ -18,6 +18,7 @@
|
|
18
18
|
#include "git2/submodule.h"
|
19
19
|
#include "git2/sys/index.h"
|
20
20
|
#include "git2/sys/filter.h"
|
21
|
+
#include "git2/merge.h"
|
21
22
|
|
22
23
|
#include "refs.h"
|
23
24
|
#include "repository.h"
|
@@ -27,7 +28,7 @@
|
|
27
28
|
#include "diff.h"
|
28
29
|
#include "pathspec.h"
|
29
30
|
#include "buf_text.h"
|
30
|
-
#include "
|
31
|
+
#include "diff_xdiff.h"
|
31
32
|
#include "path.h"
|
32
33
|
#include "attr.h"
|
33
34
|
#include "pool.h"
|
data/vendor/libgit2/src/clone.c
CHANGED
@@ -440,14 +440,14 @@ int git_clone(
|
|
440
440
|
|
441
441
|
if (error != 0) {
|
442
442
|
git_error_state last_error = {0};
|
443
|
-
|
443
|
+
giterr_capture(&last_error, error);
|
444
444
|
|
445
445
|
git_repository_free(repo);
|
446
446
|
repo = NULL;
|
447
447
|
|
448
448
|
(void)git_futils_rmdir_r(local_path, NULL, rmdir_flags);
|
449
449
|
|
450
|
-
|
450
|
+
giterr_restore(&last_error);
|
451
451
|
}
|
452
452
|
|
453
453
|
*out = repo;
|