rugged 1.0.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +1 -0
- data/README.md +3 -3
- data/ext/rugged/rugged.c +7 -4
- data/ext/rugged/rugged_commit.c +1 -1
- data/ext/rugged/rugged_config.c +1 -1
- data/ext/rugged/rugged_object.c +1 -1
- data/ext/rugged/rugged_remote.c +32 -2
- data/ext/rugged/rugged_repo.c +13 -3
- data/lib/rugged/commit.rb +17 -4
- data/lib/rugged/repository.rb +7 -8
- data/lib/rugged/submodule_collection.rb +4 -4
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +41 -74
- data/vendor/libgit2/COPYING +109 -1
- data/vendor/libgit2/cmake/{Modules/AddCFlagIfSupported.cmake → AddCFlagIfSupported.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/EnableWarnings.cmake → EnableWarnings.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindCoreFoundation.cmake → FindCoreFoundation.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindGSSAPI.cmake → FindGSSAPI.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindGSSFramework.cmake → FindGSSFramework.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindHTTP_Parser.cmake → FindHTTP_Parser.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindIconv.cmake → FindIconv.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPCRE.cmake → FindPCRE.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPCRE2.cmake → FindPCRE2.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPkgLibraries.cmake → FindPkgLibraries.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindSecurity.cmake → FindSecurity.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindStatNsec.cmake → FindStatNsec.cmake} +0 -0
- data/vendor/libgit2/cmake/Findfutimens.cmake +14 -0
- data/vendor/libgit2/cmake/{Modules/FindmbedTLS.cmake → FindmbedTLS.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/IdeSplitSources.cmake → IdeSplitSources.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/PkgBuildConfig.cmake → PkgBuildConfig.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/SanitizeBool.cmake → SanitizeBool.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/SelectGSSAPI.cmake → SelectGSSAPI.cmake} +18 -26
- data/vendor/libgit2/cmake/{Modules/SelectHTTPSBackend.cmake → SelectHTTPSBackend.cmake} +29 -32
- data/vendor/libgit2/cmake/{Modules/SelectHashes.cmake → SelectHashes.cmake} +21 -28
- data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +101 -0
- data/vendor/libgit2/deps/http-parser/CMakeLists.txt +4 -3
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +24 -10
- data/vendor/libgit2/deps/ntlmclient/compat.h +0 -27
- 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 +164 -135
- 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/deps/ntlmclient/util.c +15 -1
- data/vendor/libgit2/deps/ntlmclient/util.h +2 -1
- data/vendor/libgit2/deps/pcre/LICENCE +93 -0
- data/vendor/libgit2/deps/pcre/pcre.h +2 -2
- data/vendor/libgit2/deps/pcre/pcre_compile.c +29 -17
- data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +4 -4
- data/vendor/libgit2/deps/pcre/pcreposix.c +2 -3
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -5
- data/vendor/libgit2/deps/zlib/deflate.c +1 -0
- data/vendor/libgit2/include/git2/annotated_commit.h +1 -1
- data/vendor/libgit2/include/git2/apply.h +2 -0
- data/vendor/libgit2/include/git2/attr.h +89 -0
- data/vendor/libgit2/include/git2/blame.h +95 -42
- data/vendor/libgit2/include/git2/blob.h +31 -3
- 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 +33 -6
- data/vendor/libgit2/include/git2/config.h +1 -1
- data/vendor/libgit2/include/git2/deprecated.h +248 -8
- data/vendor/libgit2/include/git2/diff.h +35 -20
- data/vendor/libgit2/include/git2/errors.h +8 -7
- 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 +4 -5
- data/vendor/libgit2/include/git2/indexer.h +2 -1
- data/vendor/libgit2/include/git2/odb.h +44 -20
- data/vendor/libgit2/include/git2/pack.h +1 -1
- 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 +9 -5
- data/vendor/libgit2/include/git2/remote.h +59 -6
- data/vendor/libgit2/include/git2/repository.h +95 -52
- data/vendor/libgit2/include/git2/revparse.h +5 -5
- data/vendor/libgit2/include/git2/status.h +115 -59
- data/vendor/libgit2/include/git2/strarray.h +6 -10
- 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/transport.h +1 -1
- data/vendor/libgit2/include/git2/tree.h +2 -14
- data/vendor/libgit2/include/git2/types.h +9 -0
- data/vendor/libgit2/include/git2/version.h +3 -3
- data/vendor/libgit2/include/git2/worktree.h +1 -0
- data/vendor/libgit2/src/CMakeLists.txt +77 -44
- 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 +21 -8
- data/vendor/libgit2/src/array.h +11 -11
- data/vendor/libgit2/src/assert_safe.h +58 -0
- data/vendor/libgit2/src/attr.c +181 -74
- data/vendor/libgit2/src/attr_file.c +92 -42
- data/vendor/libgit2/src/attr_file.h +32 -11
- data/vendor/libgit2/src/attrcache.c +44 -40
- data/vendor/libgit2/src/attrcache.h +4 -5
- data/vendor/libgit2/src/blame.c +28 -15
- data/vendor/libgit2/src/blame_git.c +6 -3
- data/vendor/libgit2/src/blob.c +46 -24
- data/vendor/libgit2/src/branch.c +87 -37
- data/vendor/libgit2/src/buffer.c +339 -27
- data/vendor/libgit2/src/buffer.h +153 -2
- data/vendor/libgit2/src/cache.c +3 -24
- data/vendor/libgit2/src/cache.h +7 -7
- data/vendor/libgit2/src/cc-compat.h +10 -2
- data/vendor/libgit2/src/checkout.c +97 -98
- data/vendor/libgit2/src/cherrypick.c +8 -2
- data/vendor/libgit2/src/clone.c +104 -29
- 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 +26 -2
- data/vendor/libgit2/src/config.c +40 -22
- data/vendor/libgit2/src/config_cache.c +9 -4
- data/vendor/libgit2/src/config_entries.c +35 -27
- data/vendor/libgit2/src/config_file.c +25 -8
- data/vendor/libgit2/src/config_parse.c +5 -7
- data/vendor/libgit2/src/config_snapshot.c +2 -1
- 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 +11 -4
- data/vendor/libgit2/src/diff.c +23 -19
- data/vendor/libgit2/src/diff_driver.c +21 -17
- data/vendor/libgit2/src/diff_file.c +5 -7
- data/vendor/libgit2/src/diff_generate.c +56 -28
- data/vendor/libgit2/src/diff_parse.c +2 -3
- data/vendor/libgit2/src/diff_print.c +81 -65
- data/vendor/libgit2/src/diff_stats.c +19 -16
- data/vendor/libgit2/src/diff_tform.c +13 -13
- data/vendor/libgit2/src/diff_xdiff.c +4 -2
- data/vendor/libgit2/src/diff_xdiff.h +1 -1
- data/vendor/libgit2/src/errors.c +26 -19
- data/vendor/libgit2/src/features.h.in +5 -1
- data/vendor/libgit2/src/fetch.c +7 -2
- data/vendor/libgit2/src/fetchhead.c +8 -4
- data/vendor/libgit2/src/filebuf.c +9 -7
- data/vendor/libgit2/src/filter.c +209 -113
- data/vendor/libgit2/src/filter.h +24 -5
- data/vendor/libgit2/src/futils.c +8 -8
- data/vendor/libgit2/src/futils.h +4 -4
- 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/idxmap.c +0 -22
- data/vendor/libgit2/src/ignore.c +35 -19
- data/vendor/libgit2/src/index.c +126 -84
- data/vendor/libgit2/src/index.h +1 -1
- data/vendor/libgit2/src/indexer.c +60 -36
- data/vendor/libgit2/src/integer.h +79 -2
- data/vendor/libgit2/src/iterator.c +40 -28
- data/vendor/libgit2/src/iterator.h +1 -1
- data/vendor/libgit2/src/khash.h +2 -11
- data/vendor/libgit2/src/{settings.c → libgit2.c} +125 -49
- 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 +108 -46
- data/vendor/libgit2/src/merge.h +2 -1
- data/vendor/libgit2/src/merge_driver.c +19 -13
- data/vendor/libgit2/src/merge_file.c +15 -9
- data/vendor/libgit2/src/message.c +3 -1
- data/vendor/libgit2/src/midx.c +879 -0
- data/vendor/libgit2/src/midx.h +110 -0
- data/vendor/libgit2/src/mwindow.c +214 -95
- data/vendor/libgit2/src/mwindow.h +3 -3
- data/vendor/libgit2/src/net.c +133 -4
- 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 +24 -15
- data/vendor/libgit2/src/odb.c +298 -57
- data/vendor/libgit2/src/odb.h +16 -2
- data/vendor/libgit2/src/odb_loose.c +31 -21
- data/vendor/libgit2/src/odb_mempack.c +3 -1
- data/vendor/libgit2/src/odb_pack.c +391 -114
- data/vendor/libgit2/src/oid.c +7 -4
- data/vendor/libgit2/src/pack-objects.c +83 -69
- data/vendor/libgit2/src/pack.c +383 -150
- data/vendor/libgit2/src/pack.h +44 -9
- data/vendor/libgit2/src/patch.c +14 -7
- data/vendor/libgit2/src/patch_generate.c +3 -5
- data/vendor/libgit2/src/patch_parse.c +6 -3
- data/vendor/libgit2/src/path.c +102 -57
- data/vendor/libgit2/src/path.h +79 -6
- data/vendor/libgit2/src/pathspec.c +12 -11
- data/vendor/libgit2/src/pool.c +34 -22
- data/vendor/libgit2/src/pool.h +9 -1
- data/vendor/libgit2/src/posix.c +43 -12
- data/vendor/libgit2/src/posix.h +9 -0
- data/vendor/libgit2/src/proxy.c +2 -0
- data/vendor/libgit2/src/push.c +2 -0
- data/vendor/libgit2/src/reader.c +10 -6
- data/vendor/libgit2/src/rebase.c +95 -49
- data/vendor/libgit2/src/refdb.c +165 -13
- data/vendor/libgit2/src/refdb.h +69 -0
- data/vendor/libgit2/src/refdb_fs.c +144 -152
- data/vendor/libgit2/src/reflog.c +21 -20
- data/vendor/libgit2/src/refs.c +151 -231
- data/vendor/libgit2/src/refs.h +2 -20
- data/vendor/libgit2/src/refspec.c +80 -44
- data/vendor/libgit2/src/regexp.c +2 -2
- data/vendor/libgit2/src/remote.c +312 -121
- data/vendor/libgit2/src/remote.h +2 -1
- data/vendor/libgit2/src/repository.c +351 -189
- data/vendor/libgit2/src/repository.h +23 -29
- data/vendor/libgit2/src/reset.c +7 -6
- data/vendor/libgit2/src/revert.c +8 -2
- data/vendor/libgit2/src/revparse.c +19 -13
- data/vendor/libgit2/src/revwalk.c +35 -20
- data/vendor/libgit2/src/runtime.c +162 -0
- data/vendor/libgit2/src/runtime.h +62 -0
- data/vendor/libgit2/src/{refdb_fs.h → settings.h} +3 -11
- data/vendor/libgit2/src/signature.c +6 -5
- data/vendor/libgit2/src/sortedcache.c +2 -3
- data/vendor/libgit2/src/sortedcache.h +10 -8
- data/vendor/libgit2/src/stash.c +7 -3
- data/vendor/libgit2/src/status.c +9 -4
- data/vendor/libgit2/src/strarray.c +64 -0
- 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 +113 -207
- 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 +10 -9
- 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 +134 -66
- data/vendor/libgit2/src/submodule.h +9 -9
- data/vendor/libgit2/src/sysdir.c +8 -26
- data/vendor/libgit2/src/sysdir.h +0 -11
- data/vendor/libgit2/src/tag.c +49 -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 +21 -9
- 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 +17 -7
- data/vendor/libgit2/src/transports/credential_helpers.c +2 -0
- 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 +84 -42
- data/vendor/libgit2/src/transports/httpclient.h +1 -1
- data/vendor/libgit2/src/transports/local.c +5 -5
- data/vendor/libgit2/src/transports/smart.c +14 -9
- 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 +156 -88
- 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/posix.h +16 -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 +74 -183
- 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/git2.rc +18 -3
- 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 +23 -25
- data/vendor/libgit2/src/win32/path_w32.h +0 -1
- data/vendor/libgit2/src/win32/posix_w32.c +77 -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 +37 -15
- data/vendor/libgit2/src/zstream.c +1 -1
- metadata +56 -38
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +0 -29
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +0 -96
- 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 -361
- 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 -246
- 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
@@ -0,0 +1,62 @@
|
|
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_runtime_h__
|
8
|
+
#define INCLUDE_runtime_h__
|
9
|
+
|
10
|
+
#include "common.h"
|
11
|
+
|
12
|
+
typedef int (*git_runtime_init_fn)(void);
|
13
|
+
typedef void (*git_runtime_shutdown_fn)(void);
|
14
|
+
|
15
|
+
/**
|
16
|
+
* Start up a new runtime. If this is the first time that this
|
17
|
+
* function is called within the context of the current library
|
18
|
+
* or executable, then the given `init_fns` will be invoked. If
|
19
|
+
* it is not the first time, they will be ignored.
|
20
|
+
*
|
21
|
+
* The given initialization functions _may_ register shutdown
|
22
|
+
* handlers using `git_runtime_shutdown_register` to be notified
|
23
|
+
* when the runtime is shutdown.
|
24
|
+
*
|
25
|
+
* @param init_fns The list of initialization functions to call
|
26
|
+
* @param cnt The number of init_fns
|
27
|
+
* @return The number of initializations performed (including this one) or an error
|
28
|
+
*/
|
29
|
+
int git_runtime_init(git_runtime_init_fn init_fns[], size_t cnt);
|
30
|
+
|
31
|
+
/*
|
32
|
+
* Returns the number of initializations active (the number of calls to
|
33
|
+
* `git_runtime_init` minus the number of calls sto `git_runtime_shutdown`).
|
34
|
+
* If 0, the runtime is not currently initialized.
|
35
|
+
*
|
36
|
+
* @return The number of initializations performed or an error
|
37
|
+
*/
|
38
|
+
int git_runtime_init_count(void);
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Shut down the runtime. If this is the last shutdown call,
|
42
|
+
* such that there are no remaining `init` calls, then any
|
43
|
+
* shutdown hooks that have been registered will be invoked.
|
44
|
+
*
|
45
|
+
* The number of outstanding initializations will be returned.
|
46
|
+
* If this number is 0, then the runtime is shutdown.
|
47
|
+
*
|
48
|
+
* @return The number of outstanding initializations (after this one) or an error
|
49
|
+
*/
|
50
|
+
int git_runtime_shutdown(void);
|
51
|
+
|
52
|
+
/**
|
53
|
+
* Register a shutdown handler for this runtime. This should be done
|
54
|
+
* by a function invoked by `git_runtime_init` to ensure that the
|
55
|
+
* appropriate locks are taken.
|
56
|
+
*
|
57
|
+
* @param callback The shutdown handler callback
|
58
|
+
* @return 0 or an error code
|
59
|
+
*/
|
60
|
+
int git_runtime_shutdown_register(git_runtime_shutdown_fn callback);
|
61
|
+
|
62
|
+
#endif
|
@@ -4,16 +4,8 @@
|
|
4
4
|
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
5
5
|
* a Linking Exception. For full terms see the included COPYING file.
|
6
6
|
*/
|
7
|
-
#ifndef INCLUDE_refdb_fs_h__
|
8
|
-
#define INCLUDE_refdb_fs_h__
|
9
7
|
|
10
|
-
|
8
|
+
extern int git_settings_global_init(void);
|
11
9
|
|
12
|
-
|
13
|
-
|
14
|
-
typedef struct {
|
15
|
-
git_strmap *packfile;
|
16
|
-
time_t packfile_time;
|
17
|
-
} git_refcache;
|
18
|
-
|
19
|
-
#endif
|
10
|
+
extern const char *git_libgit2__user_agent(void);
|
11
|
+
extern const char *git_libgit2__ssl_ciphers(void);
|
@@ -65,7 +65,8 @@ int git_signature_new(git_signature **sig_out, const char *name, const char *ema
|
|
65
65
|
{
|
66
66
|
git_signature *p = NULL;
|
67
67
|
|
68
|
-
|
68
|
+
GIT_ASSERT_ARG(name);
|
69
|
+
GIT_ASSERT_ARG(email);
|
69
70
|
|
70
71
|
*sig_out = NULL;
|
71
72
|
|
@@ -279,7 +280,8 @@ int git_signature_from_buffer(git_signature **out, const char *buf)
|
|
279
280
|
const char *buf_end;
|
280
281
|
int error;
|
281
282
|
|
282
|
-
|
283
|
+
GIT_ASSERT_ARG(out);
|
284
|
+
GIT_ASSERT_ARG(buf);
|
283
285
|
|
284
286
|
*out = NULL;
|
285
287
|
|
@@ -302,8 +304,6 @@ void git_signature__writebuf(git_buf *buf, const char *header, const git_signatu
|
|
302
304
|
int offset, hours, mins;
|
303
305
|
char sign;
|
304
306
|
|
305
|
-
assert(buf && sig);
|
306
|
-
|
307
307
|
offset = sig->when.offset;
|
308
308
|
sign = (sig->when.offset < 0 || sig->when.sign == '-') ? '-' : '+';
|
309
309
|
|
@@ -320,7 +320,8 @@ void git_signature__writebuf(git_buf *buf, const char *header, const git_signatu
|
|
320
320
|
|
321
321
|
bool git_signature__equal(const git_signature *one, const git_signature *two)
|
322
322
|
{
|
323
|
-
|
323
|
+
GIT_ASSERT_ARG(one);
|
324
|
+
GIT_ASSERT_ARG(two);
|
324
325
|
|
325
326
|
return
|
326
327
|
git__strcmp(one->name, two->name) == 0 &&
|
@@ -25,9 +25,8 @@ int git_sortedcache_new(
|
|
25
25
|
sc = git__calloc(1, alloclen);
|
26
26
|
GIT_ERROR_CHECK_ALLOC(sc);
|
27
27
|
|
28
|
-
git_pool_init(&sc->pool, 1)
|
29
|
-
|
30
|
-
if (git_vector_init(&sc->items, 4, item_cmp) < 0 ||
|
28
|
+
if (git_pool_init(&sc->pool, 1) < 0 ||
|
29
|
+
git_vector_init(&sc->items, 4, item_cmp) < 0 ||
|
31
30
|
git_strmap_new(&sc->map) < 0)
|
32
31
|
goto fail;
|
33
32
|
|
@@ -12,7 +12,7 @@
|
|
12
12
|
#include "util.h"
|
13
13
|
#include "futils.h"
|
14
14
|
#include "vector.h"
|
15
|
-
#include "thread
|
15
|
+
#include "thread.h"
|
16
16
|
#include "pool.h"
|
17
17
|
#include "strmap.h"
|
18
18
|
|
@@ -58,7 +58,7 @@ typedef struct {
|
|
58
58
|
* may be NULL. The cache makes it easy to load this and check
|
59
59
|
* if it has been modified since the last load and/or write.
|
60
60
|
*/
|
61
|
-
int git_sortedcache_new(
|
61
|
+
GIT_WARN_UNUSED_RESULT int git_sortedcache_new(
|
62
62
|
git_sortedcache **out,
|
63
63
|
size_t item_path_offset, /* use offsetof(struct, path-field) macro */
|
64
64
|
git_sortedcache_free_item_fn free_item,
|
@@ -71,7 +71,7 @@ int git_sortedcache_new(
|
|
71
71
|
* - `copy_item` can be NULL to just use memcpy
|
72
72
|
* - if `lock`, grabs read lock on `src` during copy and releases after
|
73
73
|
*/
|
74
|
-
int git_sortedcache_copy(
|
74
|
+
GIT_WARN_UNUSED_RESULT int git_sortedcache_copy(
|
75
75
|
git_sortedcache **out,
|
76
76
|
git_sortedcache *src,
|
77
77
|
bool lock,
|
@@ -100,7 +100,7 @@ const char *git_sortedcache_path(git_sortedcache *sc);
|
|
100
100
|
*/
|
101
101
|
|
102
102
|
/* Lock sortedcache for write */
|
103
|
-
int git_sortedcache_wlock(git_sortedcache *sc);
|
103
|
+
GIT_WARN_UNUSED_RESULT int git_sortedcache_wlock(git_sortedcache *sc);
|
104
104
|
|
105
105
|
/* Unlock sorted cache when done with write */
|
106
106
|
void git_sortedcache_wunlock(git_sortedcache *sc);
|
@@ -120,7 +120,8 @@ void git_sortedcache_wunlock(git_sortedcache *sc);
|
|
120
120
|
*
|
121
121
|
* @return 0 if up-to-date, 1 if out-of-date, <0 on error
|
122
122
|
*/
|
123
|
-
int git_sortedcache_lockandload(
|
123
|
+
GIT_WARN_UNUSED_RESULT int git_sortedcache_lockandload(
|
124
|
+
git_sortedcache *sc, git_buf *buf);
|
124
125
|
|
125
126
|
/* Refresh file timestamp after write completes
|
126
127
|
* You should already be holding the write lock when you call this.
|
@@ -132,12 +133,13 @@ void git_sortedcache_updated(git_sortedcache *sc);
|
|
132
133
|
* If `wlock` is true, grabs write lock and releases when done, otherwise
|
133
134
|
* you should already be holding a write lock when you call this.
|
134
135
|
*/
|
135
|
-
int git_sortedcache_clear(
|
136
|
+
GIT_WARN_UNUSED_RESULT int git_sortedcache_clear(
|
137
|
+
git_sortedcache *sc, bool wlock);
|
136
138
|
|
137
139
|
/* Find and/or insert item, returning pointer to item data.
|
138
140
|
* You should already be holding the write lock when you call this.
|
139
141
|
*/
|
140
|
-
int git_sortedcache_upsert(
|
142
|
+
GIT_WARN_UNUSED_RESULT int git_sortedcache_upsert(
|
141
143
|
void **out, git_sortedcache *sc, const char *key);
|
142
144
|
|
143
145
|
/* Removes entry at pos from cache
|
@@ -155,7 +157,7 @@ int git_sortedcache_remove(git_sortedcache *sc, size_t pos);
|
|
155
157
|
*/
|
156
158
|
|
157
159
|
/* Lock sortedcache for read */
|
158
|
-
int git_sortedcache_rlock(git_sortedcache *sc);
|
160
|
+
GIT_WARN_UNUSED_RESULT int git_sortedcache_rlock(git_sortedcache *sc);
|
159
161
|
|
160
162
|
/* Unlock sorted cache when done with read */
|
161
163
|
void git_sortedcache_runlock(git_sortedcache *sc);
|
data/vendor/libgit2/src/stash.c
CHANGED
@@ -173,7 +173,7 @@ static int stash_to_index(
|
|
173
173
|
git_index *index,
|
174
174
|
const char *path)
|
175
175
|
{
|
176
|
-
git_index *repo_index;
|
176
|
+
git_index *repo_index = NULL;
|
177
177
|
git_index_entry entry = {{0}};
|
178
178
|
struct stat st;
|
179
179
|
int error;
|
@@ -187,7 +187,7 @@ static int stash_to_index(
|
|
187
187
|
return error;
|
188
188
|
|
189
189
|
git_index_entry__init_from_stat(&entry, &st,
|
190
|
-
(repo_index
|
190
|
+
(repo_index == NULL || !repo_index->distrust_filemode));
|
191
191
|
|
192
192
|
entry.path = path;
|
193
193
|
|
@@ -546,7 +546,9 @@ int git_stash_save(
|
|
546
546
|
git_buf msg = GIT_BUF_INIT;
|
547
547
|
int error;
|
548
548
|
|
549
|
-
|
549
|
+
GIT_ASSERT_ARG(out);
|
550
|
+
GIT_ASSERT_ARG(repo);
|
551
|
+
GIT_ASSERT_ARG(stasher);
|
550
552
|
|
551
553
|
if ((error = git_repository__ensure_not_bare(repo, "stash save")) < 0)
|
552
554
|
return error;
|
@@ -776,10 +778,12 @@ int git_stash_apply_options_init(git_stash_apply_options *opts, unsigned int ver
|
|
776
778
|
return 0;
|
777
779
|
}
|
778
780
|
|
781
|
+
#ifndef GIT_DEPRECATE_HARD
|
779
782
|
int git_stash_apply_init_options(git_stash_apply_options *opts, unsigned int version)
|
780
783
|
{
|
781
784
|
return git_stash_apply_options_init(opts, version);
|
782
785
|
}
|
786
|
+
#endif
|
783
787
|
|
784
788
|
#define NOTIFY_PROGRESS(opts, progress_type) \
|
785
789
|
do { \
|
data/vendor/libgit2/src/status.c
CHANGED
@@ -391,14 +391,14 @@ done:
|
|
391
391
|
|
392
392
|
size_t git_status_list_entrycount(git_status_list *status)
|
393
393
|
{
|
394
|
-
|
394
|
+
GIT_ASSERT_ARG_WITH_RETVAL(status, 0);
|
395
395
|
|
396
396
|
return status->paired.length;
|
397
397
|
}
|
398
398
|
|
399
399
|
const git_status_entry *git_status_byindex(git_status_list *status, size_t i)
|
400
400
|
{
|
401
|
-
|
401
|
+
GIT_ASSERT_ARG_WITH_RETVAL(status, NULL);
|
402
402
|
|
403
403
|
return git_vector_get(&status->paired, i);
|
404
404
|
}
|
@@ -492,7 +492,9 @@ int git_status_file(
|
|
492
492
|
struct status_file_info sfi = {0};
|
493
493
|
git_index *index;
|
494
494
|
|
495
|
-
|
495
|
+
GIT_ASSERT_ARG(status_flags);
|
496
|
+
GIT_ASSERT_ARG(repo);
|
497
|
+
GIT_ASSERT_ARG(path);
|
496
498
|
|
497
499
|
if ((error = git_repository_index__weakptr(&index, repo)) < 0)
|
498
500
|
return error;
|
@@ -548,15 +550,18 @@ int git_status_options_init(git_status_options *opts, unsigned int version)
|
|
548
550
|
return 0;
|
549
551
|
}
|
550
552
|
|
553
|
+
#ifndef GIT_DEPRECATE_HARD
|
551
554
|
int git_status_init_options(git_status_options *opts, unsigned int version)
|
552
555
|
{
|
553
556
|
return git_status_options_init(opts, version);
|
554
557
|
}
|
558
|
+
#endif
|
555
559
|
|
556
560
|
int git_status_list_get_perfdata(
|
557
561
|
git_diff_perfdata *out, const git_status_list *status)
|
558
562
|
{
|
559
|
-
|
563
|
+
GIT_ASSERT_ARG(out);
|
564
|
+
|
560
565
|
GIT_ERROR_CHECK_VERSION(out, GIT_DIFF_PERFDATA_VERSION, "git_diff_perfdata");
|
561
566
|
|
562
567
|
out->stat_calls = 0;
|
@@ -0,0 +1,64 @@
|
|
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
|
+
|
8
|
+
#include "util.h"
|
9
|
+
|
10
|
+
#include "common.h"
|
11
|
+
|
12
|
+
int git_strarray_copy(git_strarray *tgt, const git_strarray *src)
|
13
|
+
{
|
14
|
+
size_t i;
|
15
|
+
|
16
|
+
GIT_ASSERT_ARG(tgt);
|
17
|
+
GIT_ASSERT_ARG(src);
|
18
|
+
|
19
|
+
memset(tgt, 0, sizeof(*tgt));
|
20
|
+
|
21
|
+
if (!src->count)
|
22
|
+
return 0;
|
23
|
+
|
24
|
+
tgt->strings = git__calloc(src->count, sizeof(char *));
|
25
|
+
GIT_ERROR_CHECK_ALLOC(tgt->strings);
|
26
|
+
|
27
|
+
for (i = 0; i < src->count; ++i) {
|
28
|
+
if (!src->strings[i])
|
29
|
+
continue;
|
30
|
+
|
31
|
+
tgt->strings[tgt->count] = git__strdup(src->strings[i]);
|
32
|
+
if (!tgt->strings[tgt->count]) {
|
33
|
+
git_strarray_dispose(tgt);
|
34
|
+
memset(tgt, 0, sizeof(*tgt));
|
35
|
+
return -1;
|
36
|
+
}
|
37
|
+
|
38
|
+
tgt->count++;
|
39
|
+
}
|
40
|
+
|
41
|
+
return 0;
|
42
|
+
}
|
43
|
+
|
44
|
+
void git_strarray_dispose(git_strarray *array)
|
45
|
+
{
|
46
|
+
size_t i;
|
47
|
+
|
48
|
+
if (array == NULL)
|
49
|
+
return;
|
50
|
+
|
51
|
+
for (i = 0; i < array->count; ++i)
|
52
|
+
git__free(array->strings[i]);
|
53
|
+
|
54
|
+
git__free(array->strings);
|
55
|
+
|
56
|
+
memset(array, 0, sizeof(*array));
|
57
|
+
}
|
58
|
+
|
59
|
+
#ifndef GIT_DEPRECATE_HARD
|
60
|
+
void git_strarray_free(git_strarray *array)
|
61
|
+
{
|
62
|
+
git_strarray_dispose(array);
|
63
|
+
}
|
64
|
+
#endif
|
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
#include <ctype.h>
|
13
13
|
|
14
|
-
#include "
|
14
|
+
#include "runtime.h"
|
15
15
|
#include "stream.h"
|
16
16
|
#include "streams/socket.h"
|
17
17
|
#include "netops.h"
|
@@ -68,8 +68,6 @@ static void shutdown_ssl(void)
|
|
68
68
|
}
|
69
69
|
}
|
70
70
|
|
71
|
-
int git_mbedtls__set_cert_location(const char *path, int is_dir);
|
72
|
-
|
73
71
|
int git_mbedtls_stream_global_init(void)
|
74
72
|
{
|
75
73
|
int loaded = 0;
|
@@ -148,13 +146,11 @@ int git_mbedtls_stream_global_init(void)
|
|
148
146
|
|
149
147
|
/* load default certificates */
|
150
148
|
if (crtpath != NULL && stat(crtpath, &statbuf) == 0 && S_ISREG(statbuf.st_mode))
|
151
|
-
loaded = (git_mbedtls__set_cert_location(crtpath,
|
149
|
+
loaded = (git_mbedtls__set_cert_location(crtpath, NULL) == 0);
|
152
150
|
if (!loaded && crtpath != NULL && stat(crtpath, &statbuf) == 0 && S_ISDIR(statbuf.st_mode))
|
153
|
-
loaded = (git_mbedtls__set_cert_location(
|
154
|
-
|
155
|
-
git__on_shutdown(shutdown_ssl);
|
151
|
+
loaded = (git_mbedtls__set_cert_location(NULL, crtpath) == 0);
|
156
152
|
|
157
|
-
return
|
153
|
+
return git_runtime_shutdown_register(shutdown_ssl);
|
158
154
|
|
159
155
|
cleanup:
|
160
156
|
mbedtls_ctr_drbg_free(ctr_drbg);
|
@@ -183,8 +179,8 @@ static int ssl_set_error(mbedtls_ssl_context *ssl, int error)
|
|
183
179
|
char errbuf[512];
|
184
180
|
int ret = -1;
|
185
181
|
|
186
|
-
|
187
|
-
|
182
|
+
GIT_ASSERT(error != MBEDTLS_ERR_SSL_WANT_READ);
|
183
|
+
GIT_ASSERT(error != MBEDTLS_ERR_SSL_WANT_WRITE);
|
188
184
|
|
189
185
|
if (error != 0)
|
190
186
|
mbedtls_strerror( error, errbuf, 512 );
|
@@ -425,7 +421,9 @@ int git_mbedtls_stream_new(
|
|
425
421
|
git_stream *stream;
|
426
422
|
int error;
|
427
423
|
|
428
|
-
|
424
|
+
GIT_ASSERT_ARG(out);
|
425
|
+
GIT_ASSERT_ARG(host);
|
426
|
+
GIT_ASSERT_ARG(port);
|
429
427
|
|
430
428
|
if ((error = git_socket_stream_new(&stream, host, port)) < 0)
|
431
429
|
return error;
|
@@ -438,23 +436,22 @@ int git_mbedtls_stream_new(
|
|
438
436
|
return error;
|
439
437
|
}
|
440
438
|
|
441
|
-
int git_mbedtls__set_cert_location(const char *
|
439
|
+
int git_mbedtls__set_cert_location(const char *file, const char *path)
|
442
440
|
{
|
443
441
|
int ret = 0;
|
444
442
|
char errbuf[512];
|
445
443
|
mbedtls_x509_crt *cacert;
|
446
444
|
|
447
|
-
|
445
|
+
GIT_ASSERT_ARG(file || path);
|
448
446
|
|
449
447
|
cacert = git__malloc(sizeof(mbedtls_x509_crt));
|
450
448
|
GIT_ERROR_CHECK_ALLOC(cacert);
|
451
449
|
|
452
450
|
mbedtls_x509_crt_init(cacert);
|
453
|
-
if (
|
451
|
+
if (file)
|
452
|
+
ret = mbedtls_x509_crt_parse_file(cacert, file);
|
453
|
+
if (ret >= 0 && path)
|
454
454
|
ret = mbedtls_x509_crt_parse_path(cacert, path);
|
455
|
-
} else {
|
456
|
-
ret = mbedtls_x509_crt_parse_file(cacert, path);
|
457
|
-
}
|
458
455
|
/* mbedtls_x509_crt_parse_path returns the number of invalid certs on success */
|
459
456
|
if (ret < 0) {
|
460
457
|
mbedtls_x509_crt_free(cacert);
|
@@ -14,7 +14,7 @@
|
|
14
14
|
extern int git_mbedtls_stream_global_init(void);
|
15
15
|
|
16
16
|
#ifdef GIT_MBEDTLS
|
17
|
-
extern int git_mbedtls__set_cert_location(const char *
|
17
|
+
extern int git_mbedtls__set_cert_location(const char *file, const char *path);
|
18
18
|
|
19
19
|
extern int git_mbedtls_stream_new(git_stream **out, const char *host, const char *port);
|
20
20
|
extern int git_mbedtls_stream_wrap(git_stream **out, git_stream *in, const char *host);
|