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
|
@@ -59,23 +59,10 @@ extern int git_win32__set_hidden(const char *path, bool hidden);
|
|
|
59
59
|
*/
|
|
60
60
|
extern int git_win32__hidden(bool *hidden, const char *path);
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* @param path The path which should be trimmed.
|
|
67
|
-
* @return The length of the modified string (<= the input length)
|
|
68
|
-
*/
|
|
69
|
-
size_t git_win32__path_trim_end(wchar_t *str, size_t len);
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Removes any of the following namespace prefixes from a path,
|
|
73
|
-
* if found: "\??\", "\\?\", "\\?\UNC\". This function cannot fail.
|
|
74
|
-
*
|
|
75
|
-
* @param path The path which should be converted.
|
|
76
|
-
* @return The length of the modified string (<= the input length)
|
|
77
|
-
*/
|
|
78
|
-
size_t git_win32__canonicalize_path(wchar_t *str, size_t len);
|
|
62
|
+
extern int git_win32__file_attribute_to_stat(
|
|
63
|
+
struct stat *st,
|
|
64
|
+
const WIN32_FILE_ATTRIBUTE_DATA *attrdata,
|
|
65
|
+
const wchar_t *path);
|
|
79
66
|
|
|
80
67
|
/**
|
|
81
68
|
* Converts a FILETIME structure to a struct timespec.
|
|
@@ -133,7 +120,7 @@ GIT_INLINE(void) git_win32__stat_init(
|
|
|
133
120
|
st->st_uid = 0;
|
|
134
121
|
st->st_nlink = 1;
|
|
135
122
|
st->st_mode = mode;
|
|
136
|
-
st->st_size = ((
|
|
123
|
+
st->st_size = ((int64_t)nFileSizeHigh << 32) + nFileSizeLow;
|
|
137
124
|
st->st_dev = _getdrive() - 1;
|
|
138
125
|
st->st_rdev = st->st_dev;
|
|
139
126
|
git_win32__filetime_to_timespec(&ftLastAccessTime, &(st->st_atim));
|
|
@@ -154,35 +141,4 @@ GIT_INLINE(void) git_win32__file_information_to_stat(
|
|
|
154
141
|
fileinfo->ftLastWriteTime);
|
|
155
142
|
}
|
|
156
143
|
|
|
157
|
-
GIT_INLINE(int) git_win32__file_attribute_to_stat(
|
|
158
|
-
struct stat *st,
|
|
159
|
-
const WIN32_FILE_ATTRIBUTE_DATA *attrdata,
|
|
160
|
-
const wchar_t *path)
|
|
161
|
-
{
|
|
162
|
-
git_win32__stat_init(st,
|
|
163
|
-
attrdata->dwFileAttributes,
|
|
164
|
-
attrdata->nFileSizeHigh,
|
|
165
|
-
attrdata->nFileSizeLow,
|
|
166
|
-
attrdata->ftCreationTime,
|
|
167
|
-
attrdata->ftLastAccessTime,
|
|
168
|
-
attrdata->ftLastWriteTime);
|
|
169
|
-
|
|
170
|
-
if (attrdata->dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT && path) {
|
|
171
|
-
git_win32_path target;
|
|
172
|
-
|
|
173
|
-
if (git_win32_path_readlink_w(target, path) >= 0) {
|
|
174
|
-
st->st_mode = (st->st_mode & ~S_IFMT) | S_IFLNK;
|
|
175
|
-
|
|
176
|
-
/* st_size gets the UTF-8 length of the target name, in bytes,
|
|
177
|
-
* not counting the NULL terminator */
|
|
178
|
-
if ((st->st_size = git__utf16_to_8(NULL, 0, target)) < 0) {
|
|
179
|
-
giterr_set(GITERR_OS, "could not convert reparse point name for '%ls'", path);
|
|
180
|
-
return -1;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
return 0;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
144
|
#endif
|
|
@@ -34,7 +34,7 @@ int git_worktree_list(git_strarray *wts, git_repository *repo)
|
|
|
34
34
|
git_vector worktrees = GIT_VECTOR_INIT;
|
|
35
35
|
git_buf path = GIT_BUF_INIT;
|
|
36
36
|
char *worktree;
|
|
37
|
-
|
|
37
|
+
size_t i, len;
|
|
38
38
|
int error;
|
|
39
39
|
|
|
40
40
|
assert(wts && repo);
|
|
@@ -194,7 +194,7 @@ int git_worktree_open_from_repository(git_worktree **out, git_repository *repo)
|
|
|
194
194
|
int error = 0;
|
|
195
195
|
|
|
196
196
|
if (!git_repository_is_worktree(repo)) {
|
|
197
|
-
|
|
197
|
+
git_error_set(GIT_ERROR_WORKTREE, "cannot open worktree of a non-worktree repo");
|
|
198
198
|
error = -1;
|
|
199
199
|
goto out;
|
|
200
200
|
}
|
|
@@ -237,22 +237,22 @@ int git_worktree_validate(const git_worktree *wt)
|
|
|
237
237
|
assert(wt);
|
|
238
238
|
|
|
239
239
|
if (!is_worktree_dir(wt->gitdir_path)) {
|
|
240
|
-
|
|
241
|
-
"
|
|
240
|
+
git_error_set(GIT_ERROR_WORKTREE,
|
|
241
|
+
"worktree gitdir ('%s') is not valid",
|
|
242
242
|
wt->gitlink_path);
|
|
243
243
|
return GIT_ERROR;
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
if (wt->parent_path && !git_path_exists(wt->parent_path)) {
|
|
247
|
-
|
|
248
|
-
"
|
|
247
|
+
git_error_set(GIT_ERROR_WORKTREE,
|
|
248
|
+
"worktree parent directory ('%s') does not exist ",
|
|
249
249
|
wt->parent_path);
|
|
250
250
|
return GIT_ERROR;
|
|
251
251
|
}
|
|
252
252
|
|
|
253
253
|
if (!git_path_exists(wt->commondir_path)) {
|
|
254
|
-
|
|
255
|
-
"
|
|
254
|
+
git_error_set(GIT_ERROR_WORKTREE,
|
|
255
|
+
"worktree common directory ('%s') does not exist ",
|
|
256
256
|
wt->commondir_path);
|
|
257
257
|
return GIT_ERROR;
|
|
258
258
|
}
|
|
@@ -260,7 +260,7 @@ int git_worktree_validate(const git_worktree *wt)
|
|
|
260
260
|
return 0;
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
-
int
|
|
263
|
+
int git_worktree_add_options_init(git_worktree_add_options *opts,
|
|
264
264
|
unsigned int version)
|
|
265
265
|
{
|
|
266
266
|
GIT_INIT_STRUCTURE_FROM_TEMPLATE(opts, version,
|
|
@@ -268,6 +268,12 @@ int git_worktree_add_init_options(git_worktree_add_options *opts,
|
|
|
268
268
|
return 0;
|
|
269
269
|
}
|
|
270
270
|
|
|
271
|
+
int git_worktree_add_init_options(git_worktree_add_options *opts,
|
|
272
|
+
unsigned int version)
|
|
273
|
+
{
|
|
274
|
+
return git_worktree_add_options_init(opts, version);
|
|
275
|
+
}
|
|
276
|
+
|
|
271
277
|
int git_worktree_add(git_worktree **out, git_repository *repo,
|
|
272
278
|
const char *name, const char *worktree,
|
|
273
279
|
const git_worktree_add_options *opts)
|
|
@@ -280,7 +286,7 @@ int git_worktree_add(git_worktree **out, git_repository *repo,
|
|
|
280
286
|
git_worktree_add_options wtopts = GIT_WORKTREE_ADD_OPTIONS_INIT;
|
|
281
287
|
int err;
|
|
282
288
|
|
|
283
|
-
|
|
289
|
+
GIT_ERROR_CHECK_VERSION(
|
|
284
290
|
opts, GIT_WORKTREE_ADD_OPTIONS_VERSION, "git_worktree_add_options");
|
|
285
291
|
|
|
286
292
|
if (opts)
|
|
@@ -290,6 +296,20 @@ int git_worktree_add(git_worktree **out, git_repository *repo,
|
|
|
290
296
|
|
|
291
297
|
*out = NULL;
|
|
292
298
|
|
|
299
|
+
if (wtopts.ref) {
|
|
300
|
+
if (!git_reference_is_branch(wtopts.ref)) {
|
|
301
|
+
git_error_set(GIT_ERROR_WORKTREE, "reference is not a branch");
|
|
302
|
+
err = -1;
|
|
303
|
+
goto out;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
if (git_branch_is_checked_out(wtopts.ref)) {
|
|
307
|
+
git_error_set(GIT_ERROR_WORKTREE, "reference is already checked out");
|
|
308
|
+
err = -1;
|
|
309
|
+
goto out;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
|
|
293
313
|
/* Create gitdir directory ".git/worktrees/<name>" */
|
|
294
314
|
if ((err = git_buf_joinpath(&gitdir, repo->commondir, "worktrees")) < 0)
|
|
295
315
|
goto out;
|
|
@@ -342,18 +362,6 @@ int git_worktree_add(git_worktree **out, git_repository *repo,
|
|
|
342
362
|
|
|
343
363
|
/* Set up worktree reference */
|
|
344
364
|
if (wtopts.ref) {
|
|
345
|
-
if (!git_reference_is_branch(wtopts.ref)) {
|
|
346
|
-
giterr_set(GITERR_WORKTREE, "reference is not a branch");
|
|
347
|
-
err = -1;
|
|
348
|
-
goto out;
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
if (git_branch_is_checked_out(wtopts.ref)) {
|
|
352
|
-
giterr_set(GITERR_WORKTREE, "reference is already checked out");
|
|
353
|
-
err = -1;
|
|
354
|
-
goto out;
|
|
355
|
-
}
|
|
356
|
-
|
|
357
365
|
if ((err = git_reference_dup(&ref, wtopts.ref)) < 0)
|
|
358
366
|
goto out;
|
|
359
367
|
} else {
|
|
@@ -426,7 +434,7 @@ int git_worktree_unlock(git_worktree *wt)
|
|
|
426
434
|
assert(wt);
|
|
427
435
|
|
|
428
436
|
if (!git_worktree_is_locked(NULL, wt))
|
|
429
|
-
return
|
|
437
|
+
return 1;
|
|
430
438
|
|
|
431
439
|
if (git_buf_joinpath(&path, wt->gitdir_path, "locked") < 0)
|
|
432
440
|
return -1;
|
|
@@ -476,7 +484,7 @@ const char *git_worktree_path(const git_worktree *wt)
|
|
|
476
484
|
return wt->worktree_path;
|
|
477
485
|
}
|
|
478
486
|
|
|
479
|
-
int
|
|
487
|
+
int git_worktree_prune_options_init(
|
|
480
488
|
git_worktree_prune_options *opts,
|
|
481
489
|
unsigned int version)
|
|
482
490
|
{
|
|
@@ -485,13 +493,19 @@ int git_worktree_prune_init_options(
|
|
|
485
493
|
return 0;
|
|
486
494
|
}
|
|
487
495
|
|
|
496
|
+
int git_worktree_pruneinit_options(git_worktree_prune_options *opts,
|
|
497
|
+
unsigned int version)
|
|
498
|
+
{
|
|
499
|
+
return git_worktree_prune_options_init(opts, version);
|
|
500
|
+
}
|
|
501
|
+
|
|
488
502
|
int git_worktree_is_prunable(git_worktree *wt,
|
|
489
503
|
git_worktree_prune_options *opts)
|
|
490
504
|
{
|
|
491
505
|
git_buf reason = GIT_BUF_INIT;
|
|
492
506
|
git_worktree_prune_options popts = GIT_WORKTREE_PRUNE_OPTIONS_INIT;
|
|
493
507
|
|
|
494
|
-
|
|
508
|
+
GIT_ERROR_CHECK_VERSION(
|
|
495
509
|
opts, GIT_WORKTREE_PRUNE_OPTIONS_VERSION,
|
|
496
510
|
"git_worktree_prune_options");
|
|
497
511
|
|
|
@@ -503,7 +517,7 @@ int git_worktree_is_prunable(git_worktree *wt,
|
|
|
503
517
|
{
|
|
504
518
|
if (!reason.size)
|
|
505
519
|
git_buf_attach_notowned(&reason, "no reason given", 15);
|
|
506
|
-
|
|
520
|
+
git_error_set(GIT_ERROR_WORKTREE, "not pruning locked working tree: '%s'", reason.ptr);
|
|
507
521
|
git_buf_dispose(&reason);
|
|
508
522
|
|
|
509
523
|
return 0;
|
|
@@ -512,7 +526,7 @@ int git_worktree_is_prunable(git_worktree *wt,
|
|
|
512
526
|
if ((popts.flags & GIT_WORKTREE_PRUNE_VALID) == 0 &&
|
|
513
527
|
git_worktree_validate(wt) == 0)
|
|
514
528
|
{
|
|
515
|
-
|
|
529
|
+
git_error_set(GIT_ERROR_WORKTREE, "not pruning valid working tree");
|
|
516
530
|
return 0;
|
|
517
531
|
}
|
|
518
532
|
|
|
@@ -527,7 +541,7 @@ int git_worktree_prune(git_worktree *wt,
|
|
|
527
541
|
char *wtpath;
|
|
528
542
|
int err;
|
|
529
543
|
|
|
530
|
-
|
|
544
|
+
GIT_ERROR_CHECK_VERSION(
|
|
531
545
|
opts, GIT_WORKTREE_PRUNE_OPTIONS_VERSION,
|
|
532
546
|
"git_worktree_prune_options");
|
|
533
547
|
|
|
@@ -544,7 +558,7 @@ int git_worktree_prune(git_worktree *wt,
|
|
|
544
558
|
goto out;
|
|
545
559
|
if (!git_path_exists(path.ptr))
|
|
546
560
|
{
|
|
547
|
-
|
|
561
|
+
git_error_set(GIT_ERROR_WORKTREE, "worktree gitdir '%s' does not exist", path.ptr);
|
|
548
562
|
err = -1;
|
|
549
563
|
goto out;
|
|
550
564
|
}
|
|
@@ -564,7 +578,7 @@ int git_worktree_prune(git_worktree *wt,
|
|
|
564
578
|
git_buf_attach(&path, wtpath, 0);
|
|
565
579
|
if (!git_path_exists(path.ptr))
|
|
566
580
|
{
|
|
567
|
-
|
|
581
|
+
git_error_set(GIT_ERROR_WORKTREE, "working tree '%s' does not exist", path.ptr);
|
|
568
582
|
err = -1;
|
|
569
583
|
goto out;
|
|
570
584
|
}
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
#elif defined(__GNUC__)
|
|
37
37
|
# define XDL_INLINE(type) static __inline__ type
|
|
38
38
|
#else
|
|
39
|
-
#define
|
|
39
|
+
# define XDL_INLINE(type) static type
|
|
40
40
|
#endif
|
|
41
41
|
|
|
42
42
|
typedef struct s_xdpsplit {
|
|
@@ -350,10 +350,10 @@ int xdl_do_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
|
|
|
350
350
|
* Allocate and setup K vectors to be used by the differential algorithm.
|
|
351
351
|
* One is to store the forward path and one to store the backward path.
|
|
352
352
|
*/
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
353
|
+
GIT_ERROR_CHECK_ALLOC_ADD3(&ndiags, xe->xdf1.nreff, xe->xdf2.nreff, 3);
|
|
354
|
+
GIT_ERROR_CHECK_ALLOC_MULTIPLY(&allocsize, ndiags, 2);
|
|
355
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&allocsize, allocsize, 2);
|
|
356
|
+
GIT_ERROR_CHECK_ALLOC_MULTIPLY(&allocsize, allocsize, sizeof(long));
|
|
357
357
|
|
|
358
358
|
if (!(kvd = (long *) xdl_malloc(allocsize))) {
|
|
359
359
|
xdl_free_env(xe);
|
|
@@ -302,7 +302,7 @@ static int histogram_diff(
|
|
|
302
302
|
|
|
303
303
|
index.table_bits = xdl_hashbits(count1);
|
|
304
304
|
sz = index.records_size = 1 << index.table_bits;
|
|
305
|
-
|
|
305
|
+
GIT_ERROR_CHECK_ALLOC_MULTIPLY(&sz, sz, sizeof(struct record *));
|
|
306
306
|
|
|
307
307
|
if (!(index.records = (struct record **) xdl_malloc(sz)))
|
|
308
308
|
goto cleanup;
|
|
@@ -125,7 +125,7 @@ static int xdl_recs_copy_0(size_t *out, int use_orig, xdfenv_t *xe, int i, int c
|
|
|
125
125
|
if (dest)
|
|
126
126
|
memcpy(dest + size, recs[i]->ptr, recs[i]->size);
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&size, size, recs[i++]->size);
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
if (add_nl) {
|
|
@@ -134,13 +134,13 @@ static int xdl_recs_copy_0(size_t *out, int use_orig, xdfenv_t *xe, int i, int c
|
|
|
134
134
|
if (needs_cr) {
|
|
135
135
|
if (dest)
|
|
136
136
|
dest[size] = '\r';
|
|
137
|
-
|
|
137
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&size, size, 1);
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
if (dest)
|
|
141
141
|
dest[size] = '\n';
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&size, size, 1);
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
|
|
@@ -224,10 +224,10 @@ static int fill_conflict_hunk(size_t *out, xdfenv_t *xe1, const char *name1,
|
|
|
224
224
|
dest ? dest + size : NULL) < 0)
|
|
225
225
|
return -1;
|
|
226
226
|
|
|
227
|
-
|
|
227
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
|
|
228
228
|
|
|
229
229
|
if (!dest) {
|
|
230
|
-
|
|
230
|
+
GIT_ERROR_CHECK_ALLOC_ADD5(&size, size, marker_size, 1, needs_cr, marker1_size);
|
|
231
231
|
} else {
|
|
232
232
|
memset(dest + size, '<', marker_size);
|
|
233
233
|
size += marker_size;
|
|
@@ -246,12 +246,12 @@ static int fill_conflict_hunk(size_t *out, xdfenv_t *xe1, const char *name1,
|
|
|
246
246
|
dest ? dest + size : NULL) < 0)
|
|
247
247
|
return -1;
|
|
248
248
|
|
|
249
|
-
|
|
249
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
|
|
250
250
|
|
|
251
251
|
if (style == XDL_MERGE_DIFF3) {
|
|
252
252
|
/* Shared preimage */
|
|
253
253
|
if (!dest) {
|
|
254
|
-
|
|
254
|
+
GIT_ERROR_CHECK_ALLOC_ADD5(&size, size, marker_size, 1, needs_cr, marker3_size);
|
|
255
255
|
} else {
|
|
256
256
|
memset(dest + size, '|', marker_size);
|
|
257
257
|
size += marker_size;
|
|
@@ -268,11 +268,11 @@ static int fill_conflict_hunk(size_t *out, xdfenv_t *xe1, const char *name1,
|
|
|
268
268
|
if (xdl_orig_copy(&copied, xe1, m->i0, m->chg0, needs_cr, 1,
|
|
269
269
|
dest ? dest + size : NULL) < 0)
|
|
270
270
|
return -1;
|
|
271
|
-
|
|
271
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
|
|
272
272
|
}
|
|
273
273
|
|
|
274
274
|
if (!dest) {
|
|
275
|
-
|
|
275
|
+
GIT_ERROR_CHECK_ALLOC_ADD4(&size, size, marker_size, 1, needs_cr);
|
|
276
276
|
} else {
|
|
277
277
|
memset(dest + size, '=', marker_size);
|
|
278
278
|
size += marker_size;
|
|
@@ -286,10 +286,10 @@ static int fill_conflict_hunk(size_t *out, xdfenv_t *xe1, const char *name1,
|
|
|
286
286
|
if (xdl_recs_copy(&copied, xe2, m->i2, m->chg2, needs_cr, 1,
|
|
287
287
|
dest ? dest + size : NULL) < 0)
|
|
288
288
|
return -1;
|
|
289
|
-
|
|
289
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
|
|
290
290
|
|
|
291
291
|
if (!dest) {
|
|
292
|
-
|
|
292
|
+
GIT_ERROR_CHECK_ALLOC_ADD5(&size, size, marker_size, 1, needs_cr, marker2_size);
|
|
293
293
|
} else {
|
|
294
294
|
memset(dest + size, '>', marker_size);
|
|
295
295
|
size += marker_size;
|
|
@@ -336,7 +336,7 @@ static int xdl_fill_merge_buffer(size_t *out,
|
|
|
336
336
|
if (xdl_recs_copy(&copied, xe1, i, m->i1 - i, 0, 0,
|
|
337
337
|
dest ? dest + size : NULL) < 0)
|
|
338
338
|
return -1;
|
|
339
|
-
|
|
339
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
|
|
340
340
|
|
|
341
341
|
/* Postimage from side #1 */
|
|
342
342
|
if (m->mode & 1) {
|
|
@@ -345,7 +345,7 @@ static int xdl_fill_merge_buffer(size_t *out,
|
|
|
345
345
|
if (xdl_recs_copy(&copied, xe1, m->i1, m->chg1, needs_cr, (m->mode & 2),
|
|
346
346
|
dest ? dest + size : NULL) < 0)
|
|
347
347
|
return -1;
|
|
348
|
-
|
|
348
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
|
|
349
349
|
}
|
|
350
350
|
|
|
351
351
|
/* Postimage from side #2 */
|
|
@@ -353,7 +353,7 @@ static int xdl_fill_merge_buffer(size_t *out,
|
|
|
353
353
|
if (xdl_recs_copy(&copied, xe2, m->i2, m->chg2, 0, 0,
|
|
354
354
|
dest ? dest + size : NULL) < 0)
|
|
355
355
|
return -1;
|
|
356
|
-
|
|
356
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
|
|
357
357
|
}
|
|
358
358
|
} else
|
|
359
359
|
continue;
|
|
@@ -363,7 +363,7 @@ static int xdl_fill_merge_buffer(size_t *out,
|
|
|
363
363
|
if (xdl_recs_copy(&copied, xe1, i, xe1->xdf2.nrec - i, 0, 0,
|
|
364
364
|
dest ? dest + size : NULL) < 0)
|
|
365
365
|
return -1;
|
|
366
|
-
|
|
366
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
|
|
367
367
|
|
|
368
368
|
*out = size;
|
|
369
369
|
return 0;
|
|
@@ -717,10 +717,22 @@ int xdl_merge(mmfile_t *orig, mmfile_t *mf1, mmfile_t *mf2,
|
|
|
717
717
|
status = 0;
|
|
718
718
|
if (!xscr1) {
|
|
719
719
|
result->ptr = xdl_malloc(mf2->size);
|
|
720
|
+
if (!result->ptr) {
|
|
721
|
+
xdl_free_script(xscr2);
|
|
722
|
+
xdl_free_env(&xe1);
|
|
723
|
+
xdl_free_env(&xe2);
|
|
724
|
+
return -1;
|
|
725
|
+
}
|
|
720
726
|
memcpy(result->ptr, mf2->ptr, mf2->size);
|
|
721
727
|
result->size = mf2->size;
|
|
722
728
|
} else if (!xscr2) {
|
|
723
729
|
result->ptr = xdl_malloc(mf1->size);
|
|
730
|
+
if (!result->ptr) {
|
|
731
|
+
xdl_free_script(xscr1);
|
|
732
|
+
xdl_free_env(&xe1);
|
|
733
|
+
xdl_free_env(&xe2);
|
|
734
|
+
return -1;
|
|
735
|
+
}
|
|
724
736
|
memcpy(result->ptr, mf1->ptr, mf1->size);
|
|
725
737
|
result->size = mf1->size;
|
|
726
738
|
} else {
|
|
@@ -217,6 +217,9 @@ static struct entry *find_longest_common_sequence(struct hashmap *map)
|
|
|
217
217
|
*/
|
|
218
218
|
int anchor_i = -1;
|
|
219
219
|
|
|
220
|
+
if (!sequence)
|
|
221
|
+
return NULL;
|
|
222
|
+
|
|
220
223
|
for (entry = map->first; entry; entry = entry->next) {
|
|
221
224
|
if (!entry->line2 || entry->line2 == NON_UNIQUE)
|
|
222
225
|
continue;
|
|
@@ -22,13 +22,13 @@ GIT_INLINE(int) zstream_seterr(git_zstream *zs)
|
|
|
22
22
|
case Z_BUF_ERROR: /* not fatal; we retry with a larger buffer */
|
|
23
23
|
return 0;
|
|
24
24
|
case Z_MEM_ERROR:
|
|
25
|
-
|
|
25
|
+
git_error_set_oom();
|
|
26
26
|
break;
|
|
27
27
|
default:
|
|
28
28
|
if (zs->z.msg)
|
|
29
|
-
|
|
29
|
+
git_error_set_str(GIT_ERROR_ZLIB, zs->z.msg);
|
|
30
30
|
else
|
|
31
|
-
|
|
31
|
+
git_error_set(GIT_ERROR_ZLIB, "unknown compression error");
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
return -1;
|
|
@@ -136,7 +136,7 @@ int git_zstream_get_output(void *out, size_t *out_len, git_zstream *zstream)
|
|
|
136
136
|
size_t out_remain = *out_len;
|
|
137
137
|
|
|
138
138
|
if (zstream->in_len && zstream->zerr == Z_STREAM_END) {
|
|
139
|
-
|
|
139
|
+
git_error_set(GIT_ERROR_ZLIB, "zlib input had trailing garbage");
|
|
140
140
|
return -1;
|
|
141
141
|
}
|
|
142
142
|
|