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
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
#include "index.h"
|
|
17
17
|
#include "bitvec.h"
|
|
18
18
|
#include "diff.h"
|
|
19
|
+
#include "wildmatch.h"
|
|
19
20
|
|
|
20
21
|
/* what is the common non-wildcard prefix for all items in the pathspec */
|
|
21
22
|
char *git_pathspec_prefix(const git_strarray *pathspec)
|
|
@@ -84,8 +85,7 @@ int git_pathspec__vinit(
|
|
|
84
85
|
if (!match)
|
|
85
86
|
return -1;
|
|
86
87
|
|
|
87
|
-
match->flags = GIT_ATTR_FNMATCH_ALLOWSPACE |
|
|
88
|
-
GIT_ATTR_FNMATCH_ALLOWNEG | GIT_ATTR_FNMATCH_NOLEADINGDIR;
|
|
88
|
+
match->flags = GIT_ATTR_FNMATCH_ALLOWSPACE | GIT_ATTR_FNMATCH_ALLOWNEG;
|
|
89
89
|
|
|
90
90
|
ret = git_attr_fnmatch__parse(match, strpool, NULL, &pattern);
|
|
91
91
|
if (ret == GIT_ENOTFOUND) {
|
|
@@ -110,7 +110,7 @@ void git_pathspec__vfree(git_vector *vspec)
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
struct pathspec_match_context {
|
|
113
|
-
int
|
|
113
|
+
int wildmatch_flags;
|
|
114
114
|
int (*strcomp)(const char *, const char *);
|
|
115
115
|
int (*strncomp)(const char *, const char *, size_t);
|
|
116
116
|
};
|
|
@@ -121,11 +121,11 @@ static void pathspec_match_context_init(
|
|
|
121
121
|
bool casefold)
|
|
122
122
|
{
|
|
123
123
|
if (disable_fnmatch)
|
|
124
|
-
ctxt->
|
|
124
|
+
ctxt->wildmatch_flags = -1;
|
|
125
125
|
else if (casefold)
|
|
126
|
-
ctxt->
|
|
126
|
+
ctxt->wildmatch_flags = WM_CASEFOLD;
|
|
127
127
|
else
|
|
128
|
-
ctxt->
|
|
128
|
+
ctxt->wildmatch_flags = 0;
|
|
129
129
|
|
|
130
130
|
if (casefold) {
|
|
131
131
|
ctxt->strcomp = git__strcasecmp;
|
|
@@ -141,16 +141,16 @@ static int pathspec_match_one(
|
|
|
141
141
|
struct pathspec_match_context *ctxt,
|
|
142
142
|
const char *path)
|
|
143
143
|
{
|
|
144
|
-
int result = (match->flags & GIT_ATTR_FNMATCH_MATCH_ALL) ? 0 :
|
|
144
|
+
int result = (match->flags & GIT_ATTR_FNMATCH_MATCH_ALL) ? 0 : WM_NOMATCH;
|
|
145
145
|
|
|
146
|
-
if (result ==
|
|
147
|
-
result = ctxt->strcomp(match->pattern, path) ?
|
|
146
|
+
if (result == WM_NOMATCH)
|
|
147
|
+
result = ctxt->strcomp(match->pattern, path) ? WM_NOMATCH : 0;
|
|
148
148
|
|
|
149
|
-
if (ctxt->
|
|
150
|
-
result =
|
|
149
|
+
if (ctxt->wildmatch_flags >= 0 && result == WM_NOMATCH)
|
|
150
|
+
result = wildmatch(match->pattern, path, ctxt->wildmatch_flags);
|
|
151
151
|
|
|
152
152
|
/* if we didn't match, look for exact dirname prefix match */
|
|
153
|
-
if (result ==
|
|
153
|
+
if (result == WM_NOMATCH &&
|
|
154
154
|
(match->flags & GIT_ATTR_FNMATCH_HASWILD) == 0 &&
|
|
155
155
|
ctxt->strncomp(path, match->pattern, match->length) == 0 &&
|
|
156
156
|
path[match->length] == '/')
|
|
@@ -159,7 +159,7 @@ static int pathspec_match_one(
|
|
|
159
159
|
/* if we didn't match and this is a negative match, check for exact
|
|
160
160
|
* match of filename with leading '!'
|
|
161
161
|
*/
|
|
162
|
-
if (result ==
|
|
162
|
+
if (result == WM_NOMATCH &&
|
|
163
163
|
(match->flags & GIT_ATTR_FNMATCH_NEGATIVE) != 0 &&
|
|
164
164
|
*path == '!' &&
|
|
165
165
|
ctxt->strncomp(path + 1, match->pattern, match->length) == 0 &&
|
|
@@ -258,7 +258,7 @@ int git_pathspec_new(git_pathspec **out, const git_strarray *pathspec)
|
|
|
258
258
|
{
|
|
259
259
|
int error = 0;
|
|
260
260
|
git_pathspec *ps = git__malloc(sizeof(git_pathspec));
|
|
261
|
-
|
|
261
|
+
GIT_ERROR_CHECK_ALLOC(ps);
|
|
262
262
|
|
|
263
263
|
if ((error = git_pathspec__init(ps, pathspec)) < 0) {
|
|
264
264
|
git__free(ps);
|
|
@@ -416,7 +416,7 @@ static int pathspec_match_from_iterator(
|
|
|
416
416
|
|
|
417
417
|
if (out) {
|
|
418
418
|
*out = m = pathspec_match_alloc(ps, PATHSPEC_DATATYPE_STRINGS);
|
|
419
|
-
|
|
419
|
+
GIT_ERROR_CHECK_ALLOC(m);
|
|
420
420
|
}
|
|
421
421
|
|
|
422
422
|
if ((error = git_iterator_reset_range(iter, ps->prefix, ps->prefix)) < 0)
|
|
@@ -488,7 +488,7 @@ static int pathspec_match_from_iterator(
|
|
|
488
488
|
|
|
489
489
|
/* if every pattern failed to match, then we have failed */
|
|
490
490
|
if ((flags & GIT_PATHSPEC_NO_MATCH_ERROR) != 0 && !found_files) {
|
|
491
|
-
|
|
491
|
+
git_error_set(GIT_ERROR_INVALID, "no matching files were found");
|
|
492
492
|
error = GIT_ENOTFOUND;
|
|
493
493
|
}
|
|
494
494
|
|
|
@@ -604,7 +604,7 @@ int git_pathspec_match_diff(
|
|
|
604
604
|
|
|
605
605
|
if (out) {
|
|
606
606
|
*out = m = pathspec_match_alloc(ps, PATHSPEC_DATATYPE_DIFF);
|
|
607
|
-
|
|
607
|
+
GIT_ERROR_CHECK_ALLOC(m);
|
|
608
608
|
}
|
|
609
609
|
|
|
610
610
|
pathspec_match_context_init(
|
|
@@ -659,7 +659,7 @@ int git_pathspec_match_diff(
|
|
|
659
659
|
|
|
660
660
|
/* if every pattern failed to match, then we have failed */
|
|
661
661
|
if ((flags & GIT_PATHSPEC_NO_MATCH_ERROR) != 0 && !found_deltas) {
|
|
662
|
-
|
|
662
|
+
git_error_set(GIT_ERROR_INVALID, "no matching deltas were found");
|
|
663
663
|
error = GIT_ENOTFOUND;
|
|
664
664
|
}
|
|
665
665
|
|
data/vendor/libgit2/src/pool.c
CHANGED
|
@@ -14,30 +14,30 @@
|
|
|
14
14
|
|
|
15
15
|
struct git_pool_page {
|
|
16
16
|
git_pool_page *next;
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
size_t size;
|
|
18
|
+
size_t avail;
|
|
19
19
|
GIT_ALIGN(char data[GIT_FLEX_ARRAY], 8);
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
static void *pool_alloc_page(git_pool *pool,
|
|
22
|
+
static void *pool_alloc_page(git_pool *pool, size_t size);
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
size_t git_pool__system_page_size(void)
|
|
25
25
|
{
|
|
26
|
-
static
|
|
26
|
+
static size_t size = 0;
|
|
27
27
|
|
|
28
28
|
if (!size) {
|
|
29
29
|
size_t page_size;
|
|
30
30
|
if (git__page_size(&page_size) < 0)
|
|
31
31
|
page_size = 4096;
|
|
32
32
|
/* allow space for malloc overhead */
|
|
33
|
-
size = page_size - (2 * sizeof(void *)) - sizeof(git_pool_page);
|
|
33
|
+
size = (page_size - (2 * sizeof(void *)) - sizeof(git_pool_page));
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
return size;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
#ifndef GIT_DEBUG_POOL
|
|
40
|
-
void git_pool_init(git_pool *pool,
|
|
40
|
+
void git_pool_init(git_pool *pool, size_t item_size)
|
|
41
41
|
{
|
|
42
42
|
assert(pool);
|
|
43
43
|
assert(item_size >= 1);
|
|
@@ -59,10 +59,10 @@ void git_pool_clear(git_pool *pool)
|
|
|
59
59
|
pool->pages = NULL;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
static void *pool_alloc_page(git_pool *pool,
|
|
62
|
+
static void *pool_alloc_page(git_pool *pool, size_t size)
|
|
63
63
|
{
|
|
64
64
|
git_pool_page *page;
|
|
65
|
-
const
|
|
65
|
+
const size_t new_page_size = (size <= pool->page_size) ? pool->page_size : size;
|
|
66
66
|
size_t alloc_size;
|
|
67
67
|
|
|
68
68
|
if (GIT_ADD_SIZET_OVERFLOW(&alloc_size, new_page_size, sizeof(git_pool_page)) ||
|
|
@@ -78,7 +78,7 @@ static void *pool_alloc_page(git_pool *pool, uint32_t size)
|
|
|
78
78
|
return page->data;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
static void *pool_alloc(git_pool *pool,
|
|
81
|
+
static void *pool_alloc(git_pool *pool, size_t size)
|
|
82
82
|
{
|
|
83
83
|
git_pool_page *page = pool->pages;
|
|
84
84
|
void *ptr = NULL;
|
|
@@ -125,7 +125,7 @@ static int git_pool__ptr_cmp(const void * a, const void * b)
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
-
void git_pool_init(git_pool *pool,
|
|
128
|
+
void git_pool_init(git_pool *pool, size_t item_size)
|
|
129
129
|
{
|
|
130
130
|
assert(pool);
|
|
131
131
|
assert(item_size >= 1);
|
|
@@ -141,7 +141,7 @@ void git_pool_clear(git_pool *pool)
|
|
|
141
141
|
git_vector_free_deep(&pool->allocations);
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
-
static void *pool_alloc(git_pool *pool,
|
|
144
|
+
static void *pool_alloc(git_pool *pool, size_t size) {
|
|
145
145
|
void *ptr = NULL;
|
|
146
146
|
if((ptr = git__malloc(size)) == NULL) {
|
|
147
147
|
return NULL;
|
|
@@ -169,26 +169,26 @@ void git_pool_swap(git_pool *a, git_pool *b)
|
|
|
169
169
|
memcpy(b, &temp, sizeof(temp));
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
-
static
|
|
172
|
+
static size_t alloc_size(git_pool *pool, size_t count)
|
|
173
173
|
{
|
|
174
|
-
const
|
|
174
|
+
const size_t align = sizeof(void *) - 1;
|
|
175
175
|
|
|
176
176
|
if (pool->item_size > 1) {
|
|
177
|
-
const
|
|
177
|
+
const size_t item_size = (pool->item_size + align) & ~align;
|
|
178
178
|
return item_size * count;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
return (count + align) & ~align;
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
-
void *git_pool_malloc(git_pool *pool,
|
|
184
|
+
void *git_pool_malloc(git_pool *pool, size_t items)
|
|
185
185
|
{
|
|
186
186
|
return pool_alloc(pool, alloc_size(pool, items));
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
-
void *git_pool_mallocz(git_pool *pool,
|
|
189
|
+
void *git_pool_mallocz(git_pool *pool, size_t items)
|
|
190
190
|
{
|
|
191
|
-
const
|
|
191
|
+
const size_t size = alloc_size(pool, items);
|
|
192
192
|
void *ptr = pool_alloc(pool, size);
|
|
193
193
|
if (ptr)
|
|
194
194
|
memset(ptr, 0x0, size);
|
|
@@ -201,10 +201,10 @@ char *git_pool_strndup(git_pool *pool, const char *str, size_t n)
|
|
|
201
201
|
|
|
202
202
|
assert(pool && str && pool->item_size == sizeof(char));
|
|
203
203
|
|
|
204
|
-
if (
|
|
204
|
+
if (n == SIZE_MAX)
|
|
205
205
|
return NULL;
|
|
206
206
|
|
|
207
|
-
if ((ptr = git_pool_malloc(pool, (
|
|
207
|
+
if ((ptr = git_pool_malloc(pool, (n + 1))) != NULL) {
|
|
208
208
|
memcpy(ptr, str, n);
|
|
209
209
|
ptr[n] = '\0';
|
|
210
210
|
}
|
|
@@ -226,14 +226,18 @@ char *git_pool_strdup_safe(git_pool *pool, const char *str)
|
|
|
226
226
|
char *git_pool_strcat(git_pool *pool, const char *a, const char *b)
|
|
227
227
|
{
|
|
228
228
|
void *ptr;
|
|
229
|
-
size_t len_a, len_b;
|
|
229
|
+
size_t len_a, len_b, total;
|
|
230
230
|
|
|
231
231
|
assert(pool && pool->item_size == sizeof(char));
|
|
232
232
|
|
|
233
233
|
len_a = a ? strlen(a) : 0;
|
|
234
234
|
len_b = b ? strlen(b) : 0;
|
|
235
235
|
|
|
236
|
-
if ((
|
|
236
|
+
if (GIT_ADD_SIZET_OVERFLOW(&total, len_a, len_b) ||
|
|
237
|
+
GIT_ADD_SIZET_OVERFLOW(&total, total, 1))
|
|
238
|
+
return NULL;
|
|
239
|
+
|
|
240
|
+
if ((ptr = git_pool_malloc(pool, total)) != NULL) {
|
|
237
241
|
if (len_a)
|
|
238
242
|
memcpy(ptr, a, len_a);
|
|
239
243
|
if (len_b)
|
data/vendor/libgit2/src/pool.h
CHANGED
|
@@ -32,8 +32,8 @@ typedef struct git_pool_page git_pool_page;
|
|
|
32
32
|
*/
|
|
33
33
|
typedef struct {
|
|
34
34
|
git_pool_page *pages; /* allocated pages */
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
size_t item_size; /* size of single alloc unit in bytes */
|
|
36
|
+
size_t page_size; /* size of page in bytes */
|
|
37
37
|
} git_pool;
|
|
38
38
|
|
|
39
39
|
#define GIT_POOL_INIT { NULL, 0, 0 }
|
|
@@ -57,8 +57,8 @@ typedef struct {
|
|
|
57
57
|
*/
|
|
58
58
|
typedef struct {
|
|
59
59
|
git_vector allocations;
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
size_t item_size;
|
|
61
|
+
size_t page_size;
|
|
62
62
|
} git_pool;
|
|
63
63
|
|
|
64
64
|
#define GIT_POOL_INIT { GIT_VECTOR_INIT, 0, 0 }
|
|
@@ -81,7 +81,7 @@ typedef struct {
|
|
|
81
81
|
* Of course, you can use this in other ways, but those are the
|
|
82
82
|
* two most common patterns.
|
|
83
83
|
*/
|
|
84
|
-
extern void git_pool_init(git_pool *pool,
|
|
84
|
+
extern void git_pool_init(git_pool *pool, size_t item_size);
|
|
85
85
|
|
|
86
86
|
/**
|
|
87
87
|
* Free all items in pool
|
|
@@ -96,8 +96,8 @@ extern void git_pool_swap(git_pool *a, git_pool *b);
|
|
|
96
96
|
/**
|
|
97
97
|
* Allocate space for one or more items from a pool.
|
|
98
98
|
*/
|
|
99
|
-
extern void *git_pool_malloc(git_pool *pool,
|
|
100
|
-
extern void *git_pool_mallocz(git_pool *pool,
|
|
99
|
+
extern void *git_pool_malloc(git_pool *pool, size_t items);
|
|
100
|
+
extern void *git_pool_mallocz(git_pool *pool, size_t items);
|
|
101
101
|
|
|
102
102
|
/**
|
|
103
103
|
* Allocate space and duplicate string data into it.
|
data/vendor/libgit2/src/posix.c
CHANGED
|
@@ -28,11 +28,11 @@ int p_getaddrinfo(
|
|
|
28
28
|
|
|
29
29
|
GIT_UNUSED(hints);
|
|
30
30
|
|
|
31
|
-
if ((ainfo =
|
|
31
|
+
if ((ainfo = git__malloc(sizeof(struct addrinfo))) == NULL)
|
|
32
32
|
return -1;
|
|
33
33
|
|
|
34
34
|
if ((ainfo->ai_hostent = gethostbyname(host)) == NULL) {
|
|
35
|
-
|
|
35
|
+
git__free(ainfo);
|
|
36
36
|
return -2;
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -65,7 +65,7 @@ int p_getaddrinfo(
|
|
|
65
65
|
ai = ainfo;
|
|
66
66
|
|
|
67
67
|
for (p = 1; ainfo->ai_hostent->h_addr_list[p] != NULL; p++) {
|
|
68
|
-
if (!(ai->ai_next =
|
|
68
|
+
if (!(ai->ai_next = git__malloc(sizeof(struct addrinfo)))) {
|
|
69
69
|
p_freeaddrinfo(ainfo);
|
|
70
70
|
return -1;
|
|
71
71
|
}
|
|
@@ -89,7 +89,7 @@ void p_freeaddrinfo(struct addrinfo *info)
|
|
|
89
89
|
|
|
90
90
|
while(p != NULL) {
|
|
91
91
|
next = p->ai_next;
|
|
92
|
-
|
|
92
|
+
git__free(p);
|
|
93
93
|
p = next;
|
|
94
94
|
}
|
|
95
95
|
}
|
|
@@ -235,7 +235,7 @@ int git__mmap_alignment(size_t *alignment)
|
|
|
235
235
|
}
|
|
236
236
|
|
|
237
237
|
|
|
238
|
-
int p_mmap(git_map *out, size_t len, int prot, int flags, int fd,
|
|
238
|
+
int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, off64_t offset)
|
|
239
239
|
{
|
|
240
240
|
GIT_MMAP_VALIDATE(out, len, prot, flags);
|
|
241
241
|
|
|
@@ -243,17 +243,17 @@ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offs
|
|
|
243
243
|
out->len = 0;
|
|
244
244
|
|
|
245
245
|
if ((prot & GIT_PROT_WRITE) && ((flags & GIT_MAP_TYPE) == GIT_MAP_SHARED)) {
|
|
246
|
-
|
|
246
|
+
git_error_set(GIT_ERROR_OS, "trying to map shared-writeable");
|
|
247
247
|
return -1;
|
|
248
248
|
}
|
|
249
249
|
|
|
250
|
-
out->data =
|
|
251
|
-
|
|
250
|
+
out->data = git__malloc(len);
|
|
251
|
+
GIT_ERROR_CHECK_ALLOC(out->data);
|
|
252
252
|
|
|
253
253
|
if (!git__is_ssizet(len) ||
|
|
254
254
|
(p_lseek(fd, offset, SEEK_SET) < 0) ||
|
|
255
255
|
(p_read(fd, out->data, len) != (ssize_t)len)) {
|
|
256
|
-
|
|
256
|
+
git_error_set(GIT_ERROR_OS, "mmap emulation failed");
|
|
257
257
|
return -1;
|
|
258
258
|
}
|
|
259
259
|
|
|
@@ -264,7 +264,7 @@ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offs
|
|
|
264
264
|
int p_munmap(git_map *map)
|
|
265
265
|
{
|
|
266
266
|
assert(map != NULL);
|
|
267
|
-
|
|
267
|
+
git__free(map->data);
|
|
268
268
|
|
|
269
269
|
return 0;
|
|
270
270
|
}
|
data/vendor/libgit2/src/posix.h
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
|
|
12
12
|
#include <fcntl.h>
|
|
13
13
|
#include <time.h>
|
|
14
|
-
#include "fnmatch.h"
|
|
15
14
|
|
|
16
15
|
/* stat: file mode type testing macros */
|
|
17
16
|
#ifndef S_IFGITLINK
|
|
@@ -90,6 +89,18 @@
|
|
|
90
89
|
#define EAFNOSUPPORT (INT_MAX-1)
|
|
91
90
|
#endif
|
|
92
91
|
|
|
92
|
+
/* Provide a 64-bit size for offsets. */
|
|
93
|
+
|
|
94
|
+
#if defined(_MSC_VER)
|
|
95
|
+
typedef __int64 off64_t;
|
|
96
|
+
#elif defined(__HAIKU__)
|
|
97
|
+
typedef __haiku_std_int64 off64_t;
|
|
98
|
+
#elif defined(__APPLE__)
|
|
99
|
+
typedef __int64_t off64_t;
|
|
100
|
+
#else
|
|
101
|
+
typedef int64_t off64_t;
|
|
102
|
+
#endif
|
|
103
|
+
|
|
93
104
|
typedef int git_file;
|
|
94
105
|
|
|
95
106
|
/**
|
data/vendor/libgit2/src/proxy.c
CHANGED
|
@@ -9,24 +9,29 @@
|
|
|
9
9
|
|
|
10
10
|
#include "git2/proxy.h"
|
|
11
11
|
|
|
12
|
-
int
|
|
12
|
+
int git_proxy_options_init(git_proxy_options *opts, unsigned int version)
|
|
13
13
|
{
|
|
14
14
|
GIT_INIT_STRUCTURE_FROM_TEMPLATE(
|
|
15
15
|
opts, version, git_proxy_options, GIT_PROXY_OPTIONS_INIT);
|
|
16
16
|
return 0;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
int git_proxy_init_options(git_proxy_options *opts, unsigned int version)
|
|
20
|
+
{
|
|
21
|
+
return git_proxy_options_init(opts, version);
|
|
22
|
+
}
|
|
23
|
+
|
|
19
24
|
int git_proxy_options_dup(git_proxy_options *tgt, const git_proxy_options *src)
|
|
20
25
|
{
|
|
21
26
|
if (!src) {
|
|
22
|
-
|
|
27
|
+
git_proxy_options_init(tgt, GIT_PROXY_OPTIONS_VERSION);
|
|
23
28
|
return 0;
|
|
24
29
|
}
|
|
25
30
|
|
|
26
31
|
memcpy(tgt, src, sizeof(git_proxy_options));
|
|
27
32
|
if (src->url) {
|
|
28
33
|
tgt->url = git__strdup(src->url);
|
|
29
|
-
|
|
34
|
+
GIT_ERROR_CHECK_ALLOC(tgt->url);
|
|
30
35
|
}
|
|
31
36
|
|
|
32
37
|
return 0;
|
data/vendor/libgit2/src/push.c
CHANGED
|
@@ -36,7 +36,7 @@ int git_push_new(git_push **out, git_remote *remote)
|
|
|
36
36
|
*out = NULL;
|
|
37
37
|
|
|
38
38
|
p = git__calloc(1, sizeof(*p));
|
|
39
|
-
|
|
39
|
+
GIT_ERROR_CHECK_ALLOC(p);
|
|
40
40
|
|
|
41
41
|
p->repo = remote->repo;
|
|
42
42
|
p->remote = remote;
|
|
@@ -70,10 +70,11 @@ int git_push_set_options(git_push *push, const git_push_options *opts)
|
|
|
70
70
|
if (!push || !opts)
|
|
71
71
|
return -1;
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
GIT_ERROR_CHECK_VERSION(opts, GIT_PUSH_OPTIONS_VERSION, "git_push_options");
|
|
74
74
|
|
|
75
75
|
push->pb_parallelism = opts->pb_parallelism;
|
|
76
|
-
push->custom_headers = &opts->custom_headers;
|
|
76
|
+
push->connection.custom_headers = &opts->custom_headers;
|
|
77
|
+
push->connection.proxy = &opts->proxy_opts;
|
|
77
78
|
|
|
78
79
|
return 0;
|
|
79
80
|
}
|
|
@@ -90,7 +91,7 @@ static void free_refspec(push_spec *spec)
|
|
|
90
91
|
static int check_rref(char *ref)
|
|
91
92
|
{
|
|
92
93
|
if (git__prefixcmp(ref, "refs/")) {
|
|
93
|
-
|
|
94
|
+
git_error_set(GIT_ERROR_INVALID, "not a valid reference '%s'", ref);
|
|
94
95
|
return -1;
|
|
95
96
|
}
|
|
96
97
|
|
|
@@ -108,10 +109,10 @@ static int check_lref(git_push *push, char *ref)
|
|
|
108
109
|
return 0;
|
|
109
110
|
|
|
110
111
|
if (error == GIT_ENOTFOUND)
|
|
111
|
-
|
|
112
|
+
git_error_set(GIT_ERROR_REFERENCE,
|
|
112
113
|
"src refspec '%s' does not match any existing object", ref);
|
|
113
114
|
else
|
|
114
|
-
|
|
115
|
+
git_error_set(GIT_ERROR_INVALID, "not a valid reference '%s'", ref);
|
|
115
116
|
return -1;
|
|
116
117
|
}
|
|
117
118
|
|
|
@@ -122,10 +123,10 @@ static int parse_refspec(git_push *push, push_spec **spec, const char *str)
|
|
|
122
123
|
*spec = NULL;
|
|
123
124
|
|
|
124
125
|
s = git__calloc(1, sizeof(*s));
|
|
125
|
-
|
|
126
|
+
GIT_ERROR_CHECK_ALLOC(s);
|
|
126
127
|
|
|
127
128
|
if (git_refspec__parse(&s->refspec, str, false) < 0) {
|
|
128
|
-
|
|
129
|
+
git_error_set(GIT_ERROR_INVALID, "invalid refspec %s", str);
|
|
129
130
|
goto on_error;
|
|
130
131
|
}
|
|
131
132
|
|
|
@@ -195,7 +196,7 @@ int git_push_update_tips(git_push *push, const git_remote_callbacks *callbacks)
|
|
|
195
196
|
continue;
|
|
196
197
|
|
|
197
198
|
/* Update the remote ref */
|
|
198
|
-
if (
|
|
199
|
+
if (git_oid_is_zero(&push_spec->loid)) {
|
|
199
200
|
error = git_reference_lookup(&remote_ref, push->remote->repo, git_buf_cstr(&remote_ref_name));
|
|
200
201
|
|
|
201
202
|
if (error >= 0) {
|
|
@@ -212,7 +213,7 @@ int git_push_update_tips(git_push *push, const git_remote_callbacks *callbacks)
|
|
|
212
213
|
if (error != GIT_ENOTFOUND)
|
|
213
214
|
goto on_error;
|
|
214
215
|
|
|
215
|
-
|
|
216
|
+
git_error_clear();
|
|
216
217
|
fire_callback = 0;
|
|
217
218
|
}
|
|
218
219
|
|
|
@@ -241,10 +242,10 @@ static int enqueue_tag(git_object **out, git_push *push, git_oid *id)
|
|
|
241
242
|
git_object *obj = NULL, *target = NULL;
|
|
242
243
|
int error;
|
|
243
244
|
|
|
244
|
-
if ((error = git_object_lookup(&obj, push->repo, id,
|
|
245
|
+
if ((error = git_object_lookup(&obj, push->repo, id, GIT_OBJECT_TAG)) < 0)
|
|
245
246
|
return error;
|
|
246
247
|
|
|
247
|
-
while (git_object_type(obj) ==
|
|
248
|
+
while (git_object_type(obj) == GIT_OBJECT_TAG) {
|
|
248
249
|
if ((error = git_packbuilder_insert(push->pb, git_object_id(obj), NULL)) < 0)
|
|
249
250
|
break;
|
|
250
251
|
|
|
@@ -277,10 +278,10 @@ static int queue_objects(git_push *push)
|
|
|
277
278
|
git_revwalk_sorting(rw, GIT_SORT_TIME);
|
|
278
279
|
|
|
279
280
|
git_vector_foreach(&push->specs, i, spec) {
|
|
280
|
-
|
|
281
|
+
git_object_t type;
|
|
281
282
|
size_t size;
|
|
282
283
|
|
|
283
|
-
if (
|
|
284
|
+
if (git_oid_is_zero(&spec->loid))
|
|
284
285
|
/*
|
|
285
286
|
* Delete reference on remote side;
|
|
286
287
|
* nothing to do here.
|
|
@@ -293,13 +294,13 @@ static int queue_objects(git_push *push)
|
|
|
293
294
|
if (git_odb_read_header(&size, &type, push->repo->_odb, &spec->loid) < 0)
|
|
294
295
|
goto on_error;
|
|
295
296
|
|
|
296
|
-
if (type ==
|
|
297
|
+
if (type == GIT_OBJECT_TAG) {
|
|
297
298
|
git_object *target;
|
|
298
299
|
|
|
299
300
|
if ((error = enqueue_tag(&target, push, &spec->loid)) < 0)
|
|
300
301
|
goto on_error;
|
|
301
302
|
|
|
302
|
-
if (git_object_type(target) ==
|
|
303
|
+
if (git_object_type(target) == GIT_OBJECT_COMMIT) {
|
|
303
304
|
if (git_revwalk_push(rw, git_object_id(target)) < 0) {
|
|
304
305
|
git_object_free(target);
|
|
305
306
|
goto on_error;
|
|
@@ -318,11 +319,11 @@ static int queue_objects(git_push *push)
|
|
|
318
319
|
if (!spec->refspec.force) {
|
|
319
320
|
git_oid base;
|
|
320
321
|
|
|
321
|
-
if (
|
|
322
|
+
if (git_oid_is_zero(&spec->roid))
|
|
322
323
|
continue;
|
|
323
324
|
|
|
324
325
|
if (!git_odb_exists(push->repo->_odb, &spec->roid)) {
|
|
325
|
-
|
|
326
|
+
git_error_set(GIT_ERROR_REFERENCE,
|
|
326
327
|
"cannot push because a reference that you are trying to update on the remote contains commits that are not present locally.");
|
|
327
328
|
error = GIT_ENONFASTFORWARD;
|
|
328
329
|
goto on_error;
|
|
@@ -333,7 +334,7 @@ static int queue_objects(git_push *push)
|
|
|
333
334
|
|
|
334
335
|
if (error == GIT_ENOTFOUND ||
|
|
335
336
|
(!error && !git_oid_equal(&base, &spec->roid))) {
|
|
336
|
-
|
|
337
|
+
git_error_set(GIT_ERROR_REFERENCE,
|
|
337
338
|
"cannot push non-fastforwardable reference");
|
|
338
339
|
error = GIT_ENONFASTFORWARD;
|
|
339
340
|
goto on_error;
|
|
@@ -345,7 +346,7 @@ static int queue_objects(git_push *push)
|
|
|
345
346
|
}
|
|
346
347
|
|
|
347
348
|
git_vector_foreach(&push->remote->refs, i, head) {
|
|
348
|
-
if (
|
|
349
|
+
if (git_oid_is_zero(&head->oid))
|
|
349
350
|
continue;
|
|
350
351
|
|
|
351
352
|
/* TODO */
|
|
@@ -362,13 +363,13 @@ on_error:
|
|
|
362
363
|
static int add_update(git_push *push, push_spec *spec)
|
|
363
364
|
{
|
|
364
365
|
git_push_update *u = git__calloc(1, sizeof(git_push_update));
|
|
365
|
-
|
|
366
|
+
GIT_ERROR_CHECK_ALLOC(u);
|
|
366
367
|
|
|
367
368
|
u->src_refname = git__strdup(spec->refspec.src);
|
|
368
|
-
|
|
369
|
+
GIT_ERROR_CHECK_ALLOC(u->src_refname);
|
|
369
370
|
|
|
370
371
|
u->dst_refname = git__strdup(spec->refspec.dst);
|
|
371
|
-
|
|
372
|
+
GIT_ERROR_CHECK_ALLOC(u->dst_refname);
|
|
372
373
|
|
|
373
374
|
git_oid_cpy(&u->src, &spec->roid);
|
|
374
375
|
git_oid_cpy(&u->dst, &spec->loid);
|
|
@@ -389,7 +390,7 @@ static int calculate_work(git_push *push)
|
|
|
389
390
|
/* This is a create or update. Local ref must exist. */
|
|
390
391
|
if (git_reference_name_to_id(
|
|
391
392
|
&spec->loid, push->repo, spec->refspec.src) < 0) {
|
|
392
|
-
|
|
393
|
+
git_error_set(GIT_ERROR_REFERENCE, "no such reference '%s'", spec->refspec.src);
|
|
393
394
|
return -1;
|
|
394
395
|
}
|
|
395
396
|
}
|
|
@@ -415,7 +416,7 @@ static int do_push(git_push *push, const git_remote_callbacks *callbacks)
|
|
|
415
416
|
git_transport *transport = push->remote->transport;
|
|
416
417
|
|
|
417
418
|
if (!transport->push) {
|
|
418
|
-
|
|
419
|
+
git_error_set(GIT_ERROR_NET, "remote transport doesn't support push");
|
|
419
420
|
error = -1;
|
|
420
421
|
goto on_error;
|
|
421
422
|
}
|
|
@@ -475,7 +476,7 @@ int git_push_finish(git_push *push, const git_remote_callbacks *callbacks)
|
|
|
475
476
|
int error;
|
|
476
477
|
|
|
477
478
|
if (!git_remote_connected(push->remote) &&
|
|
478
|
-
(error =
|
|
479
|
+
(error = git_remote__connect(push->remote, GIT_DIRECTION_PUSH, callbacks, &push->connection)) < 0)
|
|
479
480
|
return error;
|
|
480
481
|
|
|
481
482
|
if ((error = filter_refs(push->remote)) < 0 ||
|
|
@@ -484,7 +485,7 @@ int git_push_finish(git_push *push, const git_remote_callbacks *callbacks)
|
|
|
484
485
|
|
|
485
486
|
if (!push->unpack_ok) {
|
|
486
487
|
error = -1;
|
|
487
|
-
|
|
488
|
+
git_error_set(GIT_ERROR_NET, "unpacking the sent packfile failed on the remote");
|
|
488
489
|
}
|
|
489
490
|
|
|
490
491
|
return error;
|
|
@@ -500,7 +501,7 @@ int git_push_status_foreach(git_push *push,
|
|
|
500
501
|
git_vector_foreach(&push->status, i, status) {
|
|
501
502
|
int error = cb(status->ref, status->msg, data);
|
|
502
503
|
if (error)
|
|
503
|
-
return
|
|
504
|
+
return git_error_set_after_callback(error);
|
|
504
505
|
}
|
|
505
506
|
|
|
506
507
|
return 0;
|
|
@@ -546,9 +547,14 @@ void git_push_free(git_push *push)
|
|
|
546
547
|
git__free(push);
|
|
547
548
|
}
|
|
548
549
|
|
|
549
|
-
int
|
|
550
|
+
int git_push_options_init(git_push_options *opts, unsigned int version)
|
|
550
551
|
{
|
|
551
552
|
GIT_INIT_STRUCTURE_FROM_TEMPLATE(
|
|
552
553
|
opts, version, git_push_options, GIT_PUSH_OPTIONS_INIT);
|
|
553
554
|
return 0;
|
|
554
555
|
}
|
|
556
|
+
|
|
557
|
+
int git_push_init_options(git_push_options *opts, unsigned int version)
|
|
558
|
+
{
|
|
559
|
+
return git_push_options_init(opts, version);
|
|
560
|
+
}
|
data/vendor/libgit2/src/push.h
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
#include "git2.h"
|
|
13
13
|
#include "refspec.h"
|
|
14
|
+
#include "remote.h"
|
|
14
15
|
|
|
15
16
|
typedef struct push_spec {
|
|
16
17
|
struct git_refspec refspec;
|
|
@@ -40,7 +41,7 @@ struct git_push {
|
|
|
40
41
|
|
|
41
42
|
/* options */
|
|
42
43
|
unsigned pb_parallelism;
|
|
43
|
-
|
|
44
|
+
git_remote_connection_opts connection;
|
|
44
45
|
};
|
|
45
46
|
|
|
46
47
|
/**
|