rugged 1.1.1 → 1.2.0
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/LICENSE +1 -0
- data/README.md +1 -1
- data/ext/rugged/rugged.c +7 -4
- data/ext/rugged/rugged_object.c +1 -1
- data/ext/rugged/rugged_repo.c +3 -3
- data/lib/rugged/repository.rb +2 -2
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +11 -6
- data/vendor/libgit2/COPYING +109 -1
- data/vendor/libgit2/cmake/Findfutimens.cmake +14 -0
- data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +4 -0
- data/vendor/libgit2/cmake/SelectHashes.cmake +1 -0
- data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +101 -0
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +17 -5
- data/vendor/libgit2/deps/ntlmclient/crypt.h +14 -9
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +20 -20
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +3 -3
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +37 -36
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +4 -3
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +178 -51
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +74 -5
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +150 -118
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +13 -9
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +16 -3
- data/vendor/libgit2/deps/ntlmclient/unicode.h +10 -4
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +16 -27
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.h +20 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +28 -52
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.h +22 -0
- data/vendor/libgit2/include/git2/attr.h +89 -0
- data/vendor/libgit2/include/git2/blame.h +93 -42
- data/vendor/libgit2/include/git2/blob.h +14 -2
- data/vendor/libgit2/include/git2/branch.h +25 -0
- data/vendor/libgit2/include/git2/cert.h +42 -5
- data/vendor/libgit2/include/git2/checkout.h +28 -12
- data/vendor/libgit2/include/git2/commit.h +35 -19
- data/vendor/libgit2/include/git2/common.h +14 -4
- data/vendor/libgit2/include/git2/deprecated.h +206 -6
- data/vendor/libgit2/include/git2/diff.h +34 -19
- data/vendor/libgit2/include/git2/errors.h +6 -6
- data/vendor/libgit2/include/git2/filter.h +57 -17
- data/vendor/libgit2/include/git2/graph.h +20 -2
- data/vendor/libgit2/include/git2/index.h +2 -2
- data/vendor/libgit2/include/git2/odb.h +29 -0
- data/vendor/libgit2/include/git2/patch.h +8 -0
- data/vendor/libgit2/include/git2/rebase.h +25 -1
- data/vendor/libgit2/include/git2/refs.h +6 -2
- data/vendor/libgit2/include/git2/remote.h +59 -6
- data/vendor/libgit2/include/git2/revparse.h +5 -5
- data/vendor/libgit2/include/git2/status.h +115 -59
- data/vendor/libgit2/include/git2/submodule.h +9 -0
- data/vendor/libgit2/include/git2/sys/commit_graph.h +174 -0
- data/vendor/libgit2/include/git2/sys/filter.h +49 -28
- data/vendor/libgit2/include/git2/sys/midx.h +74 -0
- data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -0
- data/vendor/libgit2/include/git2/sys/transport.h +1 -0
- data/vendor/libgit2/include/git2/tag.h +12 -0
- data/vendor/libgit2/include/git2/tree.h +0 -14
- data/vendor/libgit2/include/git2/types.h +9 -0
- data/vendor/libgit2/include/git2/version.h +4 -4
- data/vendor/libgit2/include/git2/worktree.h +1 -0
- data/vendor/libgit2/src/CMakeLists.txt +25 -4
- data/vendor/libgit2/src/alloc.c +21 -8
- data/vendor/libgit2/src/allocators/failalloc.c +92 -0
- data/vendor/libgit2/src/allocators/failalloc.h +23 -0
- data/vendor/libgit2/src/allocators/stdalloc.c +41 -10
- data/vendor/libgit2/src/allocators/win32_leakcheck.c +118 -0
- data/vendor/libgit2/src/allocators/{win32_crtdbg.h → win32_leakcheck.h} +3 -3
- data/vendor/libgit2/src/annotated_commit.c +21 -9
- data/vendor/libgit2/src/apply.c +16 -7
- data/vendor/libgit2/src/array.h +11 -11
- data/vendor/libgit2/src/attr.c +181 -74
- data/vendor/libgit2/src/attr_file.c +84 -39
- data/vendor/libgit2/src/attr_file.h +32 -11
- data/vendor/libgit2/src/attrcache.c +42 -37
- data/vendor/libgit2/src/attrcache.h +4 -5
- data/vendor/libgit2/src/blame.c +11 -5
- data/vendor/libgit2/src/blob.c +35 -24
- data/vendor/libgit2/src/branch.c +69 -17
- data/vendor/libgit2/src/buffer.c +334 -25
- data/vendor/libgit2/src/buffer.h +153 -2
- data/vendor/libgit2/src/cache.c +2 -2
- data/vendor/libgit2/src/cache.h +7 -7
- data/vendor/libgit2/src/cc-compat.h +10 -2
- data/vendor/libgit2/src/checkout.c +48 -26
- data/vendor/libgit2/src/cherrypick.c +6 -2
- data/vendor/libgit2/src/clone.c +41 -47
- data/vendor/libgit2/src/commit.c +41 -28
- data/vendor/libgit2/src/commit_graph.c +1209 -0
- data/vendor/libgit2/src/commit_graph.h +162 -0
- data/vendor/libgit2/src/commit_list.c +46 -0
- data/vendor/libgit2/src/commit_list.h +2 -0
- data/vendor/libgit2/src/common.h +25 -2
- data/vendor/libgit2/src/config.c +37 -15
- data/vendor/libgit2/src/config_cache.c +5 -3
- data/vendor/libgit2/src/config_file.c +16 -8
- data/vendor/libgit2/src/config_parse.c +4 -6
- data/vendor/libgit2/src/crlf.c +16 -6
- data/vendor/libgit2/src/date.c +4 -3
- data/vendor/libgit2/src/delta.c +1 -1
- data/vendor/libgit2/src/describe.c +6 -3
- data/vendor/libgit2/src/diff.c +11 -8
- data/vendor/libgit2/src/diff_driver.c +21 -17
- data/vendor/libgit2/src/diff_file.c +2 -6
- data/vendor/libgit2/src/diff_generate.c +46 -17
- data/vendor/libgit2/src/diff_print.c +19 -6
- data/vendor/libgit2/src/diff_stats.c +7 -5
- data/vendor/libgit2/src/diff_tform.c +9 -8
- data/vendor/libgit2/src/diff_xdiff.c +4 -2
- data/vendor/libgit2/src/diff_xdiff.h +1 -1
- data/vendor/libgit2/src/errors.c +24 -19
- data/vendor/libgit2/src/features.h.in +5 -1
- data/vendor/libgit2/src/fetch.c +5 -2
- data/vendor/libgit2/src/fetchhead.c +8 -4
- data/vendor/libgit2/src/filebuf.c +9 -7
- data/vendor/libgit2/src/filter.c +206 -110
- data/vendor/libgit2/src/filter.h +24 -5
- data/vendor/libgit2/src/futils.c +5 -5
- data/vendor/libgit2/src/futils.h +1 -1
- data/vendor/libgit2/src/graph.c +64 -9
- data/vendor/libgit2/src/hash/sha1/collisiondetect.c +3 -3
- data/vendor/libgit2/src/hash/sha1/common_crypto.c +3 -3
- data/vendor/libgit2/src/hash/sha1/generic.h +1 -1
- data/vendor/libgit2/src/hash/sha1/mbedtls.c +12 -12
- data/vendor/libgit2/src/hash/sha1/openssl.c +3 -3
- data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +0 -2
- data/vendor/libgit2/src/hash/sha1/win32.c +15 -11
- data/vendor/libgit2/src/hash.c +16 -13
- data/vendor/libgit2/src/hash.h +1 -1
- data/vendor/libgit2/src/hashsig.c +23 -10
- data/vendor/libgit2/src/ident.c +13 -3
- data/vendor/libgit2/src/ignore.c +35 -19
- data/vendor/libgit2/src/index.c +106 -70
- data/vendor/libgit2/src/index.h +1 -1
- data/vendor/libgit2/src/indexer.c +31 -29
- data/vendor/libgit2/src/integer.h +64 -2
- data/vendor/libgit2/src/iterator.c +36 -24
- data/vendor/libgit2/src/iterator.h +1 -1
- data/vendor/libgit2/src/khash.h +2 -11
- data/vendor/libgit2/src/{settings.c → libgit2.c} +117 -50
- data/vendor/libgit2/src/libgit2.h +15 -0
- data/vendor/libgit2/src/mailmap.c +23 -10
- data/vendor/libgit2/src/map.h +3 -3
- data/vendor/libgit2/src/merge.c +70 -30
- data/vendor/libgit2/src/merge.h +2 -1
- data/vendor/libgit2/src/merge_driver.c +19 -13
- data/vendor/libgit2/src/merge_file.c +11 -3
- data/vendor/libgit2/src/message.c +3 -1
- data/vendor/libgit2/src/midx.c +471 -10
- data/vendor/libgit2/src/midx.h +28 -1
- data/vendor/libgit2/src/mwindow.c +103 -59
- data/vendor/libgit2/src/mwindow.h +3 -3
- data/vendor/libgit2/src/net.c +127 -3
- data/vendor/libgit2/src/net.h +16 -2
- data/vendor/libgit2/src/netops.c +6 -4
- data/vendor/libgit2/src/netops.h +2 -2
- data/vendor/libgit2/src/notes.c +10 -10
- data/vendor/libgit2/src/object.c +22 -14
- data/vendor/libgit2/src/odb.c +285 -48
- data/vendor/libgit2/src/odb.h +16 -2
- data/vendor/libgit2/src/odb_loose.c +28 -18
- data/vendor/libgit2/src/odb_mempack.c +1 -1
- data/vendor/libgit2/src/odb_pack.c +391 -114
- data/vendor/libgit2/src/oid.c +5 -4
- data/vendor/libgit2/src/pack-objects.c +54 -48
- data/vendor/libgit2/src/pack.c +329 -119
- data/vendor/libgit2/src/pack.h +25 -7
- data/vendor/libgit2/src/patch.c +14 -7
- data/vendor/libgit2/src/patch_generate.c +2 -2
- data/vendor/libgit2/src/patch_parse.c +2 -1
- data/vendor/libgit2/src/path.c +98 -53
- data/vendor/libgit2/src/path.h +79 -6
- data/vendor/libgit2/src/pathspec.c +8 -8
- data/vendor/libgit2/src/pool.c +13 -7
- data/vendor/libgit2/src/posix.c +11 -3
- data/vendor/libgit2/src/reader.c +10 -6
- data/vendor/libgit2/src/rebase.c +93 -49
- data/vendor/libgit2/src/refdb.c +30 -13
- data/vendor/libgit2/src/refdb_fs.c +121 -69
- data/vendor/libgit2/src/reflog.c +19 -14
- data/vendor/libgit2/src/refs.c +76 -41
- data/vendor/libgit2/src/refspec.c +32 -12
- data/vendor/libgit2/src/remote.c +272 -102
- data/vendor/libgit2/src/remote.h +2 -1
- data/vendor/libgit2/src/repository.c +176 -103
- data/vendor/libgit2/src/repository.h +12 -1
- data/vendor/libgit2/src/reset.c +7 -6
- data/vendor/libgit2/src/revert.c +6 -2
- data/vendor/libgit2/src/revparse.c +14 -9
- data/vendor/libgit2/src/revwalk.c +32 -15
- data/vendor/libgit2/src/runtime.c +162 -0
- data/vendor/libgit2/src/runtime.h +62 -0
- data/vendor/libgit2/src/settings.h +11 -0
- data/vendor/libgit2/src/signature.c +6 -5
- data/vendor/libgit2/src/sortedcache.h +10 -8
- data/vendor/libgit2/src/stash.c +3 -1
- data/vendor/libgit2/src/status.c +7 -4
- data/vendor/libgit2/src/strarray.c +2 -1
- data/vendor/libgit2/src/streams/mbedtls.c +14 -17
- data/vendor/libgit2/src/streams/mbedtls.h +1 -1
- data/vendor/libgit2/src/streams/openssl.c +101 -201
- data/vendor/libgit2/src/streams/openssl.h +9 -1
- data/vendor/libgit2/src/streams/openssl_dynamic.c +309 -0
- data/vendor/libgit2/src/streams/openssl_dynamic.h +348 -0
- data/vendor/libgit2/src/streams/openssl_legacy.c +203 -0
- data/vendor/libgit2/src/streams/openssl_legacy.h +63 -0
- data/vendor/libgit2/src/streams/registry.c +5 -6
- data/vendor/libgit2/src/streams/socket.c +6 -2
- data/vendor/libgit2/src/streams/stransport.c +6 -3
- data/vendor/libgit2/src/streams/tls.c +5 -3
- data/vendor/libgit2/src/submodule.c +128 -62
- data/vendor/libgit2/src/submodule.h +9 -9
- data/vendor/libgit2/src/sysdir.c +4 -6
- data/vendor/libgit2/src/tag.c +47 -11
- data/vendor/libgit2/src/thread.c +140 -0
- data/vendor/libgit2/src/thread.h +479 -0
- data/vendor/libgit2/src/threadstate.c +83 -0
- data/vendor/libgit2/src/threadstate.h +24 -0
- data/vendor/libgit2/src/trace.c +2 -2
- data/vendor/libgit2/src/trace.h +17 -13
- data/vendor/libgit2/src/transaction.c +19 -8
- data/vendor/libgit2/src/transport.c +3 -3
- data/vendor/libgit2/src/transports/auth.c +1 -1
- data/vendor/libgit2/src/transports/auth_negotiate.c +11 -4
- data/vendor/libgit2/src/transports/auth_ntlm.c +10 -6
- data/vendor/libgit2/src/transports/credential.c +15 -7
- data/vendor/libgit2/src/transports/git.c +1 -3
- data/vendor/libgit2/src/transports/http.c +19 -17
- data/vendor/libgit2/src/transports/http.h +1 -0
- data/vendor/libgit2/src/transports/httpclient.c +53 -26
- data/vendor/libgit2/src/transports/httpclient.h +1 -1
- data/vendor/libgit2/src/transports/local.c +3 -3
- data/vendor/libgit2/src/transports/smart.c +12 -7
- data/vendor/libgit2/src/transports/smart.h +1 -1
- data/vendor/libgit2/src/transports/smart_protocol.c +11 -5
- data/vendor/libgit2/src/transports/ssh.c +51 -17
- data/vendor/libgit2/src/transports/winhttp.c +41 -31
- data/vendor/libgit2/src/tree.c +100 -77
- data/vendor/libgit2/src/tree.h +1 -0
- data/vendor/libgit2/src/tsort.c +0 -2
- data/vendor/libgit2/src/unix/map.c +3 -1
- data/vendor/libgit2/src/unix/pthread.h +2 -1
- data/vendor/libgit2/src/utf8.c +150 -0
- data/vendor/libgit2/src/utf8.h +52 -0
- data/vendor/libgit2/src/util.c +53 -129
- data/vendor/libgit2/src/util.h +33 -39
- data/vendor/libgit2/src/vector.c +23 -19
- data/vendor/libgit2/src/vector.h +4 -2
- data/vendor/libgit2/src/win32/findfile.c +4 -2
- data/vendor/libgit2/src/win32/map.c +1 -1
- data/vendor/libgit2/src/win32/msvc-compat.h +9 -1
- data/vendor/libgit2/src/win32/path_w32.c +22 -24
- data/vendor/libgit2/src/win32/path_w32.h +0 -1
- data/vendor/libgit2/src/win32/posix_w32.c +7 -1
- data/vendor/libgit2/src/win32/precompiled.h +0 -1
- data/vendor/libgit2/src/win32/reparse.h +4 -4
- data/vendor/libgit2/src/win32/thread.c +24 -15
- data/vendor/libgit2/src/win32/thread.h +1 -1
- data/vendor/libgit2/src/win32/w32_buffer.c +3 -3
- data/vendor/libgit2/src/win32/w32_common.h +18 -9
- data/vendor/libgit2/src/win32/{w32_crtdbg_stacktrace.c → w32_leakcheck.c} +269 -33
- data/vendor/libgit2/src/win32/w32_leakcheck.h +222 -0
- data/vendor/libgit2/src/win32/w32_util.h +6 -6
- data/vendor/libgit2/src/worktree.c +27 -16
- data/vendor/libgit2/src/zstream.c +1 -1
- metadata +32 -16
- data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
- data/vendor/libgit2/src/buf_text.c +0 -316
- data/vendor/libgit2/src/buf_text.h +0 -122
- data/vendor/libgit2/src/global.c +0 -363
- data/vendor/libgit2/src/global.h +0 -41
- data/vendor/libgit2/src/thread-utils.c +0 -58
- data/vendor/libgit2/src/thread-utils.h +0 -369
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -127
- data/vendor/libgit2/src/win32/w32_stack.c +0 -188
- data/vendor/libgit2/src/win32/w32_stack.h +0 -140
|
@@ -263,7 +263,7 @@ GIT_INLINE(bool) git_iterator_ignore_case(git_iterator *iter)
|
|
|
263
263
|
return ((iter->flags & GIT_ITERATOR_IGNORE_CASE) != 0);
|
|
264
264
|
}
|
|
265
265
|
|
|
266
|
-
extern
|
|
266
|
+
extern int git_iterator_set_ignore_case(
|
|
267
267
|
git_iterator *iter, bool ignore_case);
|
|
268
268
|
|
|
269
269
|
extern int git_iterator_current_tree_entry(
|
data/vendor/libgit2/src/khash.h
CHANGED
|
@@ -131,17 +131,8 @@ int main() {
|
|
|
131
131
|
|
|
132
132
|
/* compiler specific configuration */
|
|
133
133
|
|
|
134
|
-
|
|
135
|
-
typedef
|
|
136
|
-
#elif ULONG_MAX == 0xffffffffu
|
|
137
|
-
typedef unsigned long khint32_t;
|
|
138
|
-
#endif
|
|
139
|
-
|
|
140
|
-
#if ULONG_MAX == ULLONG_MAX
|
|
141
|
-
typedef unsigned long khint64_t;
|
|
142
|
-
#else
|
|
143
|
-
typedef unsigned long long khint64_t;
|
|
144
|
-
#endif
|
|
134
|
+
typedef uint32_t khint32_t;
|
|
135
|
+
typedef uint64_t khint64_t;
|
|
145
136
|
|
|
146
137
|
#ifndef kh_inline
|
|
147
138
|
#ifdef _MSC_VER
|
|
@@ -5,29 +5,94 @@
|
|
|
5
5
|
* a Linking Exception. For full terms see the included COPYING file.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
#include "
|
|
9
|
-
|
|
10
|
-
#ifdef GIT_OPENSSL
|
|
11
|
-
# include <openssl/err.h>
|
|
12
|
-
#endif
|
|
13
|
-
|
|
14
|
-
#ifdef GIT_MBEDTLS
|
|
15
|
-
# include <mbedtls/error.h>
|
|
16
|
-
#endif
|
|
8
|
+
#include "libgit2.h"
|
|
17
9
|
|
|
18
10
|
#include <git2.h>
|
|
19
11
|
#include "alloc.h"
|
|
20
|
-
#include "sysdir.h"
|
|
21
12
|
#include "cache.h"
|
|
22
|
-
#include "
|
|
13
|
+
#include "common.h"
|
|
14
|
+
#include "filter.h"
|
|
15
|
+
#include "hash.h"
|
|
16
|
+
#include "index.h"
|
|
17
|
+
#include "merge_driver.h"
|
|
18
|
+
#include "pool.h"
|
|
19
|
+
#include "mwindow.h"
|
|
23
20
|
#include "object.h"
|
|
24
21
|
#include "odb.h"
|
|
25
22
|
#include "refs.h"
|
|
26
|
-
#include "
|
|
23
|
+
#include "runtime.h"
|
|
24
|
+
#include "sysdir.h"
|
|
25
|
+
#include "thread.h"
|
|
26
|
+
#include "threadstate.h"
|
|
27
|
+
#include "git2/global.h"
|
|
28
|
+
#include "streams/registry.h"
|
|
29
|
+
#include "streams/mbedtls.h"
|
|
30
|
+
#include "streams/openssl.h"
|
|
27
31
|
#include "transports/smart.h"
|
|
28
32
|
#include "transports/http.h"
|
|
29
|
-
#include "
|
|
30
|
-
|
|
33
|
+
#include "transports/ssh.h"
|
|
34
|
+
|
|
35
|
+
#ifdef GIT_WIN32
|
|
36
|
+
# include "win32/w32_leakcheck.h"
|
|
37
|
+
#endif
|
|
38
|
+
|
|
39
|
+
/* Declarations for tuneable settings */
|
|
40
|
+
extern size_t git_mwindow__window_size;
|
|
41
|
+
extern size_t git_mwindow__mapped_limit;
|
|
42
|
+
extern size_t git_mwindow__file_limit;
|
|
43
|
+
extern size_t git_indexer__max_objects;
|
|
44
|
+
extern bool git_disable_pack_keep_file_checks;
|
|
45
|
+
extern int git_odb__packed_priority;
|
|
46
|
+
extern int git_odb__loose_priority;
|
|
47
|
+
|
|
48
|
+
char *git__user_agent;
|
|
49
|
+
char *git__ssl_ciphers;
|
|
50
|
+
|
|
51
|
+
static void libgit2_settings_global_shutdown(void)
|
|
52
|
+
{
|
|
53
|
+
git__free(git__user_agent);
|
|
54
|
+
git__free(git__ssl_ciphers);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static int git_libgit2_settings_global_init(void)
|
|
58
|
+
{
|
|
59
|
+
return git_runtime_shutdown_register(libgit2_settings_global_shutdown);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
int git_libgit2_init(void)
|
|
63
|
+
{
|
|
64
|
+
static git_runtime_init_fn init_fns[] = {
|
|
65
|
+
#ifdef GIT_WIN32
|
|
66
|
+
git_win32_leakcheck_global_init,
|
|
67
|
+
#endif
|
|
68
|
+
git_allocator_global_init,
|
|
69
|
+
git_threadstate_global_init,
|
|
70
|
+
git_threads_global_init,
|
|
71
|
+
git_hash_global_init,
|
|
72
|
+
git_sysdir_global_init,
|
|
73
|
+
git_filter_global_init,
|
|
74
|
+
git_merge_driver_global_init,
|
|
75
|
+
git_transport_ssh_global_init,
|
|
76
|
+
git_stream_registry_global_init,
|
|
77
|
+
git_openssl_stream_global_init,
|
|
78
|
+
git_mbedtls_stream_global_init,
|
|
79
|
+
git_mwindow_global_init,
|
|
80
|
+
git_pool_global_init,
|
|
81
|
+
git_libgit2_settings_global_init
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
return git_runtime_init(init_fns, ARRAY_SIZE(init_fns));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
int git_libgit2_init_count(void)
|
|
88
|
+
{
|
|
89
|
+
return git_runtime_init_count();
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
int git_libgit2_shutdown(void)
|
|
93
|
+
{
|
|
94
|
+
return git_runtime_shutdown();
|
|
95
|
+
}
|
|
31
96
|
|
|
32
97
|
int git_libgit2_version(int *major, int *minor, int *rev)
|
|
33
98
|
{
|
|
@@ -56,41 +121,30 @@ int git_libgit2_features(void)
|
|
|
56
121
|
;
|
|
57
122
|
}
|
|
58
123
|
|
|
59
|
-
|
|
60
|
-
extern size_t git_mwindow__window_size;
|
|
61
|
-
extern size_t git_mwindow__mapped_limit;
|
|
62
|
-
extern size_t git_mwindow__file_limit;
|
|
63
|
-
extern size_t git_indexer__max_objects;
|
|
64
|
-
extern bool git_disable_pack_keep_file_checks;
|
|
65
|
-
|
|
66
|
-
static int config_level_to_sysdir(int config_level)
|
|
124
|
+
static int config_level_to_sysdir(int *out, int config_level)
|
|
67
125
|
{
|
|
68
|
-
int val = -1;
|
|
69
|
-
|
|
70
126
|
switch (config_level) {
|
|
71
127
|
case GIT_CONFIG_LEVEL_SYSTEM:
|
|
72
|
-
|
|
73
|
-
|
|
128
|
+
*out = GIT_SYSDIR_SYSTEM;
|
|
129
|
+
return 0;
|
|
74
130
|
case GIT_CONFIG_LEVEL_XDG:
|
|
75
|
-
|
|
76
|
-
|
|
131
|
+
*out = GIT_SYSDIR_XDG;
|
|
132
|
+
return 0;
|
|
77
133
|
case GIT_CONFIG_LEVEL_GLOBAL:
|
|
78
|
-
|
|
79
|
-
|
|
134
|
+
*out = GIT_SYSDIR_GLOBAL;
|
|
135
|
+
return 0;
|
|
80
136
|
case GIT_CONFIG_LEVEL_PROGRAMDATA:
|
|
81
|
-
|
|
82
|
-
|
|
137
|
+
*out = GIT_SYSDIR_PROGRAMDATA;
|
|
138
|
+
return 0;
|
|
83
139
|
default:
|
|
84
|
-
|
|
85
|
-
GIT_ERROR_INVALID, "invalid config path selector %d", config_level);
|
|
140
|
+
break;
|
|
86
141
|
}
|
|
87
142
|
|
|
88
|
-
|
|
143
|
+
git_error_set(
|
|
144
|
+
GIT_ERROR_INVALID, "invalid config path selector %d", config_level);
|
|
145
|
+
return -1;
|
|
89
146
|
}
|
|
90
147
|
|
|
91
|
-
extern char *git__user_agent;
|
|
92
|
-
extern char *git__ssl_ciphers;
|
|
93
|
-
|
|
94
148
|
const char *git_libgit2__user_agent(void)
|
|
95
149
|
{
|
|
96
150
|
return git__user_agent;
|
|
@@ -134,12 +188,15 @@ int git_libgit2_opts(int key, ...)
|
|
|
134
188
|
break;
|
|
135
189
|
|
|
136
190
|
case GIT_OPT_GET_SEARCH_PATH:
|
|
137
|
-
|
|
191
|
+
{
|
|
192
|
+
int sysdir = va_arg(ap, int);
|
|
138
193
|
git_buf *out = va_arg(ap, git_buf *);
|
|
139
194
|
const git_buf *tmp;
|
|
195
|
+
int level;
|
|
140
196
|
|
|
141
|
-
|
|
142
|
-
|
|
197
|
+
if ((error = config_level_to_sysdir(&level, sysdir)) < 0 ||
|
|
198
|
+
(error = git_buf_sanitize(out)) < 0 ||
|
|
199
|
+
(error = git_sysdir_get(&tmp, level)) < 0)
|
|
143
200
|
break;
|
|
144
201
|
|
|
145
202
|
error = git_buf_sets(out, tmp->ptr);
|
|
@@ -147,8 +204,12 @@ int git_libgit2_opts(int key, ...)
|
|
|
147
204
|
break;
|
|
148
205
|
|
|
149
206
|
case GIT_OPT_SET_SEARCH_PATH:
|
|
150
|
-
|
|
151
|
-
|
|
207
|
+
{
|
|
208
|
+
int level;
|
|
209
|
+
|
|
210
|
+
if ((error = config_level_to_sysdir(&level, va_arg(ap, int))) >= 0)
|
|
211
|
+
error = git_sysdir_set(level, va_arg(ap, const char *));
|
|
212
|
+
}
|
|
152
213
|
break;
|
|
153
214
|
|
|
154
215
|
case GIT_OPT_SET_CACHE_OBJECT_LIMIT:
|
|
@@ -177,8 +238,8 @@ int git_libgit2_opts(int key, ...)
|
|
|
177
238
|
git_buf *out = va_arg(ap, git_buf *);
|
|
178
239
|
const git_buf *tmp;
|
|
179
240
|
|
|
180
|
-
git_buf_sanitize(out)
|
|
181
|
-
|
|
241
|
+
if ((error = git_buf_sanitize(out)) < 0 ||
|
|
242
|
+
(error = git_sysdir_get(&tmp, GIT_SYSDIR_TEMPLATE)) < 0)
|
|
182
243
|
break;
|
|
183
244
|
|
|
184
245
|
error = git_buf_sets(out, tmp->ptr);
|
|
@@ -200,10 +261,7 @@ int git_libgit2_opts(int key, ...)
|
|
|
200
261
|
{
|
|
201
262
|
const char *file = va_arg(ap, const char *);
|
|
202
263
|
const char *path = va_arg(ap, const char *);
|
|
203
|
-
|
|
204
|
-
error = git_mbedtls__set_cert_location(file, 0);
|
|
205
|
-
if (error && path)
|
|
206
|
-
error = git_mbedtls__set_cert_location(path, 1);
|
|
264
|
+
error = git_mbedtls__set_cert_location(file, path);
|
|
207
265
|
}
|
|
208
266
|
#else
|
|
209
267
|
git_error_set(GIT_ERROR_SSL, "TLS backend doesn't support certificate locations");
|
|
@@ -247,7 +305,8 @@ int git_libgit2_opts(int key, ...)
|
|
|
247
305
|
case GIT_OPT_GET_USER_AGENT:
|
|
248
306
|
{
|
|
249
307
|
git_buf *out = va_arg(ap, git_buf *);
|
|
250
|
-
git_buf_sanitize(out)
|
|
308
|
+
if ((error = git_buf_sanitize(out)) < 0)
|
|
309
|
+
break;
|
|
251
310
|
error = git_buf_sets(out, git__user_agent);
|
|
252
311
|
}
|
|
253
312
|
break;
|
|
@@ -300,6 +359,14 @@ int git_libgit2_opts(int key, ...)
|
|
|
300
359
|
git_http__expect_continue = (va_arg(ap, int) != 0);
|
|
301
360
|
break;
|
|
302
361
|
|
|
362
|
+
case GIT_OPT_SET_ODB_PACKED_PRIORITY:
|
|
363
|
+
git_odb__packed_priority = va_arg(ap, int);
|
|
364
|
+
break;
|
|
365
|
+
|
|
366
|
+
case GIT_OPT_SET_ODB_LOOSE_PRIORITY:
|
|
367
|
+
git_odb__loose_priority = va_arg(ap, int);
|
|
368
|
+
break;
|
|
369
|
+
|
|
303
370
|
default:
|
|
304
371
|
git_error_set(GIT_ERROR_INVALID, "invalid option key");
|
|
305
372
|
error = -1;
|
|
@@ -0,0 +1,15 @@
|
|
|
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_libgit2_h__
|
|
8
|
+
#define INCLUDE_libgit2_h__
|
|
9
|
+
|
|
10
|
+
extern int git_libgit2_init_count(void);
|
|
11
|
+
|
|
12
|
+
extern const char *git_libgit2__user_agent(void);
|
|
13
|
+
extern const char *git_libgit2__ssl_ciphers(void);
|
|
14
|
+
|
|
15
|
+
#endif
|
|
@@ -43,7 +43,8 @@ static int mailmap_entry_cmp(const void *a_raw, const void *b_raw)
|
|
|
43
43
|
const git_mailmap_entry *b = (const git_mailmap_entry *)b_raw;
|
|
44
44
|
int cmp;
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
GIT_ASSERT_ARG(a && a->replace_email);
|
|
47
|
+
GIT_ASSERT_ARG(b && b->replace_email);
|
|
47
48
|
|
|
48
49
|
cmp = git__strcmp(a->replace_email, b->replace_email);
|
|
49
50
|
if (cmp)
|
|
@@ -185,7 +186,8 @@ static int mailmap_add_entry_unterminated(
|
|
|
185
186
|
git_mailmap_entry *entry = git__calloc(1, sizeof(git_mailmap_entry));
|
|
186
187
|
GIT_ERROR_CHECK_ALLOC(entry);
|
|
187
188
|
|
|
188
|
-
|
|
189
|
+
GIT_ASSERT_ARG(mm);
|
|
190
|
+
GIT_ASSERT_ARG(replace_email && *replace_email);
|
|
189
191
|
|
|
190
192
|
if (real_name_size > 0) {
|
|
191
193
|
entry->real_name = git__substrdup(real_name, real_name_size);
|
|
@@ -290,7 +292,8 @@ static int mailmap_add_blob(
|
|
|
290
292
|
git_buf content = GIT_BUF_INIT;
|
|
291
293
|
int error;
|
|
292
294
|
|
|
293
|
-
|
|
295
|
+
GIT_ASSERT_ARG(mm);
|
|
296
|
+
GIT_ASSERT_ARG(repo);
|
|
294
297
|
|
|
295
298
|
error = git_revparse_single(&object, repo, rev);
|
|
296
299
|
if (error < 0)
|
|
@@ -327,6 +330,10 @@ static int mailmap_add_file_ondisk(
|
|
|
327
330
|
if (error < 0)
|
|
328
331
|
goto cleanup;
|
|
329
332
|
|
|
333
|
+
error = git_path_validate_workdir_buf(repo, &fullpath);
|
|
334
|
+
if (error < 0)
|
|
335
|
+
goto cleanup;
|
|
336
|
+
|
|
330
337
|
error = git_futils_readbuffer(&content, fullpath.ptr);
|
|
331
338
|
if (error < 0)
|
|
332
339
|
goto cleanup;
|
|
@@ -350,8 +357,6 @@ static void mailmap_add_from_repository(git_mailmap *mm, git_repository *repo)
|
|
|
350
357
|
const char *rev = NULL;
|
|
351
358
|
const char *path = NULL;
|
|
352
359
|
|
|
353
|
-
assert(mm && repo);
|
|
354
|
-
|
|
355
360
|
/* If we're in a bare repo, default blob to 'HEAD:.mailmap' */
|
|
356
361
|
if (repo->is_bare)
|
|
357
362
|
rev = MM_BLOB_DEFAULT;
|
|
@@ -389,9 +394,14 @@ static void mailmap_add_from_repository(git_mailmap *mm, git_repository *repo)
|
|
|
389
394
|
|
|
390
395
|
int git_mailmap_from_repository(git_mailmap **out, git_repository *repo)
|
|
391
396
|
{
|
|
392
|
-
int error
|
|
393
|
-
|
|
397
|
+
int error;
|
|
398
|
+
|
|
399
|
+
GIT_ASSERT_ARG(out);
|
|
400
|
+
GIT_ASSERT_ARG(repo);
|
|
401
|
+
|
|
402
|
+
if ((error = git_mailmap_new(out)) < 0)
|
|
394
403
|
return error;
|
|
404
|
+
|
|
395
405
|
mailmap_add_from_repository(*out, repo);
|
|
396
406
|
return 0;
|
|
397
407
|
}
|
|
@@ -408,7 +418,7 @@ const git_mailmap_entry *git_mailmap_entry_lookup(
|
|
|
408
418
|
git_mailmap_entry needle = { NULL };
|
|
409
419
|
needle.replace_email = (char *)email;
|
|
410
420
|
|
|
411
|
-
|
|
421
|
+
GIT_ASSERT_ARG_WITH_RETVAL(email, NULL);
|
|
412
422
|
|
|
413
423
|
if (!mm)
|
|
414
424
|
return NULL;
|
|
@@ -431,7 +441,8 @@ const git_mailmap_entry *git_mailmap_entry_lookup(
|
|
|
431
441
|
if (git__strcmp(entry->replace_email, email))
|
|
432
442
|
break; /* it's a different email, so we're done looking */
|
|
433
443
|
|
|
434
|
-
|
|
444
|
+
/* should be specific */
|
|
445
|
+
GIT_ASSERT_WITH_RETVAL(entry->replace_name, NULL);
|
|
435
446
|
if (!name || !git__strcmp(entry->replace_name, name))
|
|
436
447
|
return entry;
|
|
437
448
|
}
|
|
@@ -447,7 +458,9 @@ int git_mailmap_resolve(
|
|
|
447
458
|
const char *name, const char *email)
|
|
448
459
|
{
|
|
449
460
|
const git_mailmap_entry *entry = NULL;
|
|
450
|
-
|
|
461
|
+
|
|
462
|
+
GIT_ASSERT(name);
|
|
463
|
+
GIT_ASSERT(email);
|
|
451
464
|
|
|
452
465
|
*real_name = name;
|
|
453
466
|
*real_email = email;
|
data/vendor/libgit2/src/map.h
CHANGED
|
@@ -36,9 +36,9 @@ typedef struct { /* memory mapped buffer */
|
|
|
36
36
|
} git_map;
|
|
37
37
|
|
|
38
38
|
#define GIT_MMAP_VALIDATE(out, len, prot, flags) do { \
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
GIT_ASSERT(out != NULL && len > 0); \
|
|
40
|
+
GIT_ASSERT((prot & GIT_PROT_WRITE) || (prot & GIT_PROT_READ)); \
|
|
41
|
+
GIT_ASSERT((flags & GIT_MAP_FIXED) == 0); } while (0)
|
|
42
42
|
|
|
43
43
|
extern int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, off64_t offset);
|
|
44
44
|
extern int p_munmap(git_map *map);
|
data/vendor/libgit2/src/merge.c
CHANGED
|
@@ -112,7 +112,7 @@ static int merge_bases_many(git_commit_list **out, git_revwalk **walk_out, git_r
|
|
|
112
112
|
if (commit == NULL)
|
|
113
113
|
goto on_error;
|
|
114
114
|
|
|
115
|
-
if (git_merge__bases_many(&result, walk, commit, &list) < 0)
|
|
115
|
+
if (git_merge__bases_many(&result, walk, commit, &list, 0) < 0)
|
|
116
116
|
goto on_error;
|
|
117
117
|
|
|
118
118
|
if (!result) {
|
|
@@ -139,7 +139,9 @@ int git_merge_base_many(git_oid *out, git_repository *repo, size_t length, const
|
|
|
139
139
|
git_commit_list *result = NULL;
|
|
140
140
|
int error = 0;
|
|
141
141
|
|
|
142
|
-
|
|
142
|
+
GIT_ASSERT_ARG(out);
|
|
143
|
+
GIT_ASSERT_ARG(repo);
|
|
144
|
+
GIT_ASSERT_ARG(input_array);
|
|
143
145
|
|
|
144
146
|
if ((error = merge_bases_many(&result, &walk, repo, length, input_array)) < 0)
|
|
145
147
|
return error;
|
|
@@ -159,7 +161,9 @@ int git_merge_bases_many(git_oidarray *out, git_repository *repo, size_t length,
|
|
|
159
161
|
int error = 0;
|
|
160
162
|
git_array_oid_t array;
|
|
161
163
|
|
|
162
|
-
|
|
164
|
+
GIT_ASSERT_ARG(out);
|
|
165
|
+
GIT_ASSERT_ARG(repo);
|
|
166
|
+
GIT_ASSERT_ARG(input_array);
|
|
163
167
|
|
|
164
168
|
if ((error = merge_bases_many(&result, &walk, repo, length, input_array)) < 0)
|
|
165
169
|
return error;
|
|
@@ -193,7 +197,9 @@ int git_merge_base_octopus(git_oid *out, git_repository *repo, size_t length, co
|
|
|
193
197
|
unsigned int i;
|
|
194
198
|
int error = -1;
|
|
195
199
|
|
|
196
|
-
|
|
200
|
+
GIT_ASSERT_ARG(out);
|
|
201
|
+
GIT_ASSERT_ARG(repo);
|
|
202
|
+
GIT_ASSERT_ARG(input_array);
|
|
197
203
|
|
|
198
204
|
if (length < 2) {
|
|
199
205
|
git_error_set(GIT_ERROR_INVALID, "at least two commits are required to find an ancestor");
|
|
@@ -237,7 +243,7 @@ static int merge_bases(git_commit_list **out, git_revwalk **walk_out, git_reposi
|
|
|
237
243
|
if (commit == NULL)
|
|
238
244
|
goto on_error;
|
|
239
245
|
|
|
240
|
-
if (git_merge__bases_many(&result, walk, commit, &list) < 0)
|
|
246
|
+
if (git_merge__bases_many(&result, walk, commit, &list, 0) < 0)
|
|
241
247
|
goto on_error;
|
|
242
248
|
|
|
243
249
|
if (!result) {
|
|
@@ -372,7 +378,11 @@ static int clear_commit_marks(git_commit_list_node *commit, unsigned int mark)
|
|
|
372
378
|
}
|
|
373
379
|
|
|
374
380
|
static int paint_down_to_common(
|
|
375
|
-
|
|
381
|
+
git_commit_list **out,
|
|
382
|
+
git_revwalk *walk,
|
|
383
|
+
git_commit_list_node *one,
|
|
384
|
+
git_vector *twos,
|
|
385
|
+
uint32_t minimum_generation)
|
|
376
386
|
{
|
|
377
387
|
git_pqueue list;
|
|
378
388
|
git_commit_list *result = NULL;
|
|
@@ -381,7 +391,7 @@ static int paint_down_to_common(
|
|
|
381
391
|
int error;
|
|
382
392
|
unsigned int i;
|
|
383
393
|
|
|
384
|
-
if (git_pqueue_init(&list, 0, twos->length * 2,
|
|
394
|
+
if (git_pqueue_init(&list, 0, twos->length * 2, git_commit_list_generation_cmp) < 0)
|
|
385
395
|
return -1;
|
|
386
396
|
|
|
387
397
|
one->flags |= PARENT1;
|
|
@@ -393,7 +403,6 @@ static int paint_down_to_common(
|
|
|
393
403
|
return -1;
|
|
394
404
|
|
|
395
405
|
two->flags |= PARENT2;
|
|
396
|
-
|
|
397
406
|
if (git_pqueue_insert(&list, two) < 0)
|
|
398
407
|
return -1;
|
|
399
408
|
}
|
|
@@ -421,6 +430,8 @@ static int paint_down_to_common(
|
|
|
421
430
|
git_commit_list_node *p = commit->parents[i];
|
|
422
431
|
if ((p->flags & flags) == flags)
|
|
423
432
|
continue;
|
|
433
|
+
if (p->generation < minimum_generation)
|
|
434
|
+
continue;
|
|
424
435
|
|
|
425
436
|
if ((error = git_commit_list_parse(walk, p)) < 0)
|
|
426
437
|
return error;
|
|
@@ -436,7 +447,7 @@ static int paint_down_to_common(
|
|
|
436
447
|
return 0;
|
|
437
448
|
}
|
|
438
449
|
|
|
439
|
-
static int remove_redundant(git_revwalk *walk, git_vector *commits)
|
|
450
|
+
static int remove_redundant(git_revwalk *walk, git_vector *commits, uint32_t minimum_generation)
|
|
440
451
|
{
|
|
441
452
|
git_vector work = GIT_VECTOR_INIT;
|
|
442
453
|
unsigned char *redundant;
|
|
@@ -472,7 +483,7 @@ static int remove_redundant(git_revwalk *walk, git_vector *commits)
|
|
|
472
483
|
goto done;
|
|
473
484
|
}
|
|
474
485
|
|
|
475
|
-
error = paint_down_to_common(&common, walk, commit, &work);
|
|
486
|
+
error = paint_down_to_common(&common, walk, commit, &work, minimum_generation);
|
|
476
487
|
if (error < 0)
|
|
477
488
|
goto done;
|
|
478
489
|
|
|
@@ -504,7 +515,12 @@ done:
|
|
|
504
515
|
return error;
|
|
505
516
|
}
|
|
506
517
|
|
|
507
|
-
int git_merge__bases_many(
|
|
518
|
+
int git_merge__bases_many(
|
|
519
|
+
git_commit_list **out,
|
|
520
|
+
git_revwalk *walk,
|
|
521
|
+
git_commit_list_node *one,
|
|
522
|
+
git_vector *twos,
|
|
523
|
+
uint32_t minimum_generation)
|
|
508
524
|
{
|
|
509
525
|
int error;
|
|
510
526
|
unsigned int i;
|
|
@@ -526,7 +542,7 @@ int git_merge__bases_many(git_commit_list **out, git_revwalk *walk, git_commit_l
|
|
|
526
542
|
if (git_commit_list_parse(walk, one) < 0)
|
|
527
543
|
return -1;
|
|
528
544
|
|
|
529
|
-
error = paint_down_to_common(&result, walk, one, twos);
|
|
545
|
+
error = paint_down_to_common(&result, walk, one, twos, minimum_generation);
|
|
530
546
|
if (error < 0)
|
|
531
547
|
return error;
|
|
532
548
|
|
|
@@ -553,7 +569,7 @@ int git_merge__bases_many(git_commit_list **out, git_revwalk *walk, git_commit_l
|
|
|
553
569
|
|
|
554
570
|
if ((error = clear_commit_marks(one, ALL_FLAGS)) < 0 ||
|
|
555
571
|
(error = clear_commit_marks_many(twos, ALL_FLAGS)) < 0 ||
|
|
556
|
-
(error = remove_redundant(walk, &redundant)) < 0) {
|
|
572
|
+
(error = remove_redundant(walk, &redundant, minimum_generation)) < 0) {
|
|
557
573
|
git_vector_free(&redundant);
|
|
558
574
|
return error;
|
|
559
575
|
}
|
|
@@ -581,7 +597,8 @@ int git_repository_mergehead_foreach(
|
|
|
581
597
|
git_oid oid;
|
|
582
598
|
int error = 0;
|
|
583
599
|
|
|
584
|
-
|
|
600
|
+
GIT_ASSERT_ARG(repo);
|
|
601
|
+
GIT_ASSERT_ARG(cb);
|
|
585
602
|
|
|
586
603
|
if ((error = git_buf_joinpath(&merge_head_path, repo->gitdir,
|
|
587
604
|
GIT_MERGE_HEAD_FILE)) < 0)
|
|
@@ -650,7 +667,9 @@ static int merge_conflict_resolve_trivial(
|
|
|
650
667
|
git_index_entry const *result = NULL;
|
|
651
668
|
int error = 0;
|
|
652
669
|
|
|
653
|
-
|
|
670
|
+
GIT_ASSERT_ARG(resolved);
|
|
671
|
+
GIT_ASSERT_ARG(diff_list);
|
|
672
|
+
GIT_ASSERT_ARG(conflict);
|
|
654
673
|
|
|
655
674
|
*resolved = 0;
|
|
656
675
|
|
|
@@ -733,7 +752,9 @@ static int merge_conflict_resolve_one_removed(
|
|
|
733
752
|
int ours_changed, theirs_changed;
|
|
734
753
|
int error = 0;
|
|
735
754
|
|
|
736
|
-
|
|
755
|
+
GIT_ASSERT_ARG(resolved);
|
|
756
|
+
GIT_ASSERT_ARG(diff_list);
|
|
757
|
+
GIT_ASSERT_ARG(conflict);
|
|
737
758
|
|
|
738
759
|
*resolved = 0;
|
|
739
760
|
|
|
@@ -773,7 +794,9 @@ static int merge_conflict_resolve_one_renamed(
|
|
|
773
794
|
git_index_entry *merged;
|
|
774
795
|
int error = 0;
|
|
775
796
|
|
|
776
|
-
|
|
797
|
+
GIT_ASSERT_ARG(resolved);
|
|
798
|
+
GIT_ASSERT_ARG(diff_list);
|
|
799
|
+
GIT_ASSERT_ARG(conflict);
|
|
777
800
|
|
|
778
801
|
*resolved = 0;
|
|
779
802
|
|
|
@@ -917,7 +940,9 @@ static int merge_conflict_resolve_contents(
|
|
|
917
940
|
bool fallback = false;
|
|
918
941
|
int error;
|
|
919
942
|
|
|
920
|
-
|
|
943
|
+
GIT_ASSERT_ARG(resolved);
|
|
944
|
+
GIT_ASSERT_ARG(diff_list);
|
|
945
|
+
GIT_ASSERT_ARG(conflict);
|
|
921
946
|
|
|
922
947
|
*resolved = 0;
|
|
923
948
|
|
|
@@ -1517,9 +1542,11 @@ int git_merge_diff_list__find_renames(
|
|
|
1517
1542
|
size_t src_count, tgt_count, i;
|
|
1518
1543
|
int error = 0;
|
|
1519
1544
|
|
|
1520
|
-
|
|
1545
|
+
GIT_ASSERT_ARG(diff_list);
|
|
1546
|
+
GIT_ASSERT_ARG(opts);
|
|
1521
1547
|
|
|
1522
|
-
if ((opts->flags & GIT_MERGE_FIND_RENAMES) == 0
|
|
1548
|
+
if ((opts->flags & GIT_MERGE_FIND_RENAMES) == 0 ||
|
|
1549
|
+
!diff_list->conflicts.length)
|
|
1523
1550
|
return 0;
|
|
1524
1551
|
|
|
1525
1552
|
similarity_ours = git__calloc(diff_list->conflicts.length,
|
|
@@ -1843,7 +1870,8 @@ static int merge_normalize_opts(
|
|
|
1843
1870
|
git_config_entry *entry = NULL;
|
|
1844
1871
|
int error = 0;
|
|
1845
1872
|
|
|
1846
|
-
|
|
1873
|
+
GIT_ASSERT_ARG(repo);
|
|
1874
|
+
GIT_ASSERT_ARG(opts);
|
|
1847
1875
|
|
|
1848
1876
|
if ((error = git_repository_config__weakptr(&cfg, repo)) < 0)
|
|
1849
1877
|
return error;
|
|
@@ -2070,7 +2098,8 @@ int git_merge__iterators(
|
|
|
2070
2098
|
size_t i;
|
|
2071
2099
|
int error = 0;
|
|
2072
2100
|
|
|
2073
|
-
|
|
2101
|
+
GIT_ASSERT_ARG(out);
|
|
2102
|
+
GIT_ASSERT_ARG(repo);
|
|
2074
2103
|
|
|
2075
2104
|
*out = NULL;
|
|
2076
2105
|
|
|
@@ -2154,7 +2183,8 @@ int git_merge_trees(
|
|
|
2154
2183
|
git_iterator_options iter_opts = GIT_ITERATOR_OPTIONS_INIT;
|
|
2155
2184
|
int error;
|
|
2156
2185
|
|
|
2157
|
-
|
|
2186
|
+
GIT_ASSERT_ARG(out);
|
|
2187
|
+
GIT_ASSERT_ARG(repo);
|
|
2158
2188
|
|
|
2159
2189
|
/* if one side is treesame to the ancestor, take the other side */
|
|
2160
2190
|
if (ancestor_tree && merge_opts && (merge_opts->flags & GIT_MERGE_SKIP_REUC)) {
|
|
@@ -2444,7 +2474,8 @@ static int write_merge_head(
|
|
|
2444
2474
|
size_t i;
|
|
2445
2475
|
int error = 0;
|
|
2446
2476
|
|
|
2447
|
-
|
|
2477
|
+
GIT_ASSERT_ARG(repo);
|
|
2478
|
+
GIT_ASSERT_ARG(heads);
|
|
2448
2479
|
|
|
2449
2480
|
if ((error = git_buf_joinpath(&file_path, repo->gitdir, GIT_MERGE_HEAD_FILE)) < 0 ||
|
|
2450
2481
|
(error = git_filebuf_open(&file, file_path.ptr, GIT_FILEBUF_CREATE_LEADING_DIRS, GIT_MERGE_FILE_MODE)) < 0)
|
|
@@ -2472,7 +2503,7 @@ static int write_merge_mode(git_repository *repo)
|
|
|
2472
2503
|
git_buf file_path = GIT_BUF_INIT;
|
|
2473
2504
|
int error = 0;
|
|
2474
2505
|
|
|
2475
|
-
|
|
2506
|
+
GIT_ASSERT_ARG(repo);
|
|
2476
2507
|
|
|
2477
2508
|
if ((error = git_buf_joinpath(&file_path, repo->gitdir, GIT_MERGE_MODE_FILE)) < 0 ||
|
|
2478
2509
|
(error = git_filebuf_open(&file, file_path.ptr, GIT_FILEBUF_CREATE_LEADING_DIRS, GIT_MERGE_FILE_MODE)) < 0)
|
|
@@ -2692,7 +2723,8 @@ static int write_merge_msg(
|
|
|
2692
2723
|
char sep = 0;
|
|
2693
2724
|
int error = 0;
|
|
2694
2725
|
|
|
2695
|
-
|
|
2726
|
+
GIT_ASSERT_ARG(repo);
|
|
2727
|
+
GIT_ASSERT_ARG(heads);
|
|
2696
2728
|
|
|
2697
2729
|
entries = git__calloc(heads_len, sizeof(struct merge_msg_entry));
|
|
2698
2730
|
GIT_ERROR_CHECK_ALLOC(entries);
|
|
@@ -2803,7 +2835,9 @@ int git_merge__setup(
|
|
|
2803
2835
|
{
|
|
2804
2836
|
int error = 0;
|
|
2805
2837
|
|
|
2806
|
-
|
|
2838
|
+
GIT_ASSERT_ARG(repo);
|
|
2839
|
+
GIT_ASSERT_ARG(our_head);
|
|
2840
|
+
GIT_ASSERT_ARG(heads);
|
|
2807
2841
|
|
|
2808
2842
|
if ((error = git_repository__set_orig_head(repo, git_annotated_commit_id(our_head))) == 0 &&
|
|
2809
2843
|
(error = write_merge_head(repo, heads, heads_len)) == 0 &&
|
|
@@ -2827,7 +2861,9 @@ static int merge_ancestor_head(
|
|
|
2827
2861
|
size_t i, alloc_len;
|
|
2828
2862
|
int error = 0;
|
|
2829
2863
|
|
|
2830
|
-
|
|
2864
|
+
GIT_ASSERT_ARG(repo);
|
|
2865
|
+
GIT_ASSERT_ARG(our_head);
|
|
2866
|
+
GIT_ASSERT_ARG(their_heads);
|
|
2831
2867
|
|
|
2832
2868
|
GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, their_heads_len, 1);
|
|
2833
2869
|
oids = git__calloc(alloc_len, sizeof(git_oid));
|
|
@@ -3205,7 +3241,10 @@ int git_merge_analysis_for_ref(
|
|
|
3205
3241
|
int error = 0;
|
|
3206
3242
|
bool unborn;
|
|
3207
3243
|
|
|
3208
|
-
|
|
3244
|
+
GIT_ASSERT_ARG(analysis_out);
|
|
3245
|
+
GIT_ASSERT_ARG(preference_out);
|
|
3246
|
+
GIT_ASSERT_ARG(repo);
|
|
3247
|
+
GIT_ASSERT_ARG(their_heads && their_heads_len > 0);
|
|
3209
3248
|
|
|
3210
3249
|
if (their_heads_len != 1) {
|
|
3211
3250
|
git_error_set(GIT_ERROR_MERGE, "can only merge a single branch");
|
|
@@ -3287,7 +3326,8 @@ int git_merge(
|
|
|
3287
3326
|
unsigned int checkout_strategy;
|
|
3288
3327
|
int error = 0;
|
|
3289
3328
|
|
|
3290
|
-
|
|
3329
|
+
GIT_ASSERT_ARG(repo);
|
|
3330
|
+
GIT_ASSERT_ARG(their_heads && their_heads_len > 0);
|
|
3291
3331
|
|
|
3292
3332
|
if (their_heads_len != 1) {
|
|
3293
3333
|
git_error_set(GIT_ERROR_MERGE, "can only merge a single branch");
|