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,10 +16,11 @@
|
|
|
16
16
|
#include "commit_list.h"
|
|
17
17
|
#include "oidmap.h"
|
|
18
18
|
#include "refs.h"
|
|
19
|
+
#include "repository.h"
|
|
19
20
|
#include "revwalk.h"
|
|
20
21
|
#include "tag.h"
|
|
21
22
|
#include "vector.h"
|
|
22
|
-
#include "
|
|
23
|
+
#include "wildmatch.h"
|
|
23
24
|
|
|
24
25
|
/* Ported from https://github.com/git/git/blob/89dde7882f71f846ccd0359756d27bebc31108de/builtin/describe.c */
|
|
25
26
|
|
|
@@ -36,12 +37,7 @@ struct commit_name {
|
|
|
36
37
|
|
|
37
38
|
static void *oidmap_value_bykey(git_oidmap *map, const git_oid *key)
|
|
38
39
|
{
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if (!git_oidmap_valid_index(map, pos))
|
|
42
|
-
return NULL;
|
|
43
|
-
|
|
44
|
-
return git_oidmap_value_at(map, pos);
|
|
40
|
+
return git_oidmap_get(map, key);
|
|
45
41
|
}
|
|
46
42
|
|
|
47
43
|
static struct commit_name *find_commit_name(
|
|
@@ -108,7 +104,7 @@ static int add_to_known_names(
|
|
|
108
104
|
if (replace_name(&tag, repo, e, prio, sha1)) {
|
|
109
105
|
if (!found) {
|
|
110
106
|
e = git__malloc(sizeof(struct commit_name));
|
|
111
|
-
|
|
107
|
+
GIT_ERROR_CHECK_ALLOC(e);
|
|
112
108
|
|
|
113
109
|
e->path = NULL;
|
|
114
110
|
e->tag = NULL;
|
|
@@ -124,13 +120,8 @@ static int add_to_known_names(
|
|
|
124
120
|
e->path = git__strdup(path);
|
|
125
121
|
git_oid_cpy(&e->peeled, peeled);
|
|
126
122
|
|
|
127
|
-
if (!found)
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
git_oidmap_insert(names, &e->peeled, e, &ret);
|
|
131
|
-
if (ret < 0)
|
|
132
|
-
return -1;
|
|
133
|
-
}
|
|
123
|
+
if (!found && git_oidmap_set(names, &e->peeled, e) < 0)
|
|
124
|
+
return -1;
|
|
134
125
|
}
|
|
135
126
|
else
|
|
136
127
|
git_tag_free(tag);
|
|
@@ -151,7 +142,7 @@ static int retrieve_peeled_tag_or_object_oid(
|
|
|
151
142
|
if ((error = git_reference_lookup_resolved(&ref, repo, refname, -1)) < 0)
|
|
152
143
|
return error;
|
|
153
144
|
|
|
154
|
-
if ((error = git_reference_peel(&peeled, ref,
|
|
145
|
+
if ((error = git_reference_peel(&peeled, ref, GIT_OBJECT_ANY)) < 0)
|
|
155
146
|
goto cleanup;
|
|
156
147
|
|
|
157
148
|
git_oid_cpy(ref_target_out, git_reference_target(ref));
|
|
@@ -191,7 +182,7 @@ static int commit_name_dup(struct commit_name **out, struct commit_name *in)
|
|
|
191
182
|
struct commit_name *name;
|
|
192
183
|
|
|
193
184
|
name = git__malloc(sizeof(struct commit_name));
|
|
194
|
-
|
|
185
|
+
GIT_ERROR_CHECK_ALLOC(name);
|
|
195
186
|
|
|
196
187
|
memcpy(name, in, sizeof(struct commit_name));
|
|
197
188
|
name->tag = NULL;
|
|
@@ -201,7 +192,7 @@ static int commit_name_dup(struct commit_name **out, struct commit_name *in)
|
|
|
201
192
|
return -1;
|
|
202
193
|
|
|
203
194
|
name->path = git__strdup(in->path);
|
|
204
|
-
|
|
195
|
+
GIT_ERROR_CHECK_ALLOC(name->path);
|
|
205
196
|
|
|
206
197
|
*out = name;
|
|
207
198
|
return 0;
|
|
@@ -224,7 +215,7 @@ static int get_name(const char *refname, void *payload)
|
|
|
224
215
|
return 0;
|
|
225
216
|
|
|
226
217
|
/* Accept only tags that match the pattern, if given */
|
|
227
|
-
if (data->opts->pattern && (!is_tag ||
|
|
218
|
+
if (data->opts->pattern && (!is_tag || wildmatch(data->opts->pattern,
|
|
228
219
|
refname + strlen(GIT_REFS_TAGS_DIR), 0)))
|
|
229
220
|
return 0;
|
|
230
221
|
|
|
@@ -267,7 +258,7 @@ static int possible_tag_dup(struct possible_tag **out, struct possible_tag *in)
|
|
|
267
258
|
int error;
|
|
268
259
|
|
|
269
260
|
tag = git__malloc(sizeof(struct possible_tag));
|
|
270
|
-
|
|
261
|
+
GIT_ERROR_CHECK_ALLOC(tag);
|
|
271
262
|
|
|
272
263
|
memcpy(tag, in, sizeof(struct possible_tag));
|
|
273
264
|
tag->name = NULL;
|
|
@@ -335,14 +326,14 @@ static int display_name(git_buf *buf, git_repository *repo, struct commit_name *
|
|
|
335
326
|
{
|
|
336
327
|
if (n->prio == 2 && !n->tag) {
|
|
337
328
|
if (git_tag_lookup(&n->tag, repo, &n->sha1) < 0) {
|
|
338
|
-
|
|
329
|
+
git_error_set(GIT_ERROR_TAG, "annotated tag '%s' not available", n->path);
|
|
339
330
|
return -1;
|
|
340
331
|
}
|
|
341
332
|
}
|
|
342
333
|
|
|
343
334
|
if (n->tag && !n->name_checked) {
|
|
344
335
|
if (!git_tag_name(n->tag)) {
|
|
345
|
-
|
|
336
|
+
git_error_set(GIT_ERROR_TAG, "annotated tag '%s' has no embedded name", n->path);
|
|
346
337
|
return -1;
|
|
347
338
|
}
|
|
348
339
|
|
|
@@ -366,7 +357,7 @@ static int find_unique_abbrev_size(
|
|
|
366
357
|
int *out,
|
|
367
358
|
git_repository *repo,
|
|
368
359
|
const git_oid *oid_in,
|
|
369
|
-
int abbreviated_size)
|
|
360
|
+
unsigned int abbreviated_size)
|
|
370
361
|
{
|
|
371
362
|
size_t size = abbreviated_size;
|
|
372
363
|
git_odb *odb;
|
|
@@ -392,7 +383,7 @@ static int find_unique_abbrev_size(
|
|
|
392
383
|
|
|
393
384
|
/* If we didn't find any shorter prefix, we have to do the whole thing */
|
|
394
385
|
*out = GIT_OID_HEXSZ;
|
|
395
|
-
|
|
386
|
+
|
|
396
387
|
return 0;
|
|
397
388
|
}
|
|
398
389
|
|
|
@@ -401,7 +392,7 @@ static int show_suffix(
|
|
|
401
392
|
int depth,
|
|
402
393
|
git_repository *repo,
|
|
403
394
|
const git_oid* id,
|
|
404
|
-
|
|
395
|
+
unsigned int abbrev_size)
|
|
405
396
|
{
|
|
406
397
|
int error, size = 0;
|
|
407
398
|
|
|
@@ -425,7 +416,7 @@ static int describe_not_found(const git_oid *oid, const char *message_format) {
|
|
|
425
416
|
char oid_str[GIT_OID_HEXSZ + 1];
|
|
426
417
|
git_oid_tostr(oid_str, sizeof(oid_str), oid);
|
|
427
418
|
|
|
428
|
-
|
|
419
|
+
git_error_set(GIT_ERROR_DESCRIBE, message_format, oid_str);
|
|
429
420
|
return GIT_ENOTFOUND;
|
|
430
421
|
}
|
|
431
422
|
|
|
@@ -504,7 +495,7 @@ static int describe(
|
|
|
504
495
|
unannotated_cnt++;
|
|
505
496
|
} else if (match_cnt < data->opts->max_candidates_tags) {
|
|
506
497
|
struct possible_tag *t = git__malloc(sizeof(struct commit_name));
|
|
507
|
-
|
|
498
|
+
GIT_ERROR_CHECK_ALLOC(t);
|
|
508
499
|
if ((error = git_vector_insert(&all_matches, t)) < 0)
|
|
509
500
|
goto cleanup;
|
|
510
501
|
|
|
@@ -563,14 +554,14 @@ static int describe(
|
|
|
563
554
|
goto cleanup;
|
|
564
555
|
}
|
|
565
556
|
if (unannotated_cnt) {
|
|
566
|
-
error = describe_not_found(git_commit_id(commit),
|
|
557
|
+
error = describe_not_found(git_commit_id(commit),
|
|
567
558
|
"cannot describe - "
|
|
568
559
|
"no annotated tags can describe '%s'; "
|
|
569
560
|
"however, there were unannotated tags.");
|
|
570
561
|
goto cleanup;
|
|
571
562
|
}
|
|
572
563
|
else {
|
|
573
|
-
error = describe_not_found(git_commit_id(commit),
|
|
564
|
+
error = describe_not_found(git_commit_id(commit),
|
|
574
565
|
"cannot describe - "
|
|
575
566
|
"no tags can describe '%s'.");
|
|
576
567
|
goto cleanup;
|
|
@@ -667,7 +658,7 @@ int git_describe_commit(
|
|
|
667
658
|
assert(committish);
|
|
668
659
|
|
|
669
660
|
data.result = git__calloc(1, sizeof(git_describe_result));
|
|
670
|
-
|
|
661
|
+
GIT_ERROR_CHECK_ALLOC(data.result);
|
|
671
662
|
data.result->repo = git_object_owner(committish);
|
|
672
663
|
|
|
673
664
|
data.repo = git_object_owner(committish);
|
|
@@ -675,18 +666,18 @@ int git_describe_commit(
|
|
|
675
666
|
if ((error = normalize_options(&normalized, opts)) < 0)
|
|
676
667
|
return error;
|
|
677
668
|
|
|
678
|
-
|
|
669
|
+
GIT_ERROR_CHECK_VERSION(
|
|
679
670
|
&normalized,
|
|
680
671
|
GIT_DESCRIBE_OPTIONS_VERSION,
|
|
681
672
|
"git_describe_options");
|
|
682
673
|
data.opts = &normalized;
|
|
683
674
|
|
|
684
|
-
data.names
|
|
685
|
-
|
|
675
|
+
if ((error = git_oidmap_new(&data.names)) < 0)
|
|
676
|
+
return error;
|
|
686
677
|
|
|
687
678
|
/** TODO: contains to be implemented */
|
|
688
679
|
|
|
689
|
-
if ((error = git_object_peel((git_object **)(&commit), committish,
|
|
680
|
+
if ((error = git_object_peel((git_object **)(&commit), committish, GIT_OBJECT_COMMIT)) < 0)
|
|
690
681
|
goto cleanup;
|
|
691
682
|
|
|
692
683
|
if ((error = git_reference_foreach_name(
|
|
@@ -695,7 +686,7 @@ int git_describe_commit(
|
|
|
695
686
|
goto cleanup;
|
|
696
687
|
|
|
697
688
|
if (git_oidmap_size(data.names) == 0 && !opts->show_commit_oid_as_fallback) {
|
|
698
|
-
|
|
689
|
+
git_error_set(GIT_ERROR_DESCRIBE, "cannot describe - "
|
|
699
690
|
"no reference found, cannot describe anything.");
|
|
700
691
|
error = -1;
|
|
701
692
|
goto cleanup;
|
|
@@ -738,7 +729,7 @@ int git_describe_workdir(
|
|
|
738
729
|
if ((error = git_reference_name_to_id(¤t_id, repo, GIT_HEAD_FILE)) < 0)
|
|
739
730
|
return error;
|
|
740
731
|
|
|
741
|
-
if ((error = git_object_lookup(&commit, repo, ¤t_id,
|
|
732
|
+
if ((error = git_object_lookup(&commit, repo, ¤t_id, GIT_OBJECT_COMMIT)) < 0)
|
|
742
733
|
return error;
|
|
743
734
|
|
|
744
735
|
/* The first step is to perform a describe of HEAD, so we can leverage this */
|
|
@@ -769,7 +760,7 @@ static int normalize_format_options(
|
|
|
769
760
|
const git_describe_format_options *src)
|
|
770
761
|
{
|
|
771
762
|
if (!src) {
|
|
772
|
-
|
|
763
|
+
git_describe_format_options_init(dst, GIT_DESCRIBE_FORMAT_OPTIONS_VERSION);
|
|
773
764
|
return 0;
|
|
774
765
|
}
|
|
775
766
|
|
|
@@ -786,14 +777,14 @@ int git_describe_format(git_buf *out, const git_describe_result *result, const g
|
|
|
786
777
|
|
|
787
778
|
assert(out && result);
|
|
788
779
|
|
|
789
|
-
|
|
780
|
+
GIT_ERROR_CHECK_VERSION(given, GIT_DESCRIBE_FORMAT_OPTIONS_VERSION, "git_describe_format_options");
|
|
790
781
|
normalize_format_options(&opts, given);
|
|
791
782
|
|
|
792
783
|
git_buf_sanitize(out);
|
|
793
784
|
|
|
794
785
|
|
|
795
786
|
if (opts.always_use_long_format && opts.abbreviated_size == 0) {
|
|
796
|
-
|
|
787
|
+
git_error_set(GIT_ERROR_DESCRIBE, "cannot describe - "
|
|
797
788
|
"'always_use_long_format' is incompatible with a zero"
|
|
798
789
|
"'abbreviated_size'");
|
|
799
790
|
return -1;
|
|
@@ -878,16 +869,26 @@ void git_describe_result_free(git_describe_result *result)
|
|
|
878
869
|
git__free(result);
|
|
879
870
|
}
|
|
880
871
|
|
|
881
|
-
int
|
|
872
|
+
int git_describe_options_init(git_describe_options *opts, unsigned int version)
|
|
882
873
|
{
|
|
883
874
|
GIT_INIT_STRUCTURE_FROM_TEMPLATE(
|
|
884
875
|
opts, version, git_describe_options, GIT_DESCRIBE_OPTIONS_INIT);
|
|
885
876
|
return 0;
|
|
886
877
|
}
|
|
887
878
|
|
|
888
|
-
int
|
|
879
|
+
int git_describe_init_options(git_describe_options *opts, unsigned int version)
|
|
880
|
+
{
|
|
881
|
+
return git_describe_options_init(opts, version);
|
|
882
|
+
}
|
|
883
|
+
|
|
884
|
+
int git_describe_format_options_init(git_describe_format_options *opts, unsigned int version)
|
|
889
885
|
{
|
|
890
886
|
GIT_INIT_STRUCTURE_FROM_TEMPLATE(
|
|
891
887
|
opts, version, git_describe_format_options, GIT_DESCRIBE_FORMAT_OPTIONS_INIT);
|
|
892
888
|
return 0;
|
|
893
889
|
}
|
|
890
|
+
|
|
891
|
+
int git_describe_init_format_options(git_describe_format_options *opts, unsigned int version)
|
|
892
|
+
{
|
|
893
|
+
return git_describe_format_options_init(opts, version);
|
|
894
|
+
}
|
data/vendor/libgit2/src/diff.c
CHANGED
|
@@ -114,7 +114,7 @@ int git_diff_is_sorted_icase(const git_diff *diff)
|
|
|
114
114
|
int git_diff_get_perfdata(git_diff_perfdata *out, const git_diff *diff)
|
|
115
115
|
{
|
|
116
116
|
assert(out);
|
|
117
|
-
|
|
117
|
+
GIT_ERROR_CHECK_VERSION(out, GIT_DIFF_PERFDATA_VERSION, "git_diff_perfdata");
|
|
118
118
|
out->stat_calls = diff->perf.stat_calls;
|
|
119
119
|
out->oid_calculations = diff->perf.oid_calculations;
|
|
120
120
|
return 0;
|
|
@@ -251,7 +251,7 @@ int git_diff_format_email(
|
|
|
251
251
|
assert(out && diff && opts);
|
|
252
252
|
assert(opts->summary && opts->id && opts->author);
|
|
253
253
|
|
|
254
|
-
|
|
254
|
+
GIT_ERROR_CHECK_VERSION(opts,
|
|
255
255
|
GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION,
|
|
256
256
|
"git_format_email_options");
|
|
257
257
|
|
|
@@ -260,14 +260,14 @@ int git_diff_format_email(
|
|
|
260
260
|
|
|
261
261
|
if (!ignore_marker) {
|
|
262
262
|
if (opts->patch_no > opts->total_patches) {
|
|
263
|
-
|
|
263
|
+
git_error_set(GIT_ERROR_INVALID,
|
|
264
264
|
"patch %"PRIuZ" out of range. max %"PRIuZ,
|
|
265
265
|
opts->patch_no, opts->total_patches);
|
|
266
266
|
return -1;
|
|
267
267
|
}
|
|
268
268
|
|
|
269
269
|
if (opts->patch_no == 0) {
|
|
270
|
-
|
|
270
|
+
git_error_set(GIT_ERROR_INVALID,
|
|
271
271
|
"invalid patch no %"PRIuZ". should be >0", opts->patch_no);
|
|
272
272
|
return -1;
|
|
273
273
|
}
|
|
@@ -280,14 +280,14 @@ int git_diff_format_email(
|
|
|
280
280
|
size_t offset = 0;
|
|
281
281
|
|
|
282
282
|
if ((offset = (loc - opts->summary)) == 0) {
|
|
283
|
-
|
|
283
|
+
git_error_set(GIT_ERROR_INVALID, "summary is empty");
|
|
284
284
|
error = -1;
|
|
285
285
|
goto on_error;
|
|
286
286
|
}
|
|
287
287
|
|
|
288
|
-
|
|
288
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&allocsize, offset, 1);
|
|
289
289
|
summary = git__calloc(allocsize, sizeof(char));
|
|
290
|
-
|
|
290
|
+
GIT_ERROR_CHECK_ALLOC(summary);
|
|
291
291
|
|
|
292
292
|
strncpy(summary, opts->summary, offset);
|
|
293
293
|
}
|
|
@@ -323,7 +323,7 @@ int git_diff_commit_as_email(
|
|
|
323
323
|
git_commit *commit,
|
|
324
324
|
size_t patch_no,
|
|
325
325
|
size_t total_patches,
|
|
326
|
-
|
|
326
|
+
uint32_t flags,
|
|
327
327
|
const git_diff_options *diff_opts)
|
|
328
328
|
{
|
|
329
329
|
git_diff *diff = NULL;
|
|
@@ -350,14 +350,19 @@ int git_diff_commit_as_email(
|
|
|
350
350
|
return error;
|
|
351
351
|
}
|
|
352
352
|
|
|
353
|
-
int
|
|
353
|
+
int git_diff_options_init(git_diff_options *opts, unsigned int version)
|
|
354
354
|
{
|
|
355
355
|
GIT_INIT_STRUCTURE_FROM_TEMPLATE(
|
|
356
356
|
opts, version, git_diff_options, GIT_DIFF_OPTIONS_INIT);
|
|
357
357
|
return 0;
|
|
358
358
|
}
|
|
359
359
|
|
|
360
|
-
int
|
|
360
|
+
int git_diff_init_options(git_diff_options *opts, unsigned int version)
|
|
361
|
+
{
|
|
362
|
+
return git_diff_options_init(opts, version);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
int git_diff_find_options_init(
|
|
361
366
|
git_diff_find_options *opts, unsigned int version)
|
|
362
367
|
{
|
|
363
368
|
GIT_INIT_STRUCTURE_FROM_TEMPLATE(
|
|
@@ -365,7 +370,13 @@ int git_diff_find_init_options(
|
|
|
365
370
|
return 0;
|
|
366
371
|
}
|
|
367
372
|
|
|
368
|
-
int
|
|
373
|
+
int git_diff_find_init_options(
|
|
374
|
+
git_diff_find_options *opts, unsigned int version)
|
|
375
|
+
{
|
|
376
|
+
return git_diff_find_options_init(opts, version);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
int git_diff_format_email_options_init(
|
|
369
380
|
git_diff_format_email_options *opts, unsigned int version)
|
|
370
381
|
{
|
|
371
382
|
GIT_INIT_STRUCTURE_FROM_TEMPLATE(
|
|
@@ -374,6 +385,12 @@ int git_diff_format_email_init_options(
|
|
|
374
385
|
return 0;
|
|
375
386
|
}
|
|
376
387
|
|
|
388
|
+
int git_diff_format_email_init_options(
|
|
389
|
+
git_diff_format_email_options *opts, unsigned int version)
|
|
390
|
+
{
|
|
391
|
+
return git_diff_format_email_options_init(opts, version);
|
|
392
|
+
}
|
|
393
|
+
|
|
377
394
|
static int flush_hunk(git_oid *result, git_hash_ctx *ctx)
|
|
378
395
|
{
|
|
379
396
|
git_oid hash;
|
|
@@ -386,7 +403,7 @@ static int flush_hunk(git_oid *result, git_hash_ctx *ctx)
|
|
|
386
403
|
|
|
387
404
|
for (i = 0; i < GIT_OID_RAWSZ; i++) {
|
|
388
405
|
carry += result->id[i] + hash.id[i];
|
|
389
|
-
result->id[i] = carry;
|
|
406
|
+
result->id[i] = (unsigned char)carry;
|
|
390
407
|
carry >>= 8;
|
|
391
408
|
}
|
|
392
409
|
|
|
@@ -409,79 +426,44 @@ static void strip_spaces(git_buf *buf)
|
|
|
409
426
|
git_buf_truncate(buf, len);
|
|
410
427
|
}
|
|
411
428
|
|
|
412
|
-
|
|
429
|
+
int git_diff_patchid_print_callback__to_buf(
|
|
413
430
|
const git_diff_delta *delta,
|
|
414
|
-
|
|
431
|
+
const git_diff_hunk *hunk,
|
|
432
|
+
const git_diff_line *line,
|
|
415
433
|
void *payload)
|
|
416
434
|
{
|
|
417
435
|
struct patch_id_args *args = (struct patch_id_args *) payload;
|
|
418
436
|
git_buf buf = GIT_BUF_INIT;
|
|
419
|
-
int error;
|
|
420
|
-
|
|
421
|
-
GIT_UNUSED(progress);
|
|
437
|
+
int error = 0;
|
|
422
438
|
|
|
423
|
-
if (
|
|
424
|
-
|
|
439
|
+
if (line->origin == GIT_DIFF_LINE_CONTEXT_EOFNL ||
|
|
440
|
+
line->origin == GIT_DIFF_LINE_ADD_EOFNL ||
|
|
441
|
+
line->origin == GIT_DIFF_LINE_DEL_EOFNL)
|
|
425
442
|
goto out;
|
|
426
|
-
args->first_file = 0;
|
|
427
|
-
|
|
428
|
-
if ((error = git_buf_printf(&buf,
|
|
429
|
-
"diff--gita/%sb/%s---a/%s+++b/%s",
|
|
430
|
-
delta->old_file.path,
|
|
431
|
-
delta->new_file.path,
|
|
432
|
-
delta->old_file.path,
|
|
433
|
-
delta->new_file.path)) < 0)
|
|
434
|
-
goto out;
|
|
435
|
-
|
|
436
|
-
strip_spaces(&buf);
|
|
437
443
|
|
|
438
|
-
if ((error =
|
|
444
|
+
if ((error = git_diff_print_callback__to_buf(delta, hunk,
|
|
445
|
+
line, &buf)) < 0)
|
|
439
446
|
goto out;
|
|
440
447
|
|
|
441
|
-
out:
|
|
442
|
-
git_buf_dispose(&buf);
|
|
443
|
-
return error;
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
static int line_cb(
|
|
447
|
-
const git_diff_delta *delta,
|
|
448
|
-
const git_diff_hunk *hunk,
|
|
449
|
-
const git_diff_line *line,
|
|
450
|
-
void *payload)
|
|
451
|
-
{
|
|
452
|
-
struct patch_id_args *args = (struct patch_id_args *) payload;
|
|
453
|
-
git_buf buf = GIT_BUF_INIT;
|
|
454
|
-
int error;
|
|
455
|
-
|
|
456
|
-
GIT_UNUSED(delta);
|
|
457
|
-
GIT_UNUSED(hunk);
|
|
458
|
-
|
|
459
|
-
switch (line->origin) {
|
|
460
|
-
case GIT_DIFF_LINE_ADDITION:
|
|
461
|
-
git_buf_putc(&buf, '+');
|
|
462
|
-
break;
|
|
463
|
-
case GIT_DIFF_LINE_DELETION:
|
|
464
|
-
git_buf_putc(&buf, '-');
|
|
465
|
-
break;
|
|
466
|
-
case GIT_DIFF_LINE_CONTEXT:
|
|
467
|
-
break;
|
|
468
|
-
default:
|
|
469
|
-
giterr_set(GITERR_PATCH, "invalid line origin for patch");
|
|
470
|
-
return -1;
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
git_buf_put(&buf, line->content, line->content_len);
|
|
474
448
|
strip_spaces(&buf);
|
|
475
449
|
|
|
450
|
+
if (line->origin == GIT_DIFF_LINE_FILE_HDR &&
|
|
451
|
+
!args->first_file &&
|
|
452
|
+
(error = flush_hunk(&args->result, &args->ctx) < 0))
|
|
453
|
+
goto out;
|
|
454
|
+
|
|
476
455
|
if ((error = git_hash_update(&args->ctx, buf.ptr, buf.size)) < 0)
|
|
477
456
|
goto out;
|
|
478
457
|
|
|
458
|
+
if (line->origin == GIT_DIFF_LINE_FILE_HDR && args->first_file)
|
|
459
|
+
args->first_file = 0;
|
|
460
|
+
|
|
479
461
|
out:
|
|
480
462
|
git_buf_dispose(&buf);
|
|
481
463
|
return error;
|
|
482
464
|
}
|
|
483
465
|
|
|
484
|
-
int
|
|
466
|
+
int git_diff_patchid_options_init(git_diff_patchid_options *opts, unsigned int version)
|
|
485
467
|
{
|
|
486
468
|
GIT_INIT_STRUCTURE_FROM_TEMPLATE(
|
|
487
469
|
opts, version, git_diff_patchid_options, GIT_DIFF_PATCHID_OPTIONS_INIT);
|
|
@@ -493,7 +475,7 @@ int git_diff_patchid(git_oid *out, git_diff *diff, git_diff_patchid_options *opt
|
|
|
493
475
|
struct patch_id_args args;
|
|
494
476
|
int error;
|
|
495
477
|
|
|
496
|
-
|
|
478
|
+
GIT_ERROR_CHECK_VERSION(
|
|
497
479
|
opts, GIT_DIFF_PATCHID_OPTIONS_VERSION, "git_diff_patchid_options");
|
|
498
480
|
|
|
499
481
|
memset(&args, 0, sizeof(args));
|
|
@@ -501,7 +483,10 @@ int git_diff_patchid(git_oid *out, git_diff *diff, git_diff_patchid_options *opt
|
|
|
501
483
|
if ((error = git_hash_ctx_init(&args.ctx)) < 0)
|
|
502
484
|
goto out;
|
|
503
485
|
|
|
504
|
-
if ((error =
|
|
486
|
+
if ((error = git_diff_print(diff,
|
|
487
|
+
GIT_DIFF_FORMAT_PATCH_ID,
|
|
488
|
+
git_diff_patchid_print_callback__to_buf,
|
|
489
|
+
&args)) < 0)
|
|
505
490
|
goto out;
|
|
506
491
|
|
|
507
492
|
if ((error = (flush_hunk(&args.result, &args.ctx))) < 0)
|
data/vendor/libgit2/src/diff.h
CHANGED
|
@@ -57,7 +57,8 @@ extern int git_diff_delta__format_file_header(
|
|
|
57
57
|
const git_diff_delta *delta,
|
|
58
58
|
const char *oldpfx,
|
|
59
59
|
const char *newpfx,
|
|
60
|
-
int oid_strlen
|
|
60
|
+
int oid_strlen,
|
|
61
|
+
bool print_index);
|
|
61
62
|
|
|
62
63
|
extern int git_diff_delta__cmp(const void *a, const void *b);
|
|
63
64
|
extern int git_diff_delta__casecmp(const void *a, const void *b);
|