rugged 0.27.7 → 0.27.10
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/AUTHORS +1 -0
- data/vendor/libgit2/CMakeLists.txt +99 -51
- data/vendor/libgit2/COPYING +28 -0
- data/vendor/libgit2/cmake/Modules/AddCFlagIfSupported.cmake +15 -1
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +29 -0
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +96 -0
- data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +9 -8
- data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
- data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +28 -0
- data/vendor/libgit2/cmake/Modules/FindIconv.cmake +11 -6
- data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +38 -0
- data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +37 -0
- data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +6 -0
- data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +110 -0
- data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +53 -0
- data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +124 -0
- data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +66 -0
- data/vendor/libgit2/deps/http-parser/http_parser.c +11 -6
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +21 -0
- data/vendor/libgit2/deps/ntlmclient/compat.h +33 -0
- data/vendor/libgit2/deps/ntlmclient/crypt.h +64 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +120 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +18 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +145 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +18 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +130 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +21 -0
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +1420 -0
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +174 -0
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +320 -0
- data/vendor/libgit2/deps/ntlmclient/unicode.h +36 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +445 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +201 -0
- data/vendor/libgit2/deps/ntlmclient/utf8.h +1257 -0
- data/vendor/libgit2/deps/ntlmclient/util.c +21 -0
- data/vendor/libgit2/deps/ntlmclient/util.h +14 -0
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +140 -0
- data/vendor/libgit2/deps/pcre/COPYING +5 -0
- data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
- data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +17 -0
- data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
- data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +29 -0
- data/vendor/libgit2/deps/pcre/config.h.in +57 -0
- data/vendor/libgit2/deps/pcre/pcre.h +641 -0
- data/vendor/libgit2/deps/pcre/pcre_byte_order.c +319 -0
- data/vendor/libgit2/deps/pcre/pcre_chartables.c +198 -0
- data/vendor/libgit2/deps/pcre/pcre_compile.c +9800 -0
- data/vendor/libgit2/deps/pcre/pcre_config.c +190 -0
- data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +3676 -0
- data/vendor/libgit2/deps/pcre/pcre_exec.c +7173 -0
- data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +245 -0
- data/vendor/libgit2/deps/pcre/pcre_get.c +669 -0
- data/vendor/libgit2/deps/pcre/pcre_globals.c +86 -0
- data/vendor/libgit2/deps/pcre/pcre_internal.h +2787 -0
- data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +11913 -0
- data/vendor/libgit2/deps/pcre/pcre_maketables.c +156 -0
- data/vendor/libgit2/deps/pcre/pcre_newline.c +210 -0
- data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +94 -0
- data/vendor/libgit2/deps/pcre/pcre_printint.c +834 -0
- data/vendor/libgit2/deps/pcre/pcre_refcount.c +92 -0
- data/vendor/libgit2/deps/pcre/pcre_string_utils.c +211 -0
- data/vendor/libgit2/deps/pcre/pcre_study.c +1686 -0
- data/vendor/libgit2/deps/pcre/pcre_tables.c +727 -0
- data/vendor/libgit2/deps/pcre/pcre_ucd.c +3644 -0
- data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +301 -0
- data/vendor/libgit2/deps/pcre/pcre_version.c +98 -0
- data/vendor/libgit2/deps/pcre/pcre_xclass.c +268 -0
- data/vendor/libgit2/deps/pcre/pcreposix.c +421 -0
- data/vendor/libgit2/deps/pcre/pcreposix.h +117 -0
- data/vendor/libgit2/deps/pcre/ucp.h +224 -0
- data/vendor/libgit2/deps/winhttp/COPYING.GPL +993 -0
- data/vendor/libgit2/deps/winhttp/COPYING.LGPL +502 -0
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +1 -0
- data/vendor/libgit2/deps/zlib/COPYING +27 -0
- data/vendor/libgit2/deps/zlib/adler32.c +0 -7
- data/vendor/libgit2/deps/zlib/crc32.c +0 -7
- data/vendor/libgit2/include/git2/annotated_commit.h +9 -0
- data/vendor/libgit2/include/git2/apply.h +149 -0
- data/vendor/libgit2/include/git2/attr.h +20 -13
- data/vendor/libgit2/include/git2/blame.h +4 -4
- data/vendor/libgit2/include/git2/blob.h +44 -12
- data/vendor/libgit2/include/git2/buffer.h +20 -26
- data/vendor/libgit2/include/git2/cert.h +135 -0
- data/vendor/libgit2/include/git2/checkout.h +53 -21
- data/vendor/libgit2/include/git2/cherrypick.h +3 -3
- data/vendor/libgit2/include/git2/clone.h +5 -5
- data/vendor/libgit2/include/git2/commit.h +25 -3
- data/vendor/libgit2/include/git2/common.h +35 -10
- data/vendor/libgit2/include/git2/config.h +29 -19
- data/vendor/libgit2/include/git2/cred.h +308 -0
- data/vendor/libgit2/include/git2/deprecated.h +493 -0
- data/vendor/libgit2/include/git2/describe.h +4 -4
- data/vendor/libgit2/include/git2/diff.h +177 -135
- data/vendor/libgit2/include/git2/errors.h +53 -46
- data/vendor/libgit2/include/git2/filter.h +8 -0
- data/vendor/libgit2/include/git2/index.h +74 -52
- data/vendor/libgit2/include/git2/indexer.h +76 -6
- data/vendor/libgit2/include/git2/merge.h +25 -10
- data/vendor/libgit2/include/git2/net.h +0 -5
- data/vendor/libgit2/include/git2/notes.h +1 -1
- data/vendor/libgit2/include/git2/object.h +17 -29
- data/vendor/libgit2/include/git2/odb.h +12 -11
- data/vendor/libgit2/include/git2/odb_backend.h +10 -9
- data/vendor/libgit2/include/git2/oid.h +2 -2
- data/vendor/libgit2/include/git2/pack.h +14 -3
- data/vendor/libgit2/include/git2/proxy.h +5 -3
- data/vendor/libgit2/include/git2/rebase.h +46 -2
- data/vendor/libgit2/include/git2/refs.h +34 -16
- data/vendor/libgit2/include/git2/remote.h +111 -14
- data/vendor/libgit2/include/git2/repository.h +69 -34
- data/vendor/libgit2/include/git2/revert.h +1 -1
- data/vendor/libgit2/include/git2/revwalk.h +7 -7
- data/vendor/libgit2/include/git2/signature.h +2 -2
- data/vendor/libgit2/include/git2/stash.h +5 -5
- data/vendor/libgit2/include/git2/status.h +26 -17
- data/vendor/libgit2/include/git2/submodule.h +23 -6
- data/vendor/libgit2/include/git2/sys/alloc.h +18 -18
- data/vendor/libgit2/include/git2/sys/commit.h +1 -1
- data/vendor/libgit2/include/git2/sys/config.h +13 -13
- data/vendor/libgit2/include/git2/sys/cred.h +90 -0
- data/vendor/libgit2/include/git2/sys/filter.h +6 -6
- data/vendor/libgit2/include/git2/sys/merge.h +3 -3
- data/vendor/libgit2/include/git2/sys/odb_backend.h +66 -22
- data/vendor/libgit2/include/git2/sys/path.h +14 -5
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +76 -40
- data/vendor/libgit2/include/git2/sys/repository.h +5 -1
- data/vendor/libgit2/include/git2/sys/stream.h +92 -12
- data/vendor/libgit2/include/git2/sys/transport.h +129 -83
- data/vendor/libgit2/include/git2/tag.h +13 -4
- data/vendor/libgit2/include/git2/trace.h +2 -2
- data/vendor/libgit2/include/git2/transport.h +11 -311
- data/vendor/libgit2/include/git2/tree.h +4 -4
- data/vendor/libgit2/include/git2/types.h +25 -106
- data/vendor/libgit2/include/git2/version.h +3 -3
- data/vendor/libgit2/include/git2/worktree.h +5 -5
- data/vendor/libgit2/include/git2.h +4 -0
- data/vendor/libgit2/src/CMakeLists.txt +104 -235
- data/vendor/libgit2/src/alloc.c +14 -18
- data/vendor/libgit2/src/{stdalloc.c → allocators/stdalloc.c} +7 -8
- data/vendor/libgit2/src/{stdalloc.h → allocators/stdalloc.h} +4 -4
- data/vendor/libgit2/src/allocators/win32_crtdbg.c +118 -0
- data/vendor/libgit2/src/{transports/cred.h → allocators/win32_crtdbg.h} +5 -4
- data/vendor/libgit2/src/annotated_commit.c +18 -11
- data/vendor/libgit2/src/apply.c +535 -28
- data/vendor/libgit2/src/apply.h +3 -1
- data/vendor/libgit2/src/array.h +2 -2
- data/vendor/libgit2/src/attr.c +77 -71
- data/vendor/libgit2/src/attr_file.c +203 -117
- data/vendor/libgit2/src/attr_file.h +9 -9
- data/vendor/libgit2/src/attrcache.c +49 -51
- data/vendor/libgit2/src/attrcache.h +2 -1
- data/vendor/libgit2/src/blame.c +38 -18
- data/vendor/libgit2/src/blame.h +1 -1
- data/vendor/libgit2/src/blame_git.c +29 -15
- data/vendor/libgit2/src/blob.c +123 -37
- data/vendor/libgit2/src/blob.h +19 -2
- data/vendor/libgit2/src/branch.c +47 -23
- data/vendor/libgit2/src/buf_text.c +7 -6
- data/vendor/libgit2/src/buffer.c +60 -53
- data/vendor/libgit2/src/cache.c +38 -45
- data/vendor/libgit2/src/cache.h +3 -3
- data/vendor/libgit2/src/cc-compat.h +20 -3
- data/vendor/libgit2/src/checkout.c +77 -67
- data/vendor/libgit2/src/cherrypick.c +12 -6
- data/vendor/libgit2/src/clone.c +36 -14
- data/vendor/libgit2/src/clone.h +4 -0
- data/vendor/libgit2/src/commit.c +103 -48
- data/vendor/libgit2/src/commit.h +7 -0
- data/vendor/libgit2/src/commit_list.c +36 -78
- data/vendor/libgit2/src/commit_list.h +2 -2
- data/vendor/libgit2/src/common.h +24 -90
- data/vendor/libgit2/src/config.c +203 -176
- data/vendor/libgit2/src/config.h +8 -20
- data/vendor/libgit2/src/config_backend.h +96 -0
- data/vendor/libgit2/src/config_cache.c +41 -35
- data/vendor/libgit2/src/config_entries.c +229 -0
- data/vendor/libgit2/src/config_entries.h +24 -0
- data/vendor/libgit2/src/config_file.c +422 -680
- data/vendor/libgit2/src/config_mem.c +220 -0
- data/vendor/libgit2/src/config_parse.c +96 -68
- data/vendor/libgit2/src/config_parse.h +15 -14
- data/vendor/libgit2/src/config_snapshot.c +206 -0
- data/vendor/libgit2/src/crlf.c +219 -196
- data/vendor/libgit2/src/delta.c +25 -18
- data/vendor/libgit2/src/describe.c +42 -41
- data/vendor/libgit2/src/diff.c +52 -67
- data/vendor/libgit2/src/diff.h +2 -1
- data/vendor/libgit2/src/diff_driver.c +44 -46
- data/vendor/libgit2/src/diff_file.c +16 -14
- data/vendor/libgit2/src/diff_file.h +1 -1
- data/vendor/libgit2/src/diff_generate.c +158 -103
- data/vendor/libgit2/src/diff_generate.h +3 -3
- data/vendor/libgit2/src/diff_parse.c +4 -4
- data/vendor/libgit2/src/diff_print.c +34 -22
- data/vendor/libgit2/src/diff_stats.c +22 -7
- data/vendor/libgit2/src/diff_tform.c +18 -16
- data/vendor/libgit2/src/diff_xdiff.c +3 -3
- data/vendor/libgit2/src/errors.c +51 -39
- data/vendor/libgit2/src/errors.h +81 -0
- data/vendor/libgit2/src/features.h.in +9 -3
- data/vendor/libgit2/src/fetch.c +8 -3
- data/vendor/libgit2/src/fetchhead.c +12 -12
- data/vendor/libgit2/src/filebuf.c +28 -32
- data/vendor/libgit2/src/filebuf.h +2 -2
- data/vendor/libgit2/src/filter.c +47 -33
- data/vendor/libgit2/src/filter.h +0 -10
- data/vendor/libgit2/src/{fileops.c → futils.c} +70 -63
- data/vendor/libgit2/src/{fileops.h → futils.h} +6 -6
- data/vendor/libgit2/src/global.c +35 -55
- data/vendor/libgit2/src/global.h +0 -2
- data/vendor/libgit2/src/hash/sha1/collisiondetect.c +48 -0
- data/vendor/libgit2/src/hash/sha1/collisiondetect.h +19 -0
- data/vendor/libgit2/src/hash/{hash_common_crypto.h → sha1/common_crypto.c} +17 -17
- data/vendor/libgit2/src/hash/sha1/common_crypto.h +19 -0
- data/vendor/libgit2/src/hash/{hash_generic.c → sha1/generic.c} +22 -10
- data/vendor/libgit2/src/hash/{hash_generic.h → sha1/generic.h} +4 -10
- data/vendor/libgit2/src/hash/{hash_mbedtls.c → sha1/mbedtls.c} +15 -7
- data/vendor/libgit2/src/hash/{hash_mbedtls.h → sha1/mbedtls.h} +6 -7
- data/vendor/libgit2/src/hash/sha1/openssl.c +59 -0
- data/vendor/libgit2/src/hash/sha1/openssl.h +19 -0
- data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.c +14 -3
- data/vendor/libgit2/src/hash/{hash_win32.c → sha1/win32.c} +47 -37
- data/vendor/libgit2/src/hash/{hash_win32.h → sha1/win32.h} +6 -19
- data/vendor/libgit2/src/hash/sha1.h +38 -0
- data/vendor/libgit2/src/hash.c +61 -0
- data/vendor/libgit2/src/hash.h +20 -21
- data/vendor/libgit2/src/hashsig.c +5 -5
- data/vendor/libgit2/src/idxmap.c +107 -61
- data/vendor/libgit2/src/idxmap.h +153 -31
- data/vendor/libgit2/src/ignore.c +38 -42
- data/vendor/libgit2/src/index.c +264 -199
- data/vendor/libgit2/src/index.h +7 -1
- data/vendor/libgit2/src/indexer.c +338 -167
- data/vendor/libgit2/src/integer.h +71 -26
- data/vendor/libgit2/src/iterator.c +134 -62
- data/vendor/libgit2/src/iterator.h +15 -0
- data/vendor/libgit2/src/mailmap.c +8 -8
- data/vendor/libgit2/src/map.h +1 -1
- data/vendor/libgit2/src/merge.c +137 -93
- data/vendor/libgit2/src/merge_driver.c +11 -11
- data/vendor/libgit2/src/merge_file.c +2 -2
- data/vendor/libgit2/src/mwindow.c +24 -29
- data/vendor/libgit2/src/mwindow.h +4 -4
- data/vendor/libgit2/src/net.c +184 -0
- data/vendor/libgit2/src/net.h +36 -0
- data/vendor/libgit2/src/netops.c +55 -156
- data/vendor/libgit2/src/netops.h +3 -23
- data/vendor/libgit2/src/notes.c +14 -9
- data/vendor/libgit2/src/object.c +120 -69
- data/vendor/libgit2/src/object.h +22 -9
- data/vendor/libgit2/src/object_api.c +8 -8
- data/vendor/libgit2/src/odb.c +111 -88
- data/vendor/libgit2/src/odb.h +8 -7
- data/vendor/libgit2/src/odb_loose.c +58 -47
- data/vendor/libgit2/src/odb_mempack.c +21 -34
- data/vendor/libgit2/src/odb_pack.c +17 -13
- data/vendor/libgit2/src/offmap.c +53 -35
- data/vendor/libgit2/src/offmap.h +108 -21
- data/vendor/libgit2/src/oid.c +12 -7
- data/vendor/libgit2/src/oidmap.c +49 -47
- data/vendor/libgit2/src/oidmap.h +101 -24
- data/vendor/libgit2/src/pack-objects.c +87 -86
- data/vendor/libgit2/src/pack-objects.h +2 -8
- data/vendor/libgit2/src/pack.c +94 -96
- data/vendor/libgit2/src/pack.h +16 -18
- data/vendor/libgit2/src/parse.c +17 -4
- data/vendor/libgit2/src/parse.h +3 -3
- data/vendor/libgit2/src/patch.c +3 -3
- data/vendor/libgit2/src/patch_generate.c +18 -18
- data/vendor/libgit2/src/patch_parse.c +147 -79
- data/vendor/libgit2/src/path.c +207 -62
- data/vendor/libgit2/src/path.h +14 -0
- data/vendor/libgit2/src/pathspec.c +18 -18
- data/vendor/libgit2/src/pool.c +26 -22
- data/vendor/libgit2/src/pool.h +7 -7
- data/vendor/libgit2/src/posix.c +10 -10
- data/vendor/libgit2/src/posix.h +12 -1
- data/vendor/libgit2/src/proxy.c +8 -3
- data/vendor/libgit2/src/push.c +35 -29
- data/vendor/libgit2/src/push.h +2 -1
- data/vendor/libgit2/src/reader.c +265 -0
- data/vendor/libgit2/src/reader.h +107 -0
- data/vendor/libgit2/src/rebase.c +97 -38
- data/vendor/libgit2/src/refdb.c +15 -3
- data/vendor/libgit2/src/refdb_fs.c +318 -222
- data/vendor/libgit2/src/reflog.c +13 -15
- data/vendor/libgit2/src/refs.c +122 -89
- data/vendor/libgit2/src/refs.h +5 -3
- data/vendor/libgit2/src/refspec.c +27 -33
- data/vendor/libgit2/src/regexp.c +221 -0
- data/vendor/libgit2/src/regexp.h +97 -0
- data/vendor/libgit2/src/remote.c +229 -178
- data/vendor/libgit2/src/remote.h +11 -2
- data/vendor/libgit2/src/repository.c +227 -172
- data/vendor/libgit2/src/repository.h +52 -40
- data/vendor/libgit2/src/reset.c +7 -7
- data/vendor/libgit2/src/revert.c +11 -6
- data/vendor/libgit2/src/revparse.c +46 -46
- data/vendor/libgit2/src/revwalk.c +89 -54
- data/vendor/libgit2/src/revwalk.h +20 -0
- data/vendor/libgit2/src/settings.c +22 -9
- data/vendor/libgit2/src/signature.c +15 -13
- data/vendor/libgit2/src/sortedcache.c +22 -36
- data/vendor/libgit2/src/sortedcache.h +1 -1
- data/vendor/libgit2/src/stash.c +56 -76
- data/vendor/libgit2/src/status.c +27 -21
- data/vendor/libgit2/src/stream.h +17 -2
- data/vendor/libgit2/src/streams/mbedtls.c +100 -80
- data/vendor/libgit2/src/streams/mbedtls.h +5 -2
- data/vendor/libgit2/src/streams/openssl.c +93 -81
- data/vendor/libgit2/src/streams/openssl.h +5 -2
- data/vendor/libgit2/src/streams/registry.c +118 -0
- data/vendor/libgit2/src/streams/registry.h +19 -0
- data/vendor/libgit2/src/streams/socket.c +55 -30
- data/vendor/libgit2/src/streams/stransport.c +57 -32
- data/vendor/libgit2/src/streams/stransport.h +5 -0
- data/vendor/libgit2/src/streams/tls.c +48 -20
- data/vendor/libgit2/src/streams/tls.h +12 -4
- data/vendor/libgit2/src/strmap.c +47 -74
- data/vendor/libgit2/src/strmap.h +108 -33
- data/vendor/libgit2/src/submodule.c +190 -169
- data/vendor/libgit2/src/submodule.h +1 -1
- data/vendor/libgit2/src/sysdir.c +25 -15
- data/vendor/libgit2/src/tag.c +39 -26
- data/vendor/libgit2/src/tag.h +2 -1
- data/vendor/libgit2/src/trace.c +2 -2
- data/vendor/libgit2/src/trace.h +2 -2
- data/vendor/libgit2/src/trailer.c +46 -32
- data/vendor/libgit2/src/transaction.c +30 -29
- data/vendor/libgit2/src/transport.c +3 -3
- data/vendor/libgit2/src/transports/auth.c +14 -10
- data/vendor/libgit2/src/transports/auth.h +10 -3
- data/vendor/libgit2/src/transports/auth_negotiate.c +31 -16
- data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
- data/vendor/libgit2/src/transports/auth_ntlm.c +223 -0
- data/vendor/libgit2/src/transports/auth_ntlm.h +35 -0
- data/vendor/libgit2/src/transports/cred.c +24 -24
- data/vendor/libgit2/src/transports/git.c +25 -30
- data/vendor/libgit2/src/transports/http.c +871 -335
- data/vendor/libgit2/src/transports/http.h +2 -0
- data/vendor/libgit2/src/transports/local.c +28 -28
- data/vendor/libgit2/src/transports/smart.c +64 -46
- data/vendor/libgit2/src/transports/smart.h +5 -6
- data/vendor/libgit2/src/transports/smart_pkt.c +162 -151
- data/vendor/libgit2/src/transports/smart_protocol.c +64 -94
- data/vendor/libgit2/src/transports/ssh.c +76 -65
- data/vendor/libgit2/src/transports/winhttp.c +328 -319
- data/vendor/libgit2/src/tree-cache.c +21 -14
- data/vendor/libgit2/src/tree.c +119 -112
- data/vendor/libgit2/src/tree.h +1 -0
- data/vendor/libgit2/src/unix/map.c +3 -3
- data/vendor/libgit2/src/unix/posix.h +1 -11
- data/vendor/libgit2/src/userdiff.h +3 -1
- data/vendor/libgit2/src/util.c +154 -93
- data/vendor/libgit2/src/util.h +19 -23
- data/vendor/libgit2/src/vector.c +15 -10
- data/vendor/libgit2/src/wildmatch.c +320 -0
- data/vendor/libgit2/src/wildmatch.h +23 -0
- data/vendor/libgit2/src/win32/dir.c +3 -3
- data/vendor/libgit2/src/win32/findfile.c +1 -1
- data/vendor/libgit2/src/win32/map.c +9 -11
- data/vendor/libgit2/src/win32/msvc-compat.h +6 -0
- data/vendor/libgit2/src/win32/path_w32.c +113 -9
- data/vendor/libgit2/src/win32/path_w32.h +18 -29
- data/vendor/libgit2/src/win32/posix.h +1 -4
- data/vendor/libgit2/src/win32/posix_w32.c +69 -44
- data/vendor/libgit2/src/win32/precompiled.h +0 -2
- data/vendor/libgit2/src/win32/thread.c +5 -10
- data/vendor/libgit2/src/win32/w32_buffer.c +9 -5
- data/vendor/libgit2/src/win32/w32_common.h +39 -0
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +2 -95
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -2
- data/vendor/libgit2/src/win32/w32_stack.c +6 -11
- data/vendor/libgit2/src/win32/w32_stack.h +3 -3
- data/vendor/libgit2/src/win32/w32_util.c +27 -64
- data/vendor/libgit2/src/win32/w32_util.h +5 -49
- data/vendor/libgit2/src/worktree.c +44 -30
- data/vendor/libgit2/src/xdiff/xdiffi.c +5 -5
- data/vendor/libgit2/src/xdiff/xhistogram.c +1 -1
- data/vendor/libgit2/src/xdiff/xmerge.c +27 -15
- data/vendor/libgit2/src/xdiff/xpatience.c +3 -0
- data/vendor/libgit2/src/zstream.c +4 -4
- metadata +115 -38
- data/vendor/libgit2/deps/regex/CMakeLists.txt +0 -2
- data/vendor/libgit2/deps/regex/config.h +0 -7
- data/vendor/libgit2/deps/regex/regcomp.c +0 -3857
- data/vendor/libgit2/deps/regex/regex.c +0 -92
- data/vendor/libgit2/deps/regex/regex.h +0 -582
- data/vendor/libgit2/deps/regex/regex_internal.c +0 -1744
- data/vendor/libgit2/deps/regex/regex_internal.h +0 -819
- data/vendor/libgit2/deps/regex/regexec.c +0 -4369
- data/vendor/libgit2/include/git2/inttypes.h +0 -309
- data/vendor/libgit2/include/git2/sys/time.h +0 -31
- data/vendor/libgit2/libgit2.pc.in +0 -13
- data/vendor/libgit2/src/config_file.h +0 -73
- data/vendor/libgit2/src/fnmatch.c +0 -248
- data/vendor/libgit2/src/fnmatch.h +0 -48
- data/vendor/libgit2/src/hash/hash_collisiondetect.h +0 -47
- data/vendor/libgit2/src/hash/hash_openssl.h +0 -59
- data/vendor/libgit2/src/streams/curl.c +0 -385
- data/vendor/libgit2/src/streams/curl.h +0 -17
- /data/vendor/libgit2/deps/http-parser/{LICENSE-MIT → COPYING} +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.h +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.c +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.h +0 -0
|
@@ -21,13 +21,10 @@ git_commit_list_node *git_revwalk__commit_lookup(
|
|
|
21
21
|
git_revwalk *walk, const git_oid *oid)
|
|
22
22
|
{
|
|
23
23
|
git_commit_list_node *commit;
|
|
24
|
-
khiter_t pos;
|
|
25
|
-
int ret;
|
|
26
24
|
|
|
27
25
|
/* lookup and reserve space if not already present */
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return git_oidmap_value_at(walk->commits, pos);
|
|
26
|
+
if ((commit = git_oidmap_get(walk->commits, oid)) != NULL)
|
|
27
|
+
return commit;
|
|
31
28
|
|
|
32
29
|
commit = git_commit_list_alloc_node(walk);
|
|
33
30
|
if (commit == NULL)
|
|
@@ -35,14 +32,13 @@ git_commit_list_node *git_revwalk__commit_lookup(
|
|
|
35
32
|
|
|
36
33
|
git_oid_cpy(&commit->oid, oid);
|
|
37
34
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
git_oidmap_set_value_at(walk->commits, pos, commit);
|
|
35
|
+
if ((git_oidmap_set(walk->commits, &commit->oid, commit)) < 0)
|
|
36
|
+
return NULL;
|
|
41
37
|
|
|
42
38
|
return commit;
|
|
43
39
|
}
|
|
44
40
|
|
|
45
|
-
|
|
41
|
+
int git_revwalk__push_commit(git_revwalk *walk, const git_oid *oid, const git_revwalk__push_options *opts)
|
|
46
42
|
{
|
|
47
43
|
git_oid commit_id;
|
|
48
44
|
int error;
|
|
@@ -50,18 +46,18 @@ static int push_commit(git_revwalk *walk, const git_oid *oid, int uninteresting,
|
|
|
50
46
|
git_commit_list_node *commit;
|
|
51
47
|
git_commit_list *list;
|
|
52
48
|
|
|
53
|
-
if ((error = git_object_lookup(&oobj, walk->repo, oid,
|
|
49
|
+
if ((error = git_object_lookup(&oobj, walk->repo, oid, GIT_OBJECT_ANY)) < 0)
|
|
54
50
|
return error;
|
|
55
51
|
|
|
56
|
-
error = git_object_peel(&obj, oobj,
|
|
52
|
+
error = git_object_peel(&obj, oobj, GIT_OBJECT_COMMIT);
|
|
57
53
|
git_object_free(oobj);
|
|
58
54
|
|
|
59
55
|
if (error == GIT_ENOTFOUND || error == GIT_EINVALIDSPEC || error == GIT_EPEEL) {
|
|
60
56
|
/* If this comes from e.g. push_glob("tags"), ignore this */
|
|
61
|
-
if (from_glob)
|
|
57
|
+
if (opts->from_glob)
|
|
62
58
|
return 0;
|
|
63
59
|
|
|
64
|
-
|
|
60
|
+
git_error_set(GIT_ERROR_INVALID, "object is not a committish");
|
|
65
61
|
return -1;
|
|
66
62
|
}
|
|
67
63
|
if (error < 0)
|
|
@@ -78,17 +74,19 @@ static int push_commit(git_revwalk *walk, const git_oid *oid, int uninteresting,
|
|
|
78
74
|
if (commit->uninteresting)
|
|
79
75
|
return 0;
|
|
80
76
|
|
|
81
|
-
if (uninteresting) {
|
|
77
|
+
if (opts->uninteresting) {
|
|
82
78
|
walk->limited = 1;
|
|
83
79
|
walk->did_hide = 1;
|
|
84
80
|
} else {
|
|
85
81
|
walk->did_push = 1;
|
|
86
82
|
}
|
|
87
83
|
|
|
88
|
-
commit->uninteresting = uninteresting;
|
|
84
|
+
commit->uninteresting = opts->uninteresting;
|
|
89
85
|
list = walk->user_input;
|
|
90
|
-
if (
|
|
91
|
-
|
|
86
|
+
if ((opts->insert_by_date &&
|
|
87
|
+
git_commit_list_insert_by_date(commit, &list) == NULL) ||
|
|
88
|
+
git_commit_list_insert(commit, &list) == NULL) {
|
|
89
|
+
git_error_set_oom();
|
|
92
90
|
return -1;
|
|
93
91
|
}
|
|
94
92
|
|
|
@@ -99,29 +97,36 @@ static int push_commit(git_revwalk *walk, const git_oid *oid, int uninteresting,
|
|
|
99
97
|
|
|
100
98
|
int git_revwalk_push(git_revwalk *walk, const git_oid *oid)
|
|
101
99
|
{
|
|
100
|
+
git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
|
|
101
|
+
|
|
102
102
|
assert(walk && oid);
|
|
103
|
-
|
|
103
|
+
|
|
104
|
+
return git_revwalk__push_commit(walk, oid, &opts);
|
|
104
105
|
}
|
|
105
106
|
|
|
106
107
|
|
|
107
108
|
int git_revwalk_hide(git_revwalk *walk, const git_oid *oid)
|
|
108
109
|
{
|
|
110
|
+
git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
|
|
109
111
|
assert(walk && oid);
|
|
110
|
-
|
|
112
|
+
|
|
113
|
+
opts.uninteresting = 1;
|
|
114
|
+
return git_revwalk__push_commit(walk, oid, &opts);
|
|
111
115
|
}
|
|
112
116
|
|
|
113
|
-
|
|
117
|
+
int git_revwalk__push_ref(git_revwalk *walk, const char *refname, const git_revwalk__push_options *opts)
|
|
114
118
|
{
|
|
115
119
|
git_oid oid;
|
|
116
120
|
|
|
117
121
|
if (git_reference_name_to_id(&oid, walk->repo, refname) < 0)
|
|
118
122
|
return -1;
|
|
119
123
|
|
|
120
|
-
return
|
|
124
|
+
return git_revwalk__push_commit(walk, &oid, opts);
|
|
121
125
|
}
|
|
122
126
|
|
|
123
|
-
|
|
127
|
+
int git_revwalk__push_glob(git_revwalk *walk, const char *glob, const git_revwalk__push_options *given_opts)
|
|
124
128
|
{
|
|
129
|
+
git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
|
|
125
130
|
int error = 0;
|
|
126
131
|
git_buf buf = GIT_BUF_INIT;
|
|
127
132
|
git_reference *ref;
|
|
@@ -130,12 +135,15 @@ static int push_glob(git_revwalk *walk, const char *glob, int hide)
|
|
|
130
135
|
|
|
131
136
|
assert(walk && glob);
|
|
132
137
|
|
|
138
|
+
if (given_opts)
|
|
139
|
+
memcpy(&opts, given_opts, sizeof(opts));
|
|
140
|
+
|
|
133
141
|
/* refs/ is implied if not given in the glob */
|
|
134
142
|
if (git__prefixcmp(glob, GIT_REFS_DIR) != 0)
|
|
135
143
|
git_buf_joinpath(&buf, GIT_REFS_DIR, glob);
|
|
136
144
|
else
|
|
137
145
|
git_buf_puts(&buf, glob);
|
|
138
|
-
|
|
146
|
+
GIT_ERROR_CHECK_ALLOC_BUF(&buf);
|
|
139
147
|
|
|
140
148
|
/* If no '?', '*' or '[' exist, we append '/ *' to the glob */
|
|
141
149
|
wildcard = strcspn(glob, "?*[");
|
|
@@ -145,8 +153,9 @@ static int push_glob(git_revwalk *walk, const char *glob, int hide)
|
|
|
145
153
|
if ((error = git_reference_iterator_glob_new(&iter, walk->repo, buf.ptr)) < 0)
|
|
146
154
|
goto out;
|
|
147
155
|
|
|
156
|
+
opts.from_glob = true;
|
|
148
157
|
while ((error = git_reference_next(&ref, iter)) == 0) {
|
|
149
|
-
error =
|
|
158
|
+
error = git_revwalk__push_ref(walk, git_reference_name(ref), &opts);
|
|
150
159
|
git_reference_free(ref);
|
|
151
160
|
if (error < 0)
|
|
152
161
|
break;
|
|
@@ -162,52 +171,74 @@ out:
|
|
|
162
171
|
|
|
163
172
|
int git_revwalk_push_glob(git_revwalk *walk, const char *glob)
|
|
164
173
|
{
|
|
174
|
+
git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
|
|
165
175
|
assert(walk && glob);
|
|
166
|
-
|
|
176
|
+
|
|
177
|
+
return git_revwalk__push_glob(walk, glob, &opts);
|
|
167
178
|
}
|
|
168
179
|
|
|
169
180
|
int git_revwalk_hide_glob(git_revwalk *walk, const char *glob)
|
|
170
181
|
{
|
|
182
|
+
git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
|
|
171
183
|
assert(walk && glob);
|
|
172
|
-
|
|
184
|
+
|
|
185
|
+
opts.uninteresting = 1;
|
|
186
|
+
return git_revwalk__push_glob(walk, glob, &opts);
|
|
173
187
|
}
|
|
174
188
|
|
|
175
189
|
int git_revwalk_push_head(git_revwalk *walk)
|
|
176
190
|
{
|
|
191
|
+
git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
|
|
177
192
|
assert(walk);
|
|
178
|
-
|
|
193
|
+
|
|
194
|
+
return git_revwalk__push_ref(walk, GIT_HEAD_FILE, &opts);
|
|
179
195
|
}
|
|
180
196
|
|
|
181
197
|
int git_revwalk_hide_head(git_revwalk *walk)
|
|
182
198
|
{
|
|
199
|
+
git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
|
|
183
200
|
assert(walk);
|
|
184
|
-
|
|
201
|
+
|
|
202
|
+
opts.uninteresting = 1;
|
|
203
|
+
return git_revwalk__push_ref(walk, GIT_HEAD_FILE, &opts);
|
|
185
204
|
}
|
|
186
205
|
|
|
187
206
|
int git_revwalk_push_ref(git_revwalk *walk, const char *refname)
|
|
188
207
|
{
|
|
208
|
+
git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
|
|
189
209
|
assert(walk && refname);
|
|
190
|
-
|
|
210
|
+
|
|
211
|
+
return git_revwalk__push_ref(walk, refname, &opts);
|
|
191
212
|
}
|
|
192
213
|
|
|
193
214
|
int git_revwalk_push_range(git_revwalk *walk, const char *range)
|
|
194
215
|
{
|
|
216
|
+
git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
|
|
195
217
|
git_revspec revspec;
|
|
196
218
|
int error = 0;
|
|
197
219
|
|
|
198
220
|
if ((error = git_revparse(&revspec, walk->repo, range)))
|
|
199
221
|
return error;
|
|
200
222
|
|
|
223
|
+
if (!revspec.to) {
|
|
224
|
+
git_error_set(GIT_ERROR_INVALID, "invalid revspec: range not provided");
|
|
225
|
+
error = GIT_EINVALIDSPEC;
|
|
226
|
+
goto out;
|
|
227
|
+
}
|
|
228
|
+
|
|
201
229
|
if (revspec.flags & GIT_REVPARSE_MERGE_BASE) {
|
|
202
230
|
/* TODO: support "<commit>...<commit>" */
|
|
203
|
-
|
|
204
|
-
|
|
231
|
+
git_error_set(GIT_ERROR_INVALID, "symmetric differences not implemented in revwalk");
|
|
232
|
+
error = GIT_EINVALIDSPEC;
|
|
233
|
+
goto out;
|
|
205
234
|
}
|
|
206
235
|
|
|
207
|
-
|
|
236
|
+
opts.uninteresting = 1;
|
|
237
|
+
if ((error = git_revwalk__push_commit(walk, git_object_id(revspec.from), &opts)))
|
|
208
238
|
goto out;
|
|
209
239
|
|
|
210
|
-
|
|
240
|
+
opts.uninteresting = 0;
|
|
241
|
+
error = git_revwalk__push_commit(walk, git_object_id(revspec.to), &opts);
|
|
211
242
|
|
|
212
243
|
out:
|
|
213
244
|
git_object_free(revspec.from);
|
|
@@ -217,8 +248,10 @@ out:
|
|
|
217
248
|
|
|
218
249
|
int git_revwalk_hide_ref(git_revwalk *walk, const char *refname)
|
|
219
250
|
{
|
|
251
|
+
git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
|
|
220
252
|
assert(walk && refname);
|
|
221
|
-
|
|
253
|
+
opts.uninteresting = 1;
|
|
254
|
+
return git_revwalk__push_ref(walk, refname, &opts);
|
|
222
255
|
}
|
|
223
256
|
|
|
224
257
|
static int revwalk_enqueue_timesort(git_revwalk *walk, git_commit_list_node *commit)
|
|
@@ -243,7 +276,7 @@ static int revwalk_next_timesort(git_commit_list_node **object_out, git_revwalk
|
|
|
243
276
|
}
|
|
244
277
|
}
|
|
245
278
|
|
|
246
|
-
|
|
279
|
+
git_error_clear();
|
|
247
280
|
return GIT_ITEROVER;
|
|
248
281
|
}
|
|
249
282
|
|
|
@@ -388,10 +421,16 @@ static int still_interesting(git_commit_list *list, int64_t time, int slop)
|
|
|
388
421
|
if (!list)
|
|
389
422
|
return 0;
|
|
390
423
|
|
|
424
|
+
/*
|
|
425
|
+
* If the destination list has commits with an earlier date than our
|
|
426
|
+
* source, we want to reset the slop counter as we're not done.
|
|
427
|
+
*/
|
|
428
|
+
if (time <= list->item->time)
|
|
429
|
+
return SLOP;
|
|
430
|
+
|
|
391
431
|
for (; list; list = list->next) {
|
|
392
432
|
/*
|
|
393
|
-
* If the destination list
|
|
394
|
-
* our source or if it still contains interesting commits we
|
|
433
|
+
* If the destination list still contains interesting commits we
|
|
395
434
|
* want to continue looking.
|
|
396
435
|
*/
|
|
397
436
|
if (!list->item->uninteresting || list->item->time > time)
|
|
@@ -405,7 +444,7 @@ static int still_interesting(git_commit_list *list, int64_t time, int slop)
|
|
|
405
444
|
static int limit_list(git_commit_list **out, git_revwalk *walk, git_commit_list *commits)
|
|
406
445
|
{
|
|
407
446
|
int error, slop = SLOP;
|
|
408
|
-
int64_t time =
|
|
447
|
+
int64_t time = INT64_MAX;
|
|
409
448
|
git_commit_list *list = commits;
|
|
410
449
|
git_commit_list *newlist = NULL;
|
|
411
450
|
git_commit_list **p = &newlist;
|
|
@@ -426,8 +465,8 @@ static int limit_list(git_commit_list **out, git_revwalk *walk, git_commit_list
|
|
|
426
465
|
break;
|
|
427
466
|
}
|
|
428
467
|
|
|
429
|
-
if (
|
|
430
|
-
|
|
468
|
+
if (walk->hide_cb && walk->hide_cb(&commit->oid, walk->hide_cb_payload))
|
|
469
|
+
continue;
|
|
431
470
|
|
|
432
471
|
time = commit->time;
|
|
433
472
|
p = &git_commit_list_insert(commit, p)->next;
|
|
@@ -445,7 +484,7 @@ static int get_revision(git_commit_list_node **out, git_revwalk *walk, git_commi
|
|
|
445
484
|
|
|
446
485
|
commit = git_commit_list_pop(list);
|
|
447
486
|
if (!commit) {
|
|
448
|
-
|
|
487
|
+
git_error_clear();
|
|
449
488
|
return GIT_ITEROVER;
|
|
450
489
|
}
|
|
451
490
|
|
|
@@ -550,13 +589,13 @@ cleanup:
|
|
|
550
589
|
|
|
551
590
|
static int prepare_walk(git_revwalk *walk)
|
|
552
591
|
{
|
|
553
|
-
int error;
|
|
592
|
+
int error = 0;
|
|
554
593
|
git_commit_list *list, *commits = NULL;
|
|
555
594
|
git_commit_list_node *next;
|
|
556
595
|
|
|
557
596
|
/* If there were no pushes, we know that the walk is already over */
|
|
558
597
|
if (!walk->did_push) {
|
|
559
|
-
|
|
598
|
+
git_error_clear();
|
|
560
599
|
return GIT_ITEROVER;
|
|
561
600
|
}
|
|
562
601
|
|
|
@@ -618,10 +657,10 @@ static int prepare_walk(git_revwalk *walk)
|
|
|
618
657
|
int git_revwalk_new(git_revwalk **revwalk_out, git_repository *repo)
|
|
619
658
|
{
|
|
620
659
|
git_revwalk *walk = git__calloc(1, sizeof(git_revwalk));
|
|
621
|
-
|
|
660
|
+
GIT_ERROR_CHECK_ALLOC(walk);
|
|
622
661
|
|
|
623
|
-
walk->commits
|
|
624
|
-
|
|
662
|
+
if (git_oidmap_new(&walk->commits) < 0)
|
|
663
|
+
return -1;
|
|
625
664
|
|
|
626
665
|
if (git_pqueue_init(&walk->iterator_time, 0, 8, git_commit_list_time_cmp) < 0)
|
|
627
666
|
return -1;
|
|
@@ -703,7 +742,7 @@ int git_revwalk_next(git_oid *oid, git_revwalk *walk)
|
|
|
703
742
|
|
|
704
743
|
if (error == GIT_ITEROVER) {
|
|
705
744
|
git_revwalk_reset(walk);
|
|
706
|
-
|
|
745
|
+
git_error_clear();
|
|
707
746
|
return GIT_ITEROVER;
|
|
708
747
|
}
|
|
709
748
|
|
|
@@ -750,15 +789,11 @@ int git_revwalk_add_hide_cb(
|
|
|
750
789
|
if (walk->walking)
|
|
751
790
|
git_revwalk_reset(walk);
|
|
752
791
|
|
|
753
|
-
if (walk->hide_cb) {
|
|
754
|
-
/* There is already a callback added */
|
|
755
|
-
giterr_set(GITERR_INVALID, "there is already a callback added to hide commits in revwalk");
|
|
756
|
-
return -1;
|
|
757
|
-
}
|
|
758
|
-
|
|
759
792
|
walk->hide_cb = hide_cb;
|
|
760
793
|
walk->hide_cb_payload = payload;
|
|
761
|
-
|
|
794
|
+
|
|
795
|
+
if (hide_cb)
|
|
796
|
+
walk->limited = 1;
|
|
762
797
|
|
|
763
798
|
return 0;
|
|
764
799
|
}
|
|
@@ -50,4 +50,24 @@ struct git_revwalk {
|
|
|
50
50
|
|
|
51
51
|
git_commit_list_node *git_revwalk__commit_lookup(git_revwalk *walk, const git_oid *oid);
|
|
52
52
|
|
|
53
|
+
typedef struct {
|
|
54
|
+
int uninteresting;
|
|
55
|
+
int from_glob;
|
|
56
|
+
int insert_by_date;
|
|
57
|
+
} git_revwalk__push_options;
|
|
58
|
+
|
|
59
|
+
#define GIT_REVWALK__PUSH_OPTIONS_INIT { 0 }
|
|
60
|
+
|
|
61
|
+
int git_revwalk__push_commit(git_revwalk *walk,
|
|
62
|
+
const git_oid *oid,
|
|
63
|
+
const git_revwalk__push_options *opts);
|
|
64
|
+
|
|
65
|
+
int git_revwalk__push_ref(git_revwalk *walk,
|
|
66
|
+
const char *refname,
|
|
67
|
+
const git_revwalk__push_options *opts);
|
|
68
|
+
|
|
69
|
+
int git_revwalk__push_glob(git_revwalk *walk,
|
|
70
|
+
const char *glob,
|
|
71
|
+
const git_revwalk__push_options *given_opts);
|
|
72
|
+
|
|
53
73
|
#endif
|
|
@@ -56,6 +56,8 @@ int git_libgit2_features(void)
|
|
|
56
56
|
/* Declarations for tuneable settings */
|
|
57
57
|
extern size_t git_mwindow__window_size;
|
|
58
58
|
extern size_t git_mwindow__mapped_limit;
|
|
59
|
+
extern size_t git_indexer__max_objects;
|
|
60
|
+
extern bool git_disable_pack_keep_file_checks;
|
|
59
61
|
|
|
60
62
|
static int config_level_to_sysdir(int config_level)
|
|
61
63
|
{
|
|
@@ -75,8 +77,8 @@ static int config_level_to_sysdir(int config_level)
|
|
|
75
77
|
val = GIT_SYSDIR_PROGRAMDATA;
|
|
76
78
|
break;
|
|
77
79
|
default:
|
|
78
|
-
|
|
79
|
-
|
|
80
|
+
git_error_set(
|
|
81
|
+
GIT_ERROR_INVALID, "invalid config path selector %d", config_level);
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
return val;
|
|
@@ -139,7 +141,7 @@ int git_libgit2_opts(int key, ...)
|
|
|
139
141
|
|
|
140
142
|
case GIT_OPT_SET_CACHE_OBJECT_LIMIT:
|
|
141
143
|
{
|
|
142
|
-
|
|
144
|
+
git_object_t type = (git_object_t)va_arg(ap, int);
|
|
143
145
|
size_t size = va_arg(ap, size_t);
|
|
144
146
|
error = git_cache_set_max_object_size(type, size);
|
|
145
147
|
break;
|
|
@@ -192,7 +194,7 @@ int git_libgit2_opts(int key, ...)
|
|
|
192
194
|
error = git_mbedtls__set_cert_location(path, 1);
|
|
193
195
|
}
|
|
194
196
|
#else
|
|
195
|
-
|
|
197
|
+
git_error_set(GIT_ERROR_SSL, "TLS backend doesn't support certificate locations");
|
|
196
198
|
error = -1;
|
|
197
199
|
#endif
|
|
198
200
|
break;
|
|
@@ -200,7 +202,7 @@ int git_libgit2_opts(int key, ...)
|
|
|
200
202
|
git__free(git__user_agent);
|
|
201
203
|
git__user_agent = git__strdup(va_arg(ap, const char *));
|
|
202
204
|
if (!git__user_agent) {
|
|
203
|
-
|
|
205
|
+
git_error_set_oom();
|
|
204
206
|
error = -1;
|
|
205
207
|
}
|
|
206
208
|
|
|
@@ -220,12 +222,12 @@ int git_libgit2_opts(int key, ...)
|
|
|
220
222
|
git__free(git__ssl_ciphers);
|
|
221
223
|
git__ssl_ciphers = git__strdup(va_arg(ap, const char *));
|
|
222
224
|
if (!git__ssl_ciphers) {
|
|
223
|
-
|
|
225
|
+
git_error_set_oom();
|
|
224
226
|
error = -1;
|
|
225
227
|
}
|
|
226
228
|
}
|
|
227
229
|
#else
|
|
228
|
-
|
|
230
|
+
git_error_set(GIT_ERROR_SSL, "TLS backend doesn't support custom ciphers");
|
|
229
231
|
error = -1;
|
|
230
232
|
#endif
|
|
231
233
|
break;
|
|
@@ -270,8 +272,20 @@ int git_libgit2_opts(int key, ...)
|
|
|
270
272
|
git_index__enforce_unsaved_safety = (va_arg(ap, int) != 0);
|
|
271
273
|
break;
|
|
272
274
|
|
|
275
|
+
case GIT_OPT_SET_PACK_MAX_OBJECTS:
|
|
276
|
+
git_indexer__max_objects = va_arg(ap, size_t);
|
|
277
|
+
break;
|
|
278
|
+
|
|
279
|
+
case GIT_OPT_GET_PACK_MAX_OBJECTS:
|
|
280
|
+
*(va_arg(ap, size_t *)) = git_indexer__max_objects;
|
|
281
|
+
break;
|
|
282
|
+
|
|
283
|
+
case GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS:
|
|
284
|
+
git_disable_pack_keep_file_checks = (va_arg(ap, int) != 0);
|
|
285
|
+
break;
|
|
286
|
+
|
|
273
287
|
default:
|
|
274
|
-
|
|
288
|
+
git_error_set(GIT_ERROR_INVALID, "invalid option key");
|
|
275
289
|
error = -1;
|
|
276
290
|
}
|
|
277
291
|
|
|
@@ -279,4 +293,3 @@ int git_libgit2_opts(int key, ...)
|
|
|
279
293
|
|
|
280
294
|
return error;
|
|
281
295
|
}
|
|
282
|
-
|
|
@@ -25,7 +25,7 @@ void git_signature_free(git_signature *sig)
|
|
|
25
25
|
|
|
26
26
|
static int signature_error(const char *msg)
|
|
27
27
|
{
|
|
28
|
-
|
|
28
|
+
git_error_set(GIT_ERROR_INVALID, "failed to parse signature - %s", msg);
|
|
29
29
|
return -1;
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -76,12 +76,12 @@ int git_signature_new(git_signature **sig_out, const char *name, const char *ema
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
p = git__calloc(1, sizeof(git_signature));
|
|
79
|
-
|
|
79
|
+
GIT_ERROR_CHECK_ALLOC(p);
|
|
80
80
|
|
|
81
81
|
p->name = extract_trimmed(name, strlen(name));
|
|
82
|
-
|
|
82
|
+
GIT_ERROR_CHECK_ALLOC(p->name);
|
|
83
83
|
p->email = extract_trimmed(email, strlen(email));
|
|
84
|
-
|
|
84
|
+
GIT_ERROR_CHECK_ALLOC(p->email);
|
|
85
85
|
|
|
86
86
|
if (p->name[0] == '\0' || p->email[0] == '\0') {
|
|
87
87
|
git_signature_free(p);
|
|
@@ -104,13 +104,13 @@ int git_signature_dup(git_signature **dest, const git_signature *source)
|
|
|
104
104
|
return 0;
|
|
105
105
|
|
|
106
106
|
signature = git__calloc(1, sizeof(git_signature));
|
|
107
|
-
|
|
107
|
+
GIT_ERROR_CHECK_ALLOC(signature);
|
|
108
108
|
|
|
109
109
|
signature->name = git__strdup(source->name);
|
|
110
|
-
|
|
110
|
+
GIT_ERROR_CHECK_ALLOC(signature->name);
|
|
111
111
|
|
|
112
112
|
signature->email = git__strdup(source->email);
|
|
113
|
-
|
|
113
|
+
GIT_ERROR_CHECK_ALLOC(signature->email);
|
|
114
114
|
|
|
115
115
|
signature->when.time = source->when.time;
|
|
116
116
|
signature->when.offset = source->when.offset;
|
|
@@ -129,13 +129,13 @@ int git_signature__pdup(git_signature **dest, const git_signature *source, git_p
|
|
|
129
129
|
return 0;
|
|
130
130
|
|
|
131
131
|
signature = git_pool_mallocz(pool, sizeof(git_signature));
|
|
132
|
-
|
|
132
|
+
GIT_ERROR_CHECK_ALLOC(signature);
|
|
133
133
|
|
|
134
134
|
signature->name = git_pool_strdup(pool, source->name);
|
|
135
|
-
|
|
135
|
+
GIT_ERROR_CHECK_ALLOC(signature->name);
|
|
136
136
|
|
|
137
137
|
signature->email = git_pool_strdup(pool, source->email);
|
|
138
|
-
|
|
138
|
+
GIT_ERROR_CHECK_ALLOC(signature->email);
|
|
139
139
|
|
|
140
140
|
signature->when.time = source->when.time;
|
|
141
141
|
signature->when.offset = source->when.offset;
|
|
@@ -231,7 +231,8 @@ int git_signature__parse(git_signature *sig, const char **buffer_out,
|
|
|
231
231
|
const char *time_start = email_end + 2;
|
|
232
232
|
const char *time_end;
|
|
233
233
|
|
|
234
|
-
if (
|
|
234
|
+
if (git__strntol64(&sig->when.time, time_start,
|
|
235
|
+
buffer_end - time_start, &time_end, 10) < 0) {
|
|
235
236
|
git__free(sig->name);
|
|
236
237
|
git__free(sig->email);
|
|
237
238
|
sig->name = sig->email = NULL;
|
|
@@ -246,7 +247,8 @@ int git_signature__parse(git_signature *sig, const char **buffer_out,
|
|
|
246
247
|
tz_start = time_end + 1;
|
|
247
248
|
|
|
248
249
|
if ((tz_start[0] != '-' && tz_start[0] != '+') ||
|
|
249
|
-
|
|
250
|
+
git__strntol32(&offset, tz_start + 1,
|
|
251
|
+
buffer_end - tz_start - 1, &tz_end, 10) < 0) {
|
|
250
252
|
/* malformed timezone, just assume it's zero */
|
|
251
253
|
offset = 0;
|
|
252
254
|
}
|
|
@@ -282,7 +284,7 @@ int git_signature_from_buffer(git_signature **out, const char *buf)
|
|
|
282
284
|
*out = NULL;
|
|
283
285
|
|
|
284
286
|
sig = git__calloc(1, sizeof(git_signature));
|
|
285
|
-
|
|
287
|
+
GIT_ERROR_CHECK_ALLOC(sig);
|
|
286
288
|
|
|
287
289
|
buf_end = buf + strlen(buf);
|
|
288
290
|
error = git_signature__parse(sig, &buf, buf_end, NULL, '\0');
|