rugged 1.0.0 → 1.2.0
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/LICENSE +1 -0
- data/README.md +3 -3
- data/ext/rugged/rugged.c +7 -4
- data/ext/rugged/rugged_commit.c +1 -1
- data/ext/rugged/rugged_config.c +1 -1
- data/ext/rugged/rugged_object.c +1 -1
- data/ext/rugged/rugged_remote.c +32 -2
- data/ext/rugged/rugged_repo.c +13 -3
- data/lib/rugged/commit.rb +17 -4
- data/lib/rugged/repository.rb +7 -8
- data/lib/rugged/submodule_collection.rb +4 -4
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +41 -74
- data/vendor/libgit2/COPYING +109 -1
- data/vendor/libgit2/cmake/{Modules/AddCFlagIfSupported.cmake → AddCFlagIfSupported.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/EnableWarnings.cmake → EnableWarnings.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindCoreFoundation.cmake → FindCoreFoundation.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindGSSAPI.cmake → FindGSSAPI.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindGSSFramework.cmake → FindGSSFramework.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindHTTP_Parser.cmake → FindHTTP_Parser.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindIconv.cmake → FindIconv.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPCRE.cmake → FindPCRE.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPCRE2.cmake → FindPCRE2.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPkgLibraries.cmake → FindPkgLibraries.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindSecurity.cmake → FindSecurity.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindStatNsec.cmake → FindStatNsec.cmake} +0 -0
- data/vendor/libgit2/cmake/Findfutimens.cmake +14 -0
- data/vendor/libgit2/cmake/{Modules/FindmbedTLS.cmake → FindmbedTLS.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/IdeSplitSources.cmake → IdeSplitSources.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/PkgBuildConfig.cmake → PkgBuildConfig.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/SanitizeBool.cmake → SanitizeBool.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/SelectGSSAPI.cmake → SelectGSSAPI.cmake} +18 -26
- data/vendor/libgit2/cmake/{Modules/SelectHTTPSBackend.cmake → SelectHTTPSBackend.cmake} +29 -32
- data/vendor/libgit2/cmake/{Modules/SelectHashes.cmake → SelectHashes.cmake} +21 -28
- data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +101 -0
- data/vendor/libgit2/deps/http-parser/CMakeLists.txt +4 -3
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +24 -10
- data/vendor/libgit2/deps/ntlmclient/compat.h +0 -27
- data/vendor/libgit2/deps/ntlmclient/crypt.h +14 -9
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +20 -20
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +3 -3
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +37 -36
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +4 -3
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +178 -51
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +74 -5
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +164 -135
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +13 -9
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +16 -3
- data/vendor/libgit2/deps/ntlmclient/unicode.h +10 -4
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +16 -27
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.h +20 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +28 -52
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.h +22 -0
- data/vendor/libgit2/deps/ntlmclient/util.c +15 -1
- data/vendor/libgit2/deps/ntlmclient/util.h +2 -1
- data/vendor/libgit2/deps/pcre/LICENCE +93 -0
- data/vendor/libgit2/deps/pcre/pcre.h +2 -2
- data/vendor/libgit2/deps/pcre/pcre_compile.c +29 -17
- data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +4 -4
- data/vendor/libgit2/deps/pcre/pcreposix.c +2 -3
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -5
- data/vendor/libgit2/deps/zlib/deflate.c +1 -0
- data/vendor/libgit2/include/git2/annotated_commit.h +1 -1
- data/vendor/libgit2/include/git2/apply.h +2 -0
- data/vendor/libgit2/include/git2/attr.h +89 -0
- data/vendor/libgit2/include/git2/blame.h +95 -42
- data/vendor/libgit2/include/git2/blob.h +31 -3
- data/vendor/libgit2/include/git2/branch.h +25 -0
- data/vendor/libgit2/include/git2/cert.h +42 -5
- data/vendor/libgit2/include/git2/checkout.h +28 -12
- data/vendor/libgit2/include/git2/commit.h +35 -19
- data/vendor/libgit2/include/git2/common.h +33 -6
- data/vendor/libgit2/include/git2/config.h +1 -1
- data/vendor/libgit2/include/git2/deprecated.h +248 -8
- data/vendor/libgit2/include/git2/diff.h +35 -20
- data/vendor/libgit2/include/git2/errors.h +8 -7
- data/vendor/libgit2/include/git2/filter.h +57 -17
- data/vendor/libgit2/include/git2/graph.h +20 -2
- data/vendor/libgit2/include/git2/index.h +4 -5
- data/vendor/libgit2/include/git2/indexer.h +2 -1
- data/vendor/libgit2/include/git2/odb.h +44 -20
- data/vendor/libgit2/include/git2/pack.h +1 -1
- data/vendor/libgit2/include/git2/patch.h +8 -0
- data/vendor/libgit2/include/git2/rebase.h +25 -1
- data/vendor/libgit2/include/git2/refs.h +9 -5
- data/vendor/libgit2/include/git2/remote.h +59 -6
- data/vendor/libgit2/include/git2/repository.h +95 -52
- data/vendor/libgit2/include/git2/revparse.h +5 -5
- data/vendor/libgit2/include/git2/status.h +115 -59
- data/vendor/libgit2/include/git2/strarray.h +6 -10
- data/vendor/libgit2/include/git2/submodule.h +9 -0
- data/vendor/libgit2/include/git2/sys/commit_graph.h +174 -0
- data/vendor/libgit2/include/git2/sys/filter.h +49 -28
- data/vendor/libgit2/include/git2/sys/midx.h +74 -0
- data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -0
- data/vendor/libgit2/include/git2/sys/transport.h +1 -0
- data/vendor/libgit2/include/git2/tag.h +12 -0
- data/vendor/libgit2/include/git2/transport.h +1 -1
- data/vendor/libgit2/include/git2/tree.h +2 -14
- data/vendor/libgit2/include/git2/types.h +9 -0
- data/vendor/libgit2/include/git2/version.h +3 -3
- data/vendor/libgit2/include/git2/worktree.h +1 -0
- data/vendor/libgit2/src/CMakeLists.txt +77 -44
- data/vendor/libgit2/src/alloc.c +21 -8
- data/vendor/libgit2/src/allocators/failalloc.c +92 -0
- data/vendor/libgit2/src/allocators/failalloc.h +23 -0
- data/vendor/libgit2/src/allocators/stdalloc.c +41 -10
- data/vendor/libgit2/src/allocators/win32_leakcheck.c +118 -0
- data/vendor/libgit2/src/allocators/{win32_crtdbg.h → win32_leakcheck.h} +3 -3
- data/vendor/libgit2/src/annotated_commit.c +21 -9
- data/vendor/libgit2/src/apply.c +21 -8
- data/vendor/libgit2/src/array.h +11 -11
- data/vendor/libgit2/src/assert_safe.h +58 -0
- data/vendor/libgit2/src/attr.c +181 -74
- data/vendor/libgit2/src/attr_file.c +92 -42
- data/vendor/libgit2/src/attr_file.h +32 -11
- data/vendor/libgit2/src/attrcache.c +44 -40
- data/vendor/libgit2/src/attrcache.h +4 -5
- data/vendor/libgit2/src/blame.c +28 -15
- data/vendor/libgit2/src/blame_git.c +6 -3
- data/vendor/libgit2/src/blob.c +46 -24
- data/vendor/libgit2/src/branch.c +87 -37
- data/vendor/libgit2/src/buffer.c +339 -27
- data/vendor/libgit2/src/buffer.h +153 -2
- data/vendor/libgit2/src/cache.c +3 -24
- data/vendor/libgit2/src/cache.h +7 -7
- data/vendor/libgit2/src/cc-compat.h +10 -2
- data/vendor/libgit2/src/checkout.c +97 -98
- data/vendor/libgit2/src/cherrypick.c +8 -2
- data/vendor/libgit2/src/clone.c +104 -29
- data/vendor/libgit2/src/commit.c +41 -28
- data/vendor/libgit2/src/commit_graph.c +1209 -0
- data/vendor/libgit2/src/commit_graph.h +162 -0
- data/vendor/libgit2/src/commit_list.c +46 -0
- data/vendor/libgit2/src/commit_list.h +2 -0
- data/vendor/libgit2/src/common.h +26 -2
- data/vendor/libgit2/src/config.c +40 -22
- data/vendor/libgit2/src/config_cache.c +9 -4
- data/vendor/libgit2/src/config_entries.c +35 -27
- data/vendor/libgit2/src/config_file.c +25 -8
- data/vendor/libgit2/src/config_parse.c +5 -7
- data/vendor/libgit2/src/config_snapshot.c +2 -1
- data/vendor/libgit2/src/crlf.c +16 -6
- data/vendor/libgit2/src/date.c +4 -3
- data/vendor/libgit2/src/delta.c +1 -1
- data/vendor/libgit2/src/describe.c +11 -4
- data/vendor/libgit2/src/diff.c +23 -19
- data/vendor/libgit2/src/diff_driver.c +21 -17
- data/vendor/libgit2/src/diff_file.c +5 -7
- data/vendor/libgit2/src/diff_generate.c +56 -28
- data/vendor/libgit2/src/diff_parse.c +2 -3
- data/vendor/libgit2/src/diff_print.c +81 -65
- data/vendor/libgit2/src/diff_stats.c +19 -16
- data/vendor/libgit2/src/diff_tform.c +13 -13
- data/vendor/libgit2/src/diff_xdiff.c +4 -2
- data/vendor/libgit2/src/diff_xdiff.h +1 -1
- data/vendor/libgit2/src/errors.c +26 -19
- data/vendor/libgit2/src/features.h.in +5 -1
- data/vendor/libgit2/src/fetch.c +7 -2
- data/vendor/libgit2/src/fetchhead.c +8 -4
- data/vendor/libgit2/src/filebuf.c +9 -7
- data/vendor/libgit2/src/filter.c +209 -113
- data/vendor/libgit2/src/filter.h +24 -5
- data/vendor/libgit2/src/futils.c +8 -8
- data/vendor/libgit2/src/futils.h +4 -4
- data/vendor/libgit2/src/graph.c +64 -9
- data/vendor/libgit2/src/hash/sha1/collisiondetect.c +3 -3
- data/vendor/libgit2/src/hash/sha1/common_crypto.c +3 -3
- data/vendor/libgit2/src/hash/sha1/generic.h +1 -1
- data/vendor/libgit2/src/hash/sha1/mbedtls.c +12 -12
- data/vendor/libgit2/src/hash/sha1/openssl.c +3 -3
- data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +0 -2
- data/vendor/libgit2/src/hash/sha1/win32.c +15 -11
- data/vendor/libgit2/src/hash.c +16 -13
- data/vendor/libgit2/src/hash.h +1 -1
- data/vendor/libgit2/src/hashsig.c +23 -10
- data/vendor/libgit2/src/ident.c +13 -3
- data/vendor/libgit2/src/idxmap.c +0 -22
- data/vendor/libgit2/src/ignore.c +35 -19
- data/vendor/libgit2/src/index.c +126 -84
- data/vendor/libgit2/src/index.h +1 -1
- data/vendor/libgit2/src/indexer.c +60 -36
- data/vendor/libgit2/src/integer.h +79 -2
- data/vendor/libgit2/src/iterator.c +40 -28
- data/vendor/libgit2/src/iterator.h +1 -1
- data/vendor/libgit2/src/khash.h +2 -11
- data/vendor/libgit2/src/{settings.c → libgit2.c} +125 -49
- data/vendor/libgit2/src/libgit2.h +15 -0
- data/vendor/libgit2/src/mailmap.c +23 -10
- data/vendor/libgit2/src/map.h +3 -3
- data/vendor/libgit2/src/merge.c +108 -46
- data/vendor/libgit2/src/merge.h +2 -1
- data/vendor/libgit2/src/merge_driver.c +19 -13
- data/vendor/libgit2/src/merge_file.c +15 -9
- data/vendor/libgit2/src/message.c +3 -1
- data/vendor/libgit2/src/midx.c +879 -0
- data/vendor/libgit2/src/midx.h +110 -0
- data/vendor/libgit2/src/mwindow.c +214 -95
- data/vendor/libgit2/src/mwindow.h +3 -3
- data/vendor/libgit2/src/net.c +133 -4
- data/vendor/libgit2/src/net.h +16 -2
- data/vendor/libgit2/src/netops.c +6 -4
- data/vendor/libgit2/src/netops.h +2 -2
- data/vendor/libgit2/src/notes.c +10 -10
- data/vendor/libgit2/src/object.c +24 -15
- data/vendor/libgit2/src/odb.c +298 -57
- data/vendor/libgit2/src/odb.h +16 -2
- data/vendor/libgit2/src/odb_loose.c +31 -21
- data/vendor/libgit2/src/odb_mempack.c +3 -1
- data/vendor/libgit2/src/odb_pack.c +391 -114
- data/vendor/libgit2/src/oid.c +7 -4
- data/vendor/libgit2/src/pack-objects.c +83 -69
- data/vendor/libgit2/src/pack.c +383 -150
- data/vendor/libgit2/src/pack.h +44 -9
- data/vendor/libgit2/src/patch.c +14 -7
- data/vendor/libgit2/src/patch_generate.c +3 -5
- data/vendor/libgit2/src/patch_parse.c +6 -3
- data/vendor/libgit2/src/path.c +102 -57
- data/vendor/libgit2/src/path.h +79 -6
- data/vendor/libgit2/src/pathspec.c +12 -11
- data/vendor/libgit2/src/pool.c +34 -22
- data/vendor/libgit2/src/pool.h +9 -1
- data/vendor/libgit2/src/posix.c +43 -12
- data/vendor/libgit2/src/posix.h +9 -0
- data/vendor/libgit2/src/proxy.c +2 -0
- data/vendor/libgit2/src/push.c +2 -0
- data/vendor/libgit2/src/reader.c +10 -6
- data/vendor/libgit2/src/rebase.c +95 -49
- data/vendor/libgit2/src/refdb.c +165 -13
- data/vendor/libgit2/src/refdb.h +69 -0
- data/vendor/libgit2/src/refdb_fs.c +144 -152
- data/vendor/libgit2/src/reflog.c +21 -20
- data/vendor/libgit2/src/refs.c +151 -231
- data/vendor/libgit2/src/refs.h +2 -20
- data/vendor/libgit2/src/refspec.c +80 -44
- data/vendor/libgit2/src/regexp.c +2 -2
- data/vendor/libgit2/src/remote.c +312 -121
- data/vendor/libgit2/src/remote.h +2 -1
- data/vendor/libgit2/src/repository.c +351 -189
- data/vendor/libgit2/src/repository.h +23 -29
- data/vendor/libgit2/src/reset.c +7 -6
- data/vendor/libgit2/src/revert.c +8 -2
- data/vendor/libgit2/src/revparse.c +19 -13
- data/vendor/libgit2/src/revwalk.c +35 -20
- data/vendor/libgit2/src/runtime.c +162 -0
- data/vendor/libgit2/src/runtime.h +62 -0
- data/vendor/libgit2/src/{refdb_fs.h → settings.h} +3 -11
- data/vendor/libgit2/src/signature.c +6 -5
- data/vendor/libgit2/src/sortedcache.c +2 -3
- data/vendor/libgit2/src/sortedcache.h +10 -8
- data/vendor/libgit2/src/stash.c +7 -3
- data/vendor/libgit2/src/status.c +9 -4
- data/vendor/libgit2/src/strarray.c +64 -0
- data/vendor/libgit2/src/streams/mbedtls.c +14 -17
- data/vendor/libgit2/src/streams/mbedtls.h +1 -1
- data/vendor/libgit2/src/streams/openssl.c +113 -207
- data/vendor/libgit2/src/streams/openssl.h +9 -1
- data/vendor/libgit2/src/streams/openssl_dynamic.c +309 -0
- data/vendor/libgit2/src/streams/openssl_dynamic.h +348 -0
- data/vendor/libgit2/src/streams/openssl_legacy.c +203 -0
- data/vendor/libgit2/src/streams/openssl_legacy.h +63 -0
- data/vendor/libgit2/src/streams/registry.c +10 -9
- data/vendor/libgit2/src/streams/socket.c +6 -2
- data/vendor/libgit2/src/streams/stransport.c +6 -3
- data/vendor/libgit2/src/streams/tls.c +5 -3
- data/vendor/libgit2/src/submodule.c +134 -66
- data/vendor/libgit2/src/submodule.h +9 -9
- data/vendor/libgit2/src/sysdir.c +8 -26
- data/vendor/libgit2/src/sysdir.h +0 -11
- data/vendor/libgit2/src/tag.c +49 -11
- data/vendor/libgit2/src/thread.c +140 -0
- data/vendor/libgit2/src/thread.h +479 -0
- data/vendor/libgit2/src/threadstate.c +83 -0
- data/vendor/libgit2/src/threadstate.h +24 -0
- data/vendor/libgit2/src/trace.c +2 -2
- data/vendor/libgit2/src/trace.h +17 -13
- data/vendor/libgit2/src/transaction.c +21 -9
- data/vendor/libgit2/src/transport.c +3 -3
- data/vendor/libgit2/src/transports/auth.c +1 -1
- data/vendor/libgit2/src/transports/auth_negotiate.c +11 -4
- data/vendor/libgit2/src/transports/auth_ntlm.c +10 -6
- data/vendor/libgit2/src/transports/credential.c +17 -7
- data/vendor/libgit2/src/transports/credential_helpers.c +2 -0
- data/vendor/libgit2/src/transports/git.c +1 -3
- data/vendor/libgit2/src/transports/http.c +19 -17
- data/vendor/libgit2/src/transports/http.h +1 -0
- data/vendor/libgit2/src/transports/httpclient.c +84 -42
- data/vendor/libgit2/src/transports/httpclient.h +1 -1
- data/vendor/libgit2/src/transports/local.c +5 -5
- data/vendor/libgit2/src/transports/smart.c +14 -9
- data/vendor/libgit2/src/transports/smart.h +1 -1
- data/vendor/libgit2/src/transports/smart_protocol.c +11 -5
- data/vendor/libgit2/src/transports/ssh.c +51 -17
- data/vendor/libgit2/src/transports/winhttp.c +156 -88
- data/vendor/libgit2/src/tree.c +100 -77
- data/vendor/libgit2/src/tree.h +1 -0
- data/vendor/libgit2/src/tsort.c +0 -2
- data/vendor/libgit2/src/unix/map.c +3 -1
- data/vendor/libgit2/src/unix/posix.h +16 -1
- data/vendor/libgit2/src/unix/pthread.h +2 -1
- data/vendor/libgit2/src/utf8.c +150 -0
- data/vendor/libgit2/src/utf8.h +52 -0
- data/vendor/libgit2/src/util.c +74 -183
- data/vendor/libgit2/src/util.h +33 -39
- data/vendor/libgit2/src/vector.c +23 -19
- data/vendor/libgit2/src/vector.h +4 -2
- data/vendor/libgit2/src/win32/findfile.c +4 -2
- data/vendor/libgit2/src/win32/git2.rc +18 -3
- data/vendor/libgit2/src/win32/map.c +1 -1
- data/vendor/libgit2/src/win32/msvc-compat.h +9 -1
- data/vendor/libgit2/src/win32/path_w32.c +23 -25
- data/vendor/libgit2/src/win32/path_w32.h +0 -1
- data/vendor/libgit2/src/win32/posix_w32.c +77 -1
- data/vendor/libgit2/src/win32/precompiled.h +0 -1
- data/vendor/libgit2/src/win32/reparse.h +4 -4
- data/vendor/libgit2/src/win32/thread.c +24 -15
- data/vendor/libgit2/src/win32/thread.h +1 -1
- data/vendor/libgit2/src/win32/w32_buffer.c +3 -3
- data/vendor/libgit2/src/win32/w32_common.h +18 -9
- data/vendor/libgit2/src/win32/{w32_crtdbg_stacktrace.c → w32_leakcheck.c} +269 -33
- data/vendor/libgit2/src/win32/w32_leakcheck.h +222 -0
- data/vendor/libgit2/src/win32/w32_util.h +6 -6
- data/vendor/libgit2/src/worktree.c +37 -15
- data/vendor/libgit2/src/zstream.c +1 -1
- metadata +56 -38
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +0 -29
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +0 -96
- data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
- data/vendor/libgit2/src/buf_text.c +0 -316
- data/vendor/libgit2/src/buf_text.h +0 -122
- data/vendor/libgit2/src/global.c +0 -361
- data/vendor/libgit2/src/global.h +0 -41
- data/vendor/libgit2/src/thread-utils.c +0 -58
- data/vendor/libgit2/src/thread-utils.h +0 -246
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -127
- data/vendor/libgit2/src/win32/w32_stack.c +0 -188
- data/vendor/libgit2/src/win32/w32_stack.h +0 -140
data/vendor/libgit2/src/filter.h
CHANGED
|
@@ -11,29 +11,39 @@
|
|
|
11
11
|
|
|
12
12
|
#include "attr_file.h"
|
|
13
13
|
#include "git2/filter.h"
|
|
14
|
+
#include "git2/sys/filter.h"
|
|
14
15
|
|
|
15
16
|
/* Amount of file to examine for NUL byte when checking binary-ness */
|
|
16
17
|
#define GIT_FILTER_BYTES_TO_CHECK_NUL 8000
|
|
17
18
|
|
|
18
19
|
typedef struct {
|
|
20
|
+
git_filter_options options;
|
|
19
21
|
git_attr_session *attr_session;
|
|
20
22
|
git_buf *temp_buf;
|
|
21
|
-
|
|
22
|
-
} git_filter_options;
|
|
23
|
+
} git_filter_session;
|
|
23
24
|
|
|
24
|
-
#define GIT_FILTER_OPTIONS_INIT
|
|
25
|
+
#define GIT_FILTER_SESSION_INIT {GIT_FILTER_OPTIONS_INIT, 0}
|
|
25
26
|
|
|
26
27
|
extern int git_filter_global_init(void);
|
|
27
28
|
|
|
28
29
|
extern void git_filter_free(git_filter *filter);
|
|
29
30
|
|
|
30
|
-
extern int
|
|
31
|
+
extern int git_filter_list__load(
|
|
31
32
|
git_filter_list **filters,
|
|
32
33
|
git_repository *repo,
|
|
33
34
|
git_blob *blob, /* can be NULL */
|
|
34
35
|
const char *path,
|
|
35
36
|
git_filter_mode_t mode,
|
|
36
|
-
|
|
37
|
+
git_filter_session *filter_session);
|
|
38
|
+
|
|
39
|
+
/*
|
|
40
|
+
* The given input buffer will be converted to the given output buffer.
|
|
41
|
+
* The input buffer will be freed (_if_ it was allocated).
|
|
42
|
+
*/
|
|
43
|
+
extern int git_filter_list__convert_buf(
|
|
44
|
+
git_buf *out,
|
|
45
|
+
git_filter_list *filters,
|
|
46
|
+
git_buf *in);
|
|
37
47
|
|
|
38
48
|
/*
|
|
39
49
|
* Available filters
|
|
@@ -42,4 +52,13 @@ extern int git_filter_list__load_ext(
|
|
|
42
52
|
extern git_filter *git_crlf_filter_new(void);
|
|
43
53
|
extern git_filter *git_ident_filter_new(void);
|
|
44
54
|
|
|
55
|
+
extern int git_filter_buffered_stream_new(
|
|
56
|
+
git_writestream **out,
|
|
57
|
+
git_filter *filter,
|
|
58
|
+
int (*write_fn)(git_filter *, void **, git_buf *, const git_buf *, const git_filter_source *),
|
|
59
|
+
git_buf *temp_buf,
|
|
60
|
+
void **payload,
|
|
61
|
+
const git_filter_source *source,
|
|
62
|
+
git_writestream *target);
|
|
63
|
+
|
|
45
64
|
#endif
|
data/vendor/libgit2/src/futils.c
CHANGED
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
#include "futils.h"
|
|
9
9
|
|
|
10
|
-
#include "
|
|
10
|
+
#include "runtime.h"
|
|
11
11
|
#include "strmap.h"
|
|
12
|
+
#include "hash.h"
|
|
12
13
|
#include <ctype.h>
|
|
13
14
|
#if GIT_WIN32
|
|
14
15
|
#include "win32/findfile.h"
|
|
@@ -184,7 +185,8 @@ int git_futils_readbuffer_updated(
|
|
|
184
185
|
git_buf buf = GIT_BUF_INIT;
|
|
185
186
|
git_oid checksum_new;
|
|
186
187
|
|
|
187
|
-
|
|
188
|
+
GIT_ASSERT_ARG(out);
|
|
189
|
+
GIT_ASSERT_ARG(path && *path);
|
|
188
190
|
|
|
189
191
|
if (updated != NULL)
|
|
190
192
|
*updated = 0;
|
|
@@ -492,7 +494,7 @@ int git_futils_mkdir(
|
|
|
492
494
|
goto done;
|
|
493
495
|
}
|
|
494
496
|
|
|
495
|
-
|
|
497
|
+
GIT_ASSERT(len);
|
|
496
498
|
|
|
497
499
|
/*
|
|
498
500
|
* We've walked all the given path's parents and it's either relative
|
|
@@ -834,12 +836,12 @@ int git_futils_rmdir_r(
|
|
|
834
836
|
return error;
|
|
835
837
|
}
|
|
836
838
|
|
|
837
|
-
int git_futils_fake_symlink(const char *
|
|
839
|
+
int git_futils_fake_symlink(const char *target, const char *path)
|
|
838
840
|
{
|
|
839
841
|
int retcode = GIT_ERROR;
|
|
840
|
-
int fd = git_futils_creat_withpath(
|
|
842
|
+
int fd = git_futils_creat_withpath(path, 0755, 0644);
|
|
841
843
|
if (fd >= 0) {
|
|
842
|
-
retcode = p_write(fd,
|
|
844
|
+
retcode = p_write(fd, target, strlen(target));
|
|
843
845
|
p_close(fd);
|
|
844
846
|
}
|
|
845
847
|
return retcode;
|
|
@@ -1127,8 +1129,6 @@ int git_futils_filestamp_check(
|
|
|
1127
1129
|
void git_futils_filestamp_set(
|
|
1128
1130
|
git_futils_filestamp *target, const git_futils_filestamp *source)
|
|
1129
1131
|
{
|
|
1130
|
-
assert(target);
|
|
1131
|
-
|
|
1132
1132
|
if (source)
|
|
1133
1133
|
memcpy(target, source, sizeof(*target));
|
|
1134
1134
|
else
|
data/vendor/libgit2/src/futils.h
CHANGED
|
@@ -257,7 +257,7 @@ extern int git_futils_truncate(const char *path, int mode);
|
|
|
257
257
|
*/
|
|
258
258
|
extern int git_futils_filesize(uint64_t *out, git_file fd);
|
|
259
259
|
|
|
260
|
-
#define GIT_PERMS_IS_EXEC(MODE) (((MODE) &
|
|
260
|
+
#define GIT_PERMS_IS_EXEC(MODE) (((MODE) & 0100) != 0)
|
|
261
261
|
#define GIT_PERMS_CANONICAL(MODE) (GIT_PERMS_IS_EXEC(MODE) ? 0755 : 0644)
|
|
262
262
|
#define GIT_PERMS_FOR_WRITE(MODE) (GIT_PERMS_IS_EXEC(MODE) ? 0777 : 0666)
|
|
263
263
|
|
|
@@ -316,11 +316,11 @@ extern void git_futils_mmap_free(git_map *map);
|
|
|
316
316
|
/**
|
|
317
317
|
* Create a "fake" symlink (text file containing the target path).
|
|
318
318
|
*
|
|
319
|
-
* @param
|
|
320
|
-
* @param
|
|
319
|
+
* @param target original symlink target
|
|
320
|
+
* @param path symlink file to be created
|
|
321
321
|
* @return 0 on success, -1 on error
|
|
322
322
|
*/
|
|
323
|
-
extern int git_futils_fake_symlink(const char *
|
|
323
|
+
extern int git_futils_fake_symlink(const char *target, const char *path);
|
|
324
324
|
|
|
325
325
|
/**
|
|
326
326
|
* A file stamp represents a snapshot of information about a file that can
|
data/vendor/libgit2/src/graph.c
CHANGED
|
@@ -43,7 +43,7 @@ static int mark_parents(git_revwalk *walk, git_commit_list_node *one,
|
|
|
43
43
|
return 0;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
if (git_pqueue_init(&list, 0, 2,
|
|
46
|
+
if (git_pqueue_init(&list, 0, 2, git_commit_list_generation_cmp) < 0)
|
|
47
47
|
return -1;
|
|
48
48
|
|
|
49
49
|
if (git_commit_list_parse(walk, one) < 0)
|
|
@@ -176,19 +176,74 @@ on_error:
|
|
|
176
176
|
|
|
177
177
|
int git_graph_descendant_of(git_repository *repo, const git_oid *commit, const git_oid *ancestor)
|
|
178
178
|
{
|
|
179
|
-
git_oid merge_base;
|
|
180
|
-
int error;
|
|
181
|
-
|
|
182
179
|
if (git_oid_equal(commit, ancestor))
|
|
183
180
|
return 0;
|
|
184
181
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
182
|
+
return git_graph_reachable_from_any(repo, ancestor, commit, 1);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
int git_graph_reachable_from_any(
|
|
186
|
+
git_repository *repo,
|
|
187
|
+
const git_oid *commit_id,
|
|
188
|
+
const git_oid descendant_array[],
|
|
189
|
+
size_t length)
|
|
190
|
+
{
|
|
191
|
+
git_revwalk *walk = NULL;
|
|
192
|
+
git_vector list;
|
|
193
|
+
git_commit_list *result = NULL;
|
|
194
|
+
git_commit_list_node *commit;
|
|
195
|
+
size_t i;
|
|
196
|
+
uint32_t minimum_generation = 0xffffffff;
|
|
197
|
+
int error = 0;
|
|
198
|
+
|
|
199
|
+
if (!length)
|
|
188
200
|
return 0;
|
|
189
201
|
|
|
190
|
-
|
|
202
|
+
for (i = 0; i < length; ++i) {
|
|
203
|
+
if (git_oid_equal(commit_id, &descendant_array[i]))
|
|
204
|
+
return 1;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
if ((error = git_vector_init(&list, length + 1, NULL)) < 0)
|
|
191
208
|
return error;
|
|
192
209
|
|
|
193
|
-
|
|
210
|
+
if ((error = git_revwalk_new(&walk, repo)) < 0)
|
|
211
|
+
goto done;
|
|
212
|
+
|
|
213
|
+
for (i = 0; i < length; i++) {
|
|
214
|
+
commit = git_revwalk__commit_lookup(walk, &descendant_array[i]);
|
|
215
|
+
if (commit == NULL) {
|
|
216
|
+
error = -1;
|
|
217
|
+
goto done;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
git_vector_insert(&list, commit);
|
|
221
|
+
if (minimum_generation > commit->generation)
|
|
222
|
+
minimum_generation = commit->generation;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
commit = git_revwalk__commit_lookup(walk, commit_id);
|
|
226
|
+
if (commit == NULL) {
|
|
227
|
+
error = -1;
|
|
228
|
+
goto done;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
if (minimum_generation > commit->generation)
|
|
232
|
+
minimum_generation = commit->generation;
|
|
233
|
+
|
|
234
|
+
if ((error = git_merge__bases_many(&result, walk, commit, &list, minimum_generation)) < 0)
|
|
235
|
+
goto done;
|
|
236
|
+
|
|
237
|
+
if (result) {
|
|
238
|
+
error = git_oid_equal(commit_id, &result->item->oid);
|
|
239
|
+
} else {
|
|
240
|
+
/* No merge-base found, it's not a descendant */
|
|
241
|
+
error = 0;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
done:
|
|
245
|
+
git_commit_list_free(&result);
|
|
246
|
+
git_vector_free(&list);
|
|
247
|
+
git_revwalk_free(walk);
|
|
248
|
+
return error;
|
|
194
249
|
}
|
|
@@ -24,21 +24,21 @@ void git_hash_sha1_ctx_cleanup(git_hash_sha1_ctx *ctx)
|
|
|
24
24
|
|
|
25
25
|
int git_hash_sha1_init(git_hash_sha1_ctx *ctx)
|
|
26
26
|
{
|
|
27
|
-
|
|
27
|
+
GIT_ASSERT_ARG(ctx);
|
|
28
28
|
SHA1DCInit(&ctx->c);
|
|
29
29
|
return 0;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
int git_hash_sha1_update(git_hash_sha1_ctx *ctx, const void *data, size_t len)
|
|
33
33
|
{
|
|
34
|
-
|
|
34
|
+
GIT_ASSERT_ARG(ctx);
|
|
35
35
|
SHA1DCUpdate(&ctx->c, data, len);
|
|
36
36
|
return 0;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
int git_hash_sha1_final(git_oid *out, git_hash_sha1_ctx *ctx)
|
|
40
40
|
{
|
|
41
|
-
|
|
41
|
+
GIT_ASSERT_ARG(ctx);
|
|
42
42
|
if (SHA1DCFinal(out->id, &ctx->c)) {
|
|
43
43
|
git_error_set(GIT_ERROR_SHA1, "SHA1 collision attack detected");
|
|
44
44
|
return -1;
|
|
@@ -26,7 +26,7 @@ void git_hash_sha1_ctx_cleanup(git_hash_sha1_ctx *ctx)
|
|
|
26
26
|
|
|
27
27
|
int git_hash_sha1_init(git_hash_sha1_ctx *ctx)
|
|
28
28
|
{
|
|
29
|
-
|
|
29
|
+
GIT_ASSERT_ARG(ctx);
|
|
30
30
|
CC_SHA1_Init(&ctx->c);
|
|
31
31
|
return 0;
|
|
32
32
|
}
|
|
@@ -35,7 +35,7 @@ int git_hash_sha1_update(git_hash_sha1_ctx *ctx, const void *_data, size_t len)
|
|
|
35
35
|
{
|
|
36
36
|
const unsigned char *data = _data;
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
GIT_ASSERT_ARG(ctx);
|
|
39
39
|
|
|
40
40
|
while (len > 0) {
|
|
41
41
|
CC_LONG chunk = (len > CC_LONG_MAX) ? CC_LONG_MAX : (CC_LONG)len;
|
|
@@ -51,7 +51,7 @@ int git_hash_sha1_update(git_hash_sha1_ctx *ctx, const void *_data, size_t len)
|
|
|
51
51
|
|
|
52
52
|
int git_hash_sha1_final(git_oid *out, git_hash_sha1_ctx *ctx)
|
|
53
53
|
{
|
|
54
|
-
|
|
54
|
+
GIT_ASSERT_ARG(ctx);
|
|
55
55
|
CC_SHA1_Final(out->id, &ctx->c);
|
|
56
56
|
return 0;
|
|
57
57
|
}
|
|
@@ -19,28 +19,28 @@ int git_hash_sha1_ctx_init(git_hash_sha1_ctx *ctx)
|
|
|
19
19
|
|
|
20
20
|
void git_hash_sha1_ctx_cleanup(git_hash_sha1_ctx *ctx)
|
|
21
21
|
{
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
if (ctx)
|
|
23
|
+
mbedtls_sha1_free(&ctx->c);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
int git_hash_sha1_init(git_hash_sha1_ctx *ctx)
|
|
27
27
|
{
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
GIT_ASSERT_ARG(ctx);
|
|
29
|
+
mbedtls_sha1_init(&ctx->c);
|
|
30
|
+
mbedtls_sha1_starts(&ctx->c);
|
|
31
|
+
return 0;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
int git_hash_sha1_update(git_hash_sha1_ctx *ctx, const void *data, size_t len)
|
|
35
35
|
{
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
GIT_ASSERT_ARG(ctx);
|
|
37
|
+
mbedtls_sha1_update(&ctx->c, data, len);
|
|
38
|
+
return 0;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
int git_hash_sha1_final(git_oid *out, git_hash_sha1_ctx *ctx)
|
|
42
42
|
{
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
GIT_ASSERT_ARG(ctx);
|
|
44
|
+
mbedtls_sha1_finish(&ctx->c, out->id);
|
|
45
|
+
return 0;
|
|
46
46
|
}
|
|
@@ -24,7 +24,7 @@ void git_hash_sha1_ctx_cleanup(git_hash_sha1_ctx *ctx)
|
|
|
24
24
|
|
|
25
25
|
int git_hash_sha1_init(git_hash_sha1_ctx *ctx)
|
|
26
26
|
{
|
|
27
|
-
|
|
27
|
+
GIT_ASSERT_ARG(ctx);
|
|
28
28
|
|
|
29
29
|
if (SHA1_Init(&ctx->c) != 1) {
|
|
30
30
|
git_error_set(GIT_ERROR_SHA1, "hash_openssl: failed to initialize hash context");
|
|
@@ -36,7 +36,7 @@ int git_hash_sha1_init(git_hash_sha1_ctx *ctx)
|
|
|
36
36
|
|
|
37
37
|
int git_hash_sha1_update(git_hash_sha1_ctx *ctx, const void *data, size_t len)
|
|
38
38
|
{
|
|
39
|
-
|
|
39
|
+
GIT_ASSERT_ARG(ctx);
|
|
40
40
|
|
|
41
41
|
if (SHA1_Update(&ctx->c, data, len) != 1) {
|
|
42
42
|
git_error_set(GIT_ERROR_SHA1, "hash_openssl: failed to update hash");
|
|
@@ -48,7 +48,7 @@ int git_hash_sha1_update(git_hash_sha1_ctx *ctx, const void *data, size_t len)
|
|
|
48
48
|
|
|
49
49
|
int git_hash_sha1_final(git_oid *out, git_hash_sha1_ctx *ctx)
|
|
50
50
|
{
|
|
51
|
-
|
|
51
|
+
GIT_ASSERT_ARG(ctx);
|
|
52
52
|
|
|
53
53
|
if (SHA1_Final(out->id, &ctx->c) != 1) {
|
|
54
54
|
git_error_set(GIT_ERROR_SHA1, "hash_openssl: failed to finalize hash");
|
|
@@ -10,10 +10,8 @@
|
|
|
10
10
|
#include <memory.h>
|
|
11
11
|
#include <stdio.h>
|
|
12
12
|
#include <stdlib.h>
|
|
13
|
-
#ifdef __unix__
|
|
14
13
|
#include <sys/types.h> /* make sure macros like _BIG_ENDIAN visible */
|
|
15
14
|
#endif
|
|
16
|
-
#endif
|
|
17
15
|
|
|
18
16
|
#ifdef SHA1DC_CUSTOM_INCLUDE_SHA1_C
|
|
19
17
|
#include SHA1DC_CUSTOM_INCLUDE_SHA1_C
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
#include "win32.h"
|
|
9
9
|
|
|
10
|
-
#include "
|
|
10
|
+
#include "runtime.h"
|
|
11
11
|
|
|
12
12
|
#include <wincrypt.h>
|
|
13
13
|
#include <strsafe.h>
|
|
@@ -129,7 +129,8 @@ int git_hash_sha1_global_init(void)
|
|
|
129
129
|
if ((error = hash_cng_prov_init()) < 0)
|
|
130
130
|
error = hash_cryptoapi_prov_init();
|
|
131
131
|
|
|
132
|
-
|
|
132
|
+
if (!error)
|
|
133
|
+
error = git_runtime_shutdown_register(sha1_shutdown);
|
|
133
134
|
|
|
134
135
|
return error;
|
|
135
136
|
}
|
|
@@ -163,7 +164,7 @@ GIT_INLINE(int) hash_cryptoapi_update(git_hash_sha1_ctx *ctx, const void *_data,
|
|
|
163
164
|
{
|
|
164
165
|
const BYTE *data = (BYTE *)_data;
|
|
165
166
|
|
|
166
|
-
|
|
167
|
+
GIT_ASSERT(ctx->ctx.cryptoapi.valid);
|
|
167
168
|
|
|
168
169
|
while (len > 0) {
|
|
169
170
|
DWORD chunk = (len > MAXDWORD) ? MAXDWORD : (DWORD)len;
|
|
@@ -185,7 +186,7 @@ GIT_INLINE(int) hash_cryptoapi_final(git_oid *out, git_hash_sha1_ctx *ctx)
|
|
|
185
186
|
DWORD len = 20;
|
|
186
187
|
int error = 0;
|
|
187
188
|
|
|
188
|
-
|
|
189
|
+
GIT_ASSERT(ctx->ctx.cryptoapi.valid);
|
|
189
190
|
|
|
190
191
|
if (!CryptGetHashParam(ctx->ctx.cryptoapi.hash_handle, HP_HASHVAL, out->id, &len, 0)) {
|
|
191
192
|
git_error_set(GIT_ERROR_OS, "legacy hash data could not be finished");
|
|
@@ -285,7 +286,7 @@ int git_hash_sha1_ctx_init(git_hash_sha1_ctx *ctx)
|
|
|
285
286
|
{
|
|
286
287
|
int error = 0;
|
|
287
288
|
|
|
288
|
-
|
|
289
|
+
GIT_ASSERT_ARG(ctx);
|
|
289
290
|
|
|
290
291
|
/*
|
|
291
292
|
* When compiled with GIT_THREADS, the global hash_prov data is
|
|
@@ -302,27 +303,30 @@ int git_hash_sha1_ctx_init(git_hash_sha1_ctx *ctx)
|
|
|
302
303
|
|
|
303
304
|
int git_hash_sha1_init(git_hash_sha1_ctx *ctx)
|
|
304
305
|
{
|
|
305
|
-
|
|
306
|
+
GIT_ASSERT_ARG(ctx);
|
|
307
|
+
GIT_ASSERT_ARG(ctx->type);
|
|
306
308
|
return (ctx->type == CNG) ? hash_cng_init(ctx) : hash_cryptoapi_init(ctx);
|
|
307
309
|
}
|
|
308
310
|
|
|
309
311
|
int git_hash_sha1_update(git_hash_sha1_ctx *ctx, const void *data, size_t len)
|
|
310
312
|
{
|
|
311
|
-
|
|
313
|
+
GIT_ASSERT_ARG(ctx);
|
|
314
|
+
GIT_ASSERT_ARG(ctx->type);
|
|
312
315
|
return (ctx->type == CNG) ? hash_cng_update(ctx, data, len) : hash_cryptoapi_update(ctx, data, len);
|
|
313
316
|
}
|
|
314
317
|
|
|
315
318
|
int git_hash_sha1_final(git_oid *out, git_hash_sha1_ctx *ctx)
|
|
316
319
|
{
|
|
317
|
-
|
|
320
|
+
GIT_ASSERT_ARG(ctx);
|
|
321
|
+
GIT_ASSERT_ARG(ctx->type);
|
|
318
322
|
return (ctx->type == CNG) ? hash_cng_final(out, ctx) : hash_cryptoapi_final(out, ctx);
|
|
319
323
|
}
|
|
320
324
|
|
|
321
325
|
void git_hash_sha1_ctx_cleanup(git_hash_sha1_ctx *ctx)
|
|
322
326
|
{
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
if (ctx->type == CNG)
|
|
327
|
+
if (!ctx)
|
|
328
|
+
return;
|
|
329
|
+
else if (ctx->type == CNG)
|
|
326
330
|
hash_ctx_cng_cleanup(ctx);
|
|
327
331
|
else if(ctx->type == CRYPTOAPI)
|
|
328
332
|
hash_ctx_cryptoapi_cleanup(ctx);
|