rugged 0.27.7 → 0.27.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +1 -0
- data/vendor/libgit2/CMakeLists.txt +99 -51
- data/vendor/libgit2/COPYING +28 -0
- data/vendor/libgit2/cmake/Modules/AddCFlagIfSupported.cmake +15 -1
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +29 -0
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +96 -0
- data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +9 -8
- data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
- data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +28 -0
- data/vendor/libgit2/cmake/Modules/FindIconv.cmake +11 -6
- data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +38 -0
- data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +37 -0
- data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +6 -0
- data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +110 -0
- data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +53 -0
- data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +124 -0
- data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +66 -0
- data/vendor/libgit2/deps/http-parser/http_parser.c +11 -6
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +21 -0
- data/vendor/libgit2/deps/ntlmclient/compat.h +33 -0
- data/vendor/libgit2/deps/ntlmclient/crypt.h +64 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +120 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +18 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +145 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +18 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +130 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +21 -0
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +1420 -0
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +174 -0
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +320 -0
- data/vendor/libgit2/deps/ntlmclient/unicode.h +36 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +445 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +201 -0
- data/vendor/libgit2/deps/ntlmclient/utf8.h +1257 -0
- data/vendor/libgit2/deps/ntlmclient/util.c +21 -0
- data/vendor/libgit2/deps/ntlmclient/util.h +14 -0
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +140 -0
- data/vendor/libgit2/deps/pcre/COPYING +5 -0
- data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
- data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +17 -0
- data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
- data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +29 -0
- data/vendor/libgit2/deps/pcre/config.h.in +57 -0
- data/vendor/libgit2/deps/pcre/pcre.h +641 -0
- data/vendor/libgit2/deps/pcre/pcre_byte_order.c +319 -0
- data/vendor/libgit2/deps/pcre/pcre_chartables.c +198 -0
- data/vendor/libgit2/deps/pcre/pcre_compile.c +9800 -0
- data/vendor/libgit2/deps/pcre/pcre_config.c +190 -0
- data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +3676 -0
- data/vendor/libgit2/deps/pcre/pcre_exec.c +7173 -0
- data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +245 -0
- data/vendor/libgit2/deps/pcre/pcre_get.c +669 -0
- data/vendor/libgit2/deps/pcre/pcre_globals.c +86 -0
- data/vendor/libgit2/deps/pcre/pcre_internal.h +2787 -0
- data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +11913 -0
- data/vendor/libgit2/deps/pcre/pcre_maketables.c +156 -0
- data/vendor/libgit2/deps/pcre/pcre_newline.c +210 -0
- data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +94 -0
- data/vendor/libgit2/deps/pcre/pcre_printint.c +834 -0
- data/vendor/libgit2/deps/pcre/pcre_refcount.c +92 -0
- data/vendor/libgit2/deps/pcre/pcre_string_utils.c +211 -0
- data/vendor/libgit2/deps/pcre/pcre_study.c +1686 -0
- data/vendor/libgit2/deps/pcre/pcre_tables.c +727 -0
- data/vendor/libgit2/deps/pcre/pcre_ucd.c +3644 -0
- data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +301 -0
- data/vendor/libgit2/deps/pcre/pcre_version.c +98 -0
- data/vendor/libgit2/deps/pcre/pcre_xclass.c +268 -0
- data/vendor/libgit2/deps/pcre/pcreposix.c +421 -0
- data/vendor/libgit2/deps/pcre/pcreposix.h +117 -0
- data/vendor/libgit2/deps/pcre/ucp.h +224 -0
- data/vendor/libgit2/deps/winhttp/COPYING.GPL +993 -0
- data/vendor/libgit2/deps/winhttp/COPYING.LGPL +502 -0
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +1 -0
- data/vendor/libgit2/deps/zlib/COPYING +27 -0
- data/vendor/libgit2/deps/zlib/adler32.c +0 -7
- data/vendor/libgit2/deps/zlib/crc32.c +0 -7
- data/vendor/libgit2/include/git2/annotated_commit.h +9 -0
- data/vendor/libgit2/include/git2/apply.h +149 -0
- data/vendor/libgit2/include/git2/attr.h +20 -13
- data/vendor/libgit2/include/git2/blame.h +4 -4
- data/vendor/libgit2/include/git2/blob.h +44 -12
- data/vendor/libgit2/include/git2/buffer.h +20 -26
- data/vendor/libgit2/include/git2/cert.h +135 -0
- data/vendor/libgit2/include/git2/checkout.h +53 -21
- data/vendor/libgit2/include/git2/cherrypick.h +3 -3
- data/vendor/libgit2/include/git2/clone.h +5 -5
- data/vendor/libgit2/include/git2/commit.h +25 -3
- data/vendor/libgit2/include/git2/common.h +35 -10
- data/vendor/libgit2/include/git2/config.h +29 -19
- data/vendor/libgit2/include/git2/cred.h +308 -0
- data/vendor/libgit2/include/git2/deprecated.h +493 -0
- data/vendor/libgit2/include/git2/describe.h +4 -4
- data/vendor/libgit2/include/git2/diff.h +177 -135
- data/vendor/libgit2/include/git2/errors.h +53 -46
- data/vendor/libgit2/include/git2/filter.h +8 -0
- data/vendor/libgit2/include/git2/index.h +74 -52
- data/vendor/libgit2/include/git2/indexer.h +76 -6
- data/vendor/libgit2/include/git2/merge.h +25 -10
- data/vendor/libgit2/include/git2/net.h +0 -5
- data/vendor/libgit2/include/git2/notes.h +1 -1
- data/vendor/libgit2/include/git2/object.h +17 -29
- data/vendor/libgit2/include/git2/odb.h +12 -11
- data/vendor/libgit2/include/git2/odb_backend.h +10 -9
- data/vendor/libgit2/include/git2/oid.h +2 -2
- data/vendor/libgit2/include/git2/pack.h +14 -3
- data/vendor/libgit2/include/git2/proxy.h +5 -3
- data/vendor/libgit2/include/git2/rebase.h +46 -2
- data/vendor/libgit2/include/git2/refs.h +34 -16
- data/vendor/libgit2/include/git2/remote.h +111 -14
- data/vendor/libgit2/include/git2/repository.h +69 -34
- data/vendor/libgit2/include/git2/revert.h +1 -1
- data/vendor/libgit2/include/git2/revwalk.h +7 -7
- data/vendor/libgit2/include/git2/signature.h +2 -2
- data/vendor/libgit2/include/git2/stash.h +5 -5
- data/vendor/libgit2/include/git2/status.h +26 -17
- data/vendor/libgit2/include/git2/submodule.h +23 -6
- data/vendor/libgit2/include/git2/sys/alloc.h +18 -18
- data/vendor/libgit2/include/git2/sys/commit.h +1 -1
- data/vendor/libgit2/include/git2/sys/config.h +13 -13
- data/vendor/libgit2/include/git2/sys/cred.h +90 -0
- data/vendor/libgit2/include/git2/sys/filter.h +6 -6
- data/vendor/libgit2/include/git2/sys/merge.h +3 -3
- data/vendor/libgit2/include/git2/sys/odb_backend.h +66 -22
- data/vendor/libgit2/include/git2/sys/path.h +14 -5
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +76 -40
- data/vendor/libgit2/include/git2/sys/repository.h +5 -1
- data/vendor/libgit2/include/git2/sys/stream.h +92 -12
- data/vendor/libgit2/include/git2/sys/transport.h +129 -83
- data/vendor/libgit2/include/git2/tag.h +13 -4
- data/vendor/libgit2/include/git2/trace.h +2 -2
- data/vendor/libgit2/include/git2/transport.h +11 -311
- data/vendor/libgit2/include/git2/tree.h +4 -4
- data/vendor/libgit2/include/git2/types.h +25 -106
- data/vendor/libgit2/include/git2/version.h +3 -3
- data/vendor/libgit2/include/git2/worktree.h +5 -5
- data/vendor/libgit2/include/git2.h +4 -0
- data/vendor/libgit2/src/CMakeLists.txt +104 -235
- data/vendor/libgit2/src/alloc.c +14 -18
- data/vendor/libgit2/src/{stdalloc.c → allocators/stdalloc.c} +7 -8
- data/vendor/libgit2/src/{stdalloc.h → allocators/stdalloc.h} +4 -4
- data/vendor/libgit2/src/allocators/win32_crtdbg.c +118 -0
- data/vendor/libgit2/src/{transports/cred.h → allocators/win32_crtdbg.h} +5 -4
- data/vendor/libgit2/src/annotated_commit.c +18 -11
- data/vendor/libgit2/src/apply.c +535 -28
- data/vendor/libgit2/src/apply.h +3 -1
- data/vendor/libgit2/src/array.h +2 -2
- data/vendor/libgit2/src/attr.c +77 -71
- data/vendor/libgit2/src/attr_file.c +203 -117
- data/vendor/libgit2/src/attr_file.h +9 -9
- data/vendor/libgit2/src/attrcache.c +49 -51
- data/vendor/libgit2/src/attrcache.h +2 -1
- data/vendor/libgit2/src/blame.c +38 -18
- data/vendor/libgit2/src/blame.h +1 -1
- data/vendor/libgit2/src/blame_git.c +29 -15
- data/vendor/libgit2/src/blob.c +123 -37
- data/vendor/libgit2/src/blob.h +19 -2
- data/vendor/libgit2/src/branch.c +47 -23
- data/vendor/libgit2/src/buf_text.c +7 -6
- data/vendor/libgit2/src/buffer.c +60 -53
- data/vendor/libgit2/src/cache.c +38 -45
- data/vendor/libgit2/src/cache.h +3 -3
- data/vendor/libgit2/src/cc-compat.h +20 -3
- data/vendor/libgit2/src/checkout.c +77 -67
- data/vendor/libgit2/src/cherrypick.c +12 -6
- data/vendor/libgit2/src/clone.c +36 -14
- data/vendor/libgit2/src/clone.h +4 -0
- data/vendor/libgit2/src/commit.c +103 -48
- data/vendor/libgit2/src/commit.h +7 -0
- data/vendor/libgit2/src/commit_list.c +36 -78
- data/vendor/libgit2/src/commit_list.h +2 -2
- data/vendor/libgit2/src/common.h +24 -90
- data/vendor/libgit2/src/config.c +203 -176
- data/vendor/libgit2/src/config.h +8 -20
- data/vendor/libgit2/src/config_backend.h +96 -0
- data/vendor/libgit2/src/config_cache.c +41 -35
- data/vendor/libgit2/src/config_entries.c +229 -0
- data/vendor/libgit2/src/config_entries.h +24 -0
- data/vendor/libgit2/src/config_file.c +422 -680
- data/vendor/libgit2/src/config_mem.c +220 -0
- data/vendor/libgit2/src/config_parse.c +96 -68
- data/vendor/libgit2/src/config_parse.h +15 -14
- data/vendor/libgit2/src/config_snapshot.c +206 -0
- data/vendor/libgit2/src/crlf.c +219 -196
- data/vendor/libgit2/src/delta.c +25 -18
- data/vendor/libgit2/src/describe.c +42 -41
- data/vendor/libgit2/src/diff.c +52 -67
- data/vendor/libgit2/src/diff.h +2 -1
- data/vendor/libgit2/src/diff_driver.c +44 -46
- data/vendor/libgit2/src/diff_file.c +16 -14
- data/vendor/libgit2/src/diff_file.h +1 -1
- data/vendor/libgit2/src/diff_generate.c +158 -103
- data/vendor/libgit2/src/diff_generate.h +3 -3
- data/vendor/libgit2/src/diff_parse.c +4 -4
- data/vendor/libgit2/src/diff_print.c +34 -22
- data/vendor/libgit2/src/diff_stats.c +22 -7
- data/vendor/libgit2/src/diff_tform.c +18 -16
- data/vendor/libgit2/src/diff_xdiff.c +3 -3
- data/vendor/libgit2/src/errors.c +51 -39
- data/vendor/libgit2/src/errors.h +81 -0
- data/vendor/libgit2/src/features.h.in +9 -3
- data/vendor/libgit2/src/fetch.c +8 -3
- data/vendor/libgit2/src/fetchhead.c +12 -12
- data/vendor/libgit2/src/filebuf.c +28 -32
- data/vendor/libgit2/src/filebuf.h +2 -2
- data/vendor/libgit2/src/filter.c +47 -33
- data/vendor/libgit2/src/filter.h +0 -10
- data/vendor/libgit2/src/{fileops.c → futils.c} +70 -63
- data/vendor/libgit2/src/{fileops.h → futils.h} +6 -6
- data/vendor/libgit2/src/global.c +35 -55
- data/vendor/libgit2/src/global.h +0 -2
- data/vendor/libgit2/src/hash/sha1/collisiondetect.c +48 -0
- data/vendor/libgit2/src/hash/sha1/collisiondetect.h +19 -0
- data/vendor/libgit2/src/hash/{hash_common_crypto.h → sha1/common_crypto.c} +17 -17
- data/vendor/libgit2/src/hash/sha1/common_crypto.h +19 -0
- data/vendor/libgit2/src/hash/{hash_generic.c → sha1/generic.c} +22 -10
- data/vendor/libgit2/src/hash/{hash_generic.h → sha1/generic.h} +4 -10
- data/vendor/libgit2/src/hash/{hash_mbedtls.c → sha1/mbedtls.c} +15 -7
- data/vendor/libgit2/src/hash/{hash_mbedtls.h → sha1/mbedtls.h} +6 -7
- data/vendor/libgit2/src/hash/sha1/openssl.c +59 -0
- data/vendor/libgit2/src/hash/sha1/openssl.h +19 -0
- data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.c +14 -3
- data/vendor/libgit2/src/hash/{hash_win32.c → sha1/win32.c} +47 -37
- data/vendor/libgit2/src/hash/{hash_win32.h → sha1/win32.h} +6 -19
- data/vendor/libgit2/src/hash/sha1.h +38 -0
- data/vendor/libgit2/src/hash.c +61 -0
- data/vendor/libgit2/src/hash.h +20 -21
- data/vendor/libgit2/src/hashsig.c +5 -5
- data/vendor/libgit2/src/idxmap.c +107 -61
- data/vendor/libgit2/src/idxmap.h +153 -31
- data/vendor/libgit2/src/ignore.c +38 -42
- data/vendor/libgit2/src/index.c +264 -199
- data/vendor/libgit2/src/index.h +7 -1
- data/vendor/libgit2/src/indexer.c +338 -167
- data/vendor/libgit2/src/integer.h +71 -26
- data/vendor/libgit2/src/iterator.c +134 -62
- data/vendor/libgit2/src/iterator.h +15 -0
- data/vendor/libgit2/src/mailmap.c +8 -8
- data/vendor/libgit2/src/map.h +1 -1
- data/vendor/libgit2/src/merge.c +137 -93
- data/vendor/libgit2/src/merge_driver.c +11 -11
- data/vendor/libgit2/src/merge_file.c +2 -2
- data/vendor/libgit2/src/mwindow.c +24 -29
- data/vendor/libgit2/src/mwindow.h +4 -4
- data/vendor/libgit2/src/net.c +184 -0
- data/vendor/libgit2/src/net.h +36 -0
- data/vendor/libgit2/src/netops.c +55 -156
- data/vendor/libgit2/src/netops.h +3 -23
- data/vendor/libgit2/src/notes.c +14 -9
- data/vendor/libgit2/src/object.c +120 -69
- data/vendor/libgit2/src/object.h +22 -9
- data/vendor/libgit2/src/object_api.c +8 -8
- data/vendor/libgit2/src/odb.c +111 -88
- data/vendor/libgit2/src/odb.h +8 -7
- data/vendor/libgit2/src/odb_loose.c +58 -47
- data/vendor/libgit2/src/odb_mempack.c +21 -34
- data/vendor/libgit2/src/odb_pack.c +17 -13
- data/vendor/libgit2/src/offmap.c +53 -35
- data/vendor/libgit2/src/offmap.h +108 -21
- data/vendor/libgit2/src/oid.c +12 -7
- data/vendor/libgit2/src/oidmap.c +49 -47
- data/vendor/libgit2/src/oidmap.h +101 -24
- data/vendor/libgit2/src/pack-objects.c +87 -86
- data/vendor/libgit2/src/pack-objects.h +2 -8
- data/vendor/libgit2/src/pack.c +94 -96
- data/vendor/libgit2/src/pack.h +16 -18
- data/vendor/libgit2/src/parse.c +17 -4
- data/vendor/libgit2/src/parse.h +3 -3
- data/vendor/libgit2/src/patch.c +3 -3
- data/vendor/libgit2/src/patch_generate.c +18 -18
- data/vendor/libgit2/src/patch_parse.c +147 -79
- data/vendor/libgit2/src/path.c +207 -62
- data/vendor/libgit2/src/path.h +14 -0
- data/vendor/libgit2/src/pathspec.c +18 -18
- data/vendor/libgit2/src/pool.c +26 -22
- data/vendor/libgit2/src/pool.h +7 -7
- data/vendor/libgit2/src/posix.c +10 -10
- data/vendor/libgit2/src/posix.h +12 -1
- data/vendor/libgit2/src/proxy.c +8 -3
- data/vendor/libgit2/src/push.c +35 -29
- data/vendor/libgit2/src/push.h +2 -1
- data/vendor/libgit2/src/reader.c +265 -0
- data/vendor/libgit2/src/reader.h +107 -0
- data/vendor/libgit2/src/rebase.c +97 -38
- data/vendor/libgit2/src/refdb.c +15 -3
- data/vendor/libgit2/src/refdb_fs.c +318 -222
- data/vendor/libgit2/src/reflog.c +13 -15
- data/vendor/libgit2/src/refs.c +122 -89
- data/vendor/libgit2/src/refs.h +5 -3
- data/vendor/libgit2/src/refspec.c +27 -33
- data/vendor/libgit2/src/regexp.c +221 -0
- data/vendor/libgit2/src/regexp.h +97 -0
- data/vendor/libgit2/src/remote.c +229 -178
- data/vendor/libgit2/src/remote.h +11 -2
- data/vendor/libgit2/src/repository.c +227 -172
- data/vendor/libgit2/src/repository.h +52 -40
- data/vendor/libgit2/src/reset.c +7 -7
- data/vendor/libgit2/src/revert.c +11 -6
- data/vendor/libgit2/src/revparse.c +46 -46
- data/vendor/libgit2/src/revwalk.c +89 -54
- data/vendor/libgit2/src/revwalk.h +20 -0
- data/vendor/libgit2/src/settings.c +22 -9
- data/vendor/libgit2/src/signature.c +15 -13
- data/vendor/libgit2/src/sortedcache.c +22 -36
- data/vendor/libgit2/src/sortedcache.h +1 -1
- data/vendor/libgit2/src/stash.c +56 -76
- data/vendor/libgit2/src/status.c +27 -21
- data/vendor/libgit2/src/stream.h +17 -2
- data/vendor/libgit2/src/streams/mbedtls.c +100 -80
- data/vendor/libgit2/src/streams/mbedtls.h +5 -2
- data/vendor/libgit2/src/streams/openssl.c +93 -81
- data/vendor/libgit2/src/streams/openssl.h +5 -2
- data/vendor/libgit2/src/streams/registry.c +118 -0
- data/vendor/libgit2/src/streams/registry.h +19 -0
- data/vendor/libgit2/src/streams/socket.c +55 -30
- data/vendor/libgit2/src/streams/stransport.c +57 -32
- data/vendor/libgit2/src/streams/stransport.h +5 -0
- data/vendor/libgit2/src/streams/tls.c +48 -20
- data/vendor/libgit2/src/streams/tls.h +12 -4
- data/vendor/libgit2/src/strmap.c +47 -74
- data/vendor/libgit2/src/strmap.h +108 -33
- data/vendor/libgit2/src/submodule.c +190 -169
- data/vendor/libgit2/src/submodule.h +1 -1
- data/vendor/libgit2/src/sysdir.c +25 -15
- data/vendor/libgit2/src/tag.c +39 -26
- data/vendor/libgit2/src/tag.h +2 -1
- data/vendor/libgit2/src/trace.c +2 -2
- data/vendor/libgit2/src/trace.h +2 -2
- data/vendor/libgit2/src/trailer.c +46 -32
- data/vendor/libgit2/src/transaction.c +30 -29
- data/vendor/libgit2/src/transport.c +3 -3
- data/vendor/libgit2/src/transports/auth.c +14 -10
- data/vendor/libgit2/src/transports/auth.h +10 -3
- data/vendor/libgit2/src/transports/auth_negotiate.c +31 -16
- data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
- data/vendor/libgit2/src/transports/auth_ntlm.c +223 -0
- data/vendor/libgit2/src/transports/auth_ntlm.h +35 -0
- data/vendor/libgit2/src/transports/cred.c +24 -24
- data/vendor/libgit2/src/transports/git.c +25 -30
- data/vendor/libgit2/src/transports/http.c +871 -335
- data/vendor/libgit2/src/transports/http.h +2 -0
- data/vendor/libgit2/src/transports/local.c +28 -28
- data/vendor/libgit2/src/transports/smart.c +64 -46
- data/vendor/libgit2/src/transports/smart.h +5 -6
- data/vendor/libgit2/src/transports/smart_pkt.c +162 -151
- data/vendor/libgit2/src/transports/smart_protocol.c +64 -94
- data/vendor/libgit2/src/transports/ssh.c +76 -65
- data/vendor/libgit2/src/transports/winhttp.c +328 -319
- data/vendor/libgit2/src/tree-cache.c +21 -14
- data/vendor/libgit2/src/tree.c +119 -112
- data/vendor/libgit2/src/tree.h +1 -0
- data/vendor/libgit2/src/unix/map.c +3 -3
- data/vendor/libgit2/src/unix/posix.h +1 -11
- data/vendor/libgit2/src/userdiff.h +3 -1
- data/vendor/libgit2/src/util.c +154 -93
- data/vendor/libgit2/src/util.h +19 -23
- data/vendor/libgit2/src/vector.c +15 -10
- data/vendor/libgit2/src/wildmatch.c +320 -0
- data/vendor/libgit2/src/wildmatch.h +23 -0
- data/vendor/libgit2/src/win32/dir.c +3 -3
- data/vendor/libgit2/src/win32/findfile.c +1 -1
- data/vendor/libgit2/src/win32/map.c +9 -11
- data/vendor/libgit2/src/win32/msvc-compat.h +6 -0
- data/vendor/libgit2/src/win32/path_w32.c +113 -9
- data/vendor/libgit2/src/win32/path_w32.h +18 -29
- data/vendor/libgit2/src/win32/posix.h +1 -4
- data/vendor/libgit2/src/win32/posix_w32.c +69 -44
- data/vendor/libgit2/src/win32/precompiled.h +0 -2
- data/vendor/libgit2/src/win32/thread.c +5 -10
- data/vendor/libgit2/src/win32/w32_buffer.c +9 -5
- data/vendor/libgit2/src/win32/w32_common.h +39 -0
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +2 -95
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -2
- data/vendor/libgit2/src/win32/w32_stack.c +6 -11
- data/vendor/libgit2/src/win32/w32_stack.h +3 -3
- data/vendor/libgit2/src/win32/w32_util.c +27 -64
- data/vendor/libgit2/src/win32/w32_util.h +5 -49
- data/vendor/libgit2/src/worktree.c +44 -30
- data/vendor/libgit2/src/xdiff/xdiffi.c +5 -5
- data/vendor/libgit2/src/xdiff/xhistogram.c +1 -1
- data/vendor/libgit2/src/xdiff/xmerge.c +27 -15
- data/vendor/libgit2/src/xdiff/xpatience.c +3 -0
- data/vendor/libgit2/src/zstream.c +4 -4
- metadata +115 -38
- data/vendor/libgit2/deps/regex/CMakeLists.txt +0 -2
- data/vendor/libgit2/deps/regex/config.h +0 -7
- data/vendor/libgit2/deps/regex/regcomp.c +0 -3857
- data/vendor/libgit2/deps/regex/regex.c +0 -92
- data/vendor/libgit2/deps/regex/regex.h +0 -582
- data/vendor/libgit2/deps/regex/regex_internal.c +0 -1744
- data/vendor/libgit2/deps/regex/regex_internal.h +0 -819
- data/vendor/libgit2/deps/regex/regexec.c +0 -4369
- data/vendor/libgit2/include/git2/inttypes.h +0 -309
- data/vendor/libgit2/include/git2/sys/time.h +0 -31
- data/vendor/libgit2/libgit2.pc.in +0 -13
- data/vendor/libgit2/src/config_file.h +0 -73
- data/vendor/libgit2/src/fnmatch.c +0 -248
- data/vendor/libgit2/src/fnmatch.h +0 -48
- data/vendor/libgit2/src/hash/hash_collisiondetect.h +0 -47
- data/vendor/libgit2/src/hash/hash_openssl.h +0 -59
- data/vendor/libgit2/src/streams/curl.c +0 -385
- data/vendor/libgit2/src/streams/curl.h +0 -17
- /data/vendor/libgit2/deps/http-parser/{LICENSE-MIT → COPYING} +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.h +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.c +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.h +0 -0
|
@@ -21,55 +21,55 @@ GIT_BEGIN_DECL
|
|
|
21
21
|
* that all fields need to be set to a proper function.
|
|
22
22
|
*/
|
|
23
23
|
typedef struct {
|
|
24
|
-
|
|
25
|
-
void *(
|
|
24
|
+
/** Allocate `n` bytes of memory */
|
|
25
|
+
void * GIT_CALLBACK(gmalloc)(size_t n, const char *file, int line);
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
/**
|
|
28
28
|
* Allocate memory for an array of `nelem` elements, where each element
|
|
29
29
|
* has a size of `elsize`. Returned memory shall be initialized to
|
|
30
30
|
* all-zeroes
|
|
31
31
|
*/
|
|
32
|
-
void *(
|
|
32
|
+
void * GIT_CALLBACK(gcalloc)(size_t nelem, size_t elsize, const char *file, int line);
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
char *(
|
|
34
|
+
/** Allocate memory for the string `str` and duplicate its contents. */
|
|
35
|
+
char * GIT_CALLBACK(gstrdup)(const char *str, const char *file, int line);
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
/**
|
|
38
38
|
* Equivalent to the `gstrdup` function, but only duplicating at most
|
|
39
39
|
* `n + 1` bytes
|
|
40
40
|
*/
|
|
41
|
-
char *(
|
|
41
|
+
char * GIT_CALLBACK(gstrndup)(const char *str, size_t n, const char *file, int line);
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
/**
|
|
44
44
|
* Equivalent to `gstrndup`, but will always duplicate exactly `n` bytes
|
|
45
45
|
* of `str`. Thus, out of bounds reads at `str` may happen.
|
|
46
46
|
*/
|
|
47
|
-
char *(
|
|
47
|
+
char * GIT_CALLBACK(gsubstrdup)(const char *str, size_t n, const char *file, int line);
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
/**
|
|
50
50
|
* This function shall deallocate the old object `ptr` and return a
|
|
51
51
|
* pointer to a new object that has the size specified by `size`. In
|
|
52
52
|
* case `ptr` is `NULL`, a new array shall be allocated.
|
|
53
53
|
*/
|
|
54
|
-
void *(
|
|
54
|
+
void * GIT_CALLBACK(grealloc)(void *ptr, size_t size, const char *file, int line);
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
/**
|
|
57
57
|
* This function shall be equivalent to `grealloc`, but allocating
|
|
58
58
|
* `neleme * elsize` bytes.
|
|
59
59
|
*/
|
|
60
|
-
void *(
|
|
60
|
+
void * GIT_CALLBACK(greallocarray)(void *ptr, size_t nelem, size_t elsize, const char *file, int line);
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
/**
|
|
63
63
|
* This function shall allocate a new array of `nelem` elements, where
|
|
64
64
|
* each element has a size of `elsize` bytes.
|
|
65
65
|
*/
|
|
66
|
-
void *(
|
|
66
|
+
void * GIT_CALLBACK(gmallocarray)(size_t nelem, size_t elsize, const char *file, int line);
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
/**
|
|
69
69
|
* This function shall free the memory pointed to by `ptr`. In case
|
|
70
70
|
* `ptr` is `NULL`, this shall be a no-op.
|
|
71
71
|
*/
|
|
72
|
-
void (
|
|
72
|
+
void GIT_CALLBACK(gfree)(void *ptr);
|
|
73
73
|
} git_allocator;
|
|
74
74
|
|
|
75
75
|
/**
|
|
@@ -50,7 +50,7 @@ GIT_EXTERN(int) git_commit_create_from_ids(
|
|
|
50
50
|
* along with the user supplied payload. This should return a git_oid of
|
|
51
51
|
* the next parent or NULL if all parents have been provided.
|
|
52
52
|
*/
|
|
53
|
-
typedef const git_oid *(
|
|
53
|
+
typedef const git_oid * GIT_CALLBACK(git_commit_parent_callback)(size_t idx, void *payload);
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* Create a new commit in the repository with an callback to supply parents.
|
|
@@ -39,12 +39,12 @@ struct git_config_iterator {
|
|
|
39
39
|
* Return the current entry and advance the iterator. The
|
|
40
40
|
* memory belongs to the library.
|
|
41
41
|
*/
|
|
42
|
-
int (
|
|
42
|
+
int GIT_CALLBACK(next)(git_config_entry **entry, git_config_iterator *iter);
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
45
|
* Free the iterator
|
|
46
46
|
*/
|
|
47
|
-
void (
|
|
47
|
+
void GIT_CALLBACK(free)(git_config_iterator *iter);
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
/**
|
|
@@ -58,15 +58,15 @@ struct git_config_backend {
|
|
|
58
58
|
struct git_config *cfg;
|
|
59
59
|
|
|
60
60
|
/* Open means open the file/database and parse if necessary */
|
|
61
|
-
int (
|
|
62
|
-
int (
|
|
63
|
-
int (
|
|
64
|
-
int (
|
|
65
|
-
int (
|
|
66
|
-
int (
|
|
67
|
-
int (
|
|
61
|
+
int GIT_CALLBACK(open)(struct git_config_backend *, git_config_level_t level, const git_repository *repo);
|
|
62
|
+
int GIT_CALLBACK(get)(struct git_config_backend *, const char *key, git_config_entry **entry);
|
|
63
|
+
int GIT_CALLBACK(set)(struct git_config_backend *, const char *key, const char *value);
|
|
64
|
+
int GIT_CALLBACK(set_multivar)(git_config_backend *cfg, const char *name, const char *regexp, const char *value);
|
|
65
|
+
int GIT_CALLBACK(del)(struct git_config_backend *, const char *key);
|
|
66
|
+
int GIT_CALLBACK(del_multivar)(struct git_config_backend *, const char *key, const char *regexp);
|
|
67
|
+
int GIT_CALLBACK(iterator)(git_config_iterator **, struct git_config_backend *);
|
|
68
68
|
/** Produce a read-only version of this backend */
|
|
69
|
-
int (
|
|
69
|
+
int GIT_CALLBACK(snapshot)(struct git_config_backend **, struct git_config_backend *);
|
|
70
70
|
/**
|
|
71
71
|
* Lock this backend.
|
|
72
72
|
*
|
|
@@ -74,14 +74,14 @@ struct git_config_backend {
|
|
|
74
74
|
* backend. Any updates must not be visible to any other
|
|
75
75
|
* readers.
|
|
76
76
|
*/
|
|
77
|
-
int (
|
|
77
|
+
int GIT_CALLBACK(lock)(struct git_config_backend *);
|
|
78
78
|
/**
|
|
79
79
|
* Unlock the data store backing this backend. If success is
|
|
80
80
|
* true, the changes should be committed, otherwise rolled
|
|
81
81
|
* back.
|
|
82
82
|
*/
|
|
83
|
-
int (
|
|
84
|
-
void (
|
|
83
|
+
int GIT_CALLBACK(unlock)(struct git_config_backend *, int success);
|
|
84
|
+
void GIT_CALLBACK(free)(struct git_config_backend *);
|
|
85
85
|
};
|
|
86
86
|
#define GIT_CONFIG_BACKEND_VERSION 1
|
|
87
87
|
#define GIT_CONFIG_BACKEND_INIT {GIT_CONFIG_BACKEND_VERSION}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) the libgit2 contributors. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
|
5
|
+
* a Linking Exception. For full terms see the included COPYING file.
|
|
6
|
+
*/
|
|
7
|
+
#ifndef INCLUDE_sys_git_cred_h__
|
|
8
|
+
#define INCLUDE_sys_git_cred_h__
|
|
9
|
+
|
|
10
|
+
#include "git2/common.h"
|
|
11
|
+
#include "git2/cred.h"
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @file git2/sys/cred.h
|
|
15
|
+
* @brief Git credentials low-level implementation
|
|
16
|
+
* @defgroup git_cred Git credentials low-level implementation
|
|
17
|
+
* @ingroup Git
|
|
18
|
+
* @{
|
|
19
|
+
*/
|
|
20
|
+
GIT_BEGIN_DECL
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The base structure for all credential types
|
|
24
|
+
*/
|
|
25
|
+
struct git_cred {
|
|
26
|
+
git_credtype_t credtype; /**< A type of credential */
|
|
27
|
+
|
|
28
|
+
/** The deallocator for this type of credentials */
|
|
29
|
+
void GIT_CALLBACK(free)(git_cred *cred);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/** A plaintext username and password */
|
|
33
|
+
struct git_cred_userpass_plaintext {
|
|
34
|
+
git_cred parent; /**< The parent cred */
|
|
35
|
+
char *username; /**< The username to authenticate as */
|
|
36
|
+
char *password; /**< The password to use */
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/** Username-only credential information */
|
|
40
|
+
struct git_cred_username {
|
|
41
|
+
git_cred parent; /**< The parent cred */
|
|
42
|
+
char username[1]; /**< The username to authenticate as */
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* A ssh key from disk
|
|
47
|
+
*/
|
|
48
|
+
struct git_cred_ssh_key {
|
|
49
|
+
git_cred parent; /**< The parent cred */
|
|
50
|
+
char *username; /**< The username to authenticate as */
|
|
51
|
+
char *publickey; /**< The path to a public key */
|
|
52
|
+
char *privatekey; /**< The path to a private key */
|
|
53
|
+
char *passphrase; /**< Passphrase used to decrypt the private key */
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Keyboard-interactive based ssh authentication
|
|
58
|
+
*/
|
|
59
|
+
struct git_cred_ssh_interactive {
|
|
60
|
+
git_cred parent; /**< The parent cred */
|
|
61
|
+
char *username; /**< The username to authenticate as */
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Callback used for authentication.
|
|
65
|
+
*/
|
|
66
|
+
git_cred_ssh_interactive_cb prompt_callback;
|
|
67
|
+
|
|
68
|
+
void *payload; /**< Payload passed to prompt_callback */
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* A key with a custom signature function
|
|
73
|
+
*/
|
|
74
|
+
struct git_cred_ssh_custom {
|
|
75
|
+
git_cred parent; /**< The parent cred */
|
|
76
|
+
char *username; /**< The username to authenticate as */
|
|
77
|
+
char *publickey; /**< The public key data */
|
|
78
|
+
size_t publickey_len; /**< Length of the public key */
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Callback used to sign the data.
|
|
82
|
+
*/
|
|
83
|
+
git_cred_sign_cb sign_callback;
|
|
84
|
+
|
|
85
|
+
void *payload; /**< Payload passed to prompt_callback */
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
GIT_END_DECL
|
|
89
|
+
|
|
90
|
+
#endif
|
|
@@ -138,7 +138,7 @@ GIT_EXTERN(uint32_t) git_filter_source_flags(const git_filter_source *src);
|
|
|
138
138
|
* initialization operations (in case libgit2 is being used in a way that
|
|
139
139
|
* doesn't need the filter).
|
|
140
140
|
*/
|
|
141
|
-
typedef int (
|
|
141
|
+
typedef int GIT_CALLBACK(git_filter_init_fn)(git_filter *self);
|
|
142
142
|
|
|
143
143
|
/**
|
|
144
144
|
* Shutdown callback on filter
|
|
@@ -150,7 +150,7 @@ typedef int (*git_filter_init_fn)(git_filter *self);
|
|
|
150
150
|
*
|
|
151
151
|
* Typically this function will free the `git_filter` object itself.
|
|
152
152
|
*/
|
|
153
|
-
typedef void (
|
|
153
|
+
typedef void GIT_CALLBACK(git_filter_shutdown_fn)(git_filter *self);
|
|
154
154
|
|
|
155
155
|
/**
|
|
156
156
|
* Callback to decide if a given source needs this filter
|
|
@@ -172,7 +172,7 @@ typedef void (*git_filter_shutdown_fn)(git_filter *self);
|
|
|
172
172
|
* callback can use it. If a filter allocates and assigns a value to the
|
|
173
173
|
* `payload`, it will need a `cleanup` callback to free the payload.
|
|
174
174
|
*/
|
|
175
|
-
typedef int (
|
|
175
|
+
typedef int GIT_CALLBACK(git_filter_check_fn)(
|
|
176
176
|
git_filter *self,
|
|
177
177
|
void **payload, /* points to NULL ptr on entry, may be set */
|
|
178
178
|
const git_filter_source *src,
|
|
@@ -190,14 +190,14 @@ typedef int (*git_filter_check_fn)(
|
|
|
190
190
|
* The `payload` value will refer to any payload that was set by the
|
|
191
191
|
* `check` callback. It may be read from or written to as needed.
|
|
192
192
|
*/
|
|
193
|
-
typedef int (
|
|
193
|
+
typedef int GIT_CALLBACK(git_filter_apply_fn)(
|
|
194
194
|
git_filter *self,
|
|
195
195
|
void **payload, /* may be read and/or set */
|
|
196
196
|
git_buf *to,
|
|
197
197
|
const git_buf *from,
|
|
198
198
|
const git_filter_source *src);
|
|
199
199
|
|
|
200
|
-
typedef int (
|
|
200
|
+
typedef int GIT_CALLBACK(git_filter_stream_fn)(
|
|
201
201
|
git_writestream **out,
|
|
202
202
|
git_filter *self,
|
|
203
203
|
void **payload,
|
|
@@ -212,7 +212,7 @@ typedef int (*git_filter_stream_fn)(
|
|
|
212
212
|
* allocated a `payload` to keep per-source filter state, use this
|
|
213
213
|
* callback to free that payload and release resources as required.
|
|
214
214
|
*/
|
|
215
|
-
typedef void (
|
|
215
|
+
typedef void GIT_CALLBACK(git_filter_cleanup_fn)(
|
|
216
216
|
git_filter *self,
|
|
217
217
|
void *payload);
|
|
218
218
|
|
|
@@ -73,7 +73,7 @@ GIT_EXTERN(const git_merge_file_options *) git_merge_driver_source_file_options(
|
|
|
73
73
|
* initialization operations (in case libgit2 is being used in a way that
|
|
74
74
|
* doesn't need the merge driver).
|
|
75
75
|
*/
|
|
76
|
-
typedef int (
|
|
76
|
+
typedef int GIT_CALLBACK(git_merge_driver_init_fn)(git_merge_driver *self);
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
79
|
* Shutdown callback on merge driver
|
|
@@ -85,7 +85,7 @@ typedef int (*git_merge_driver_init_fn)(git_merge_driver *self);
|
|
|
85
85
|
*
|
|
86
86
|
* Typically this function will free the `git_merge_driver` object itself.
|
|
87
87
|
*/
|
|
88
|
-
typedef void (
|
|
88
|
+
typedef void GIT_CALLBACK(git_merge_driver_shutdown_fn)(git_merge_driver *self);
|
|
89
89
|
|
|
90
90
|
/**
|
|
91
91
|
* Callback to perform the merge.
|
|
@@ -105,7 +105,7 @@ typedef void (*git_merge_driver_shutdown_fn)(git_merge_driver *self);
|
|
|
105
105
|
*
|
|
106
106
|
* The `src` contains the data about the file to be merged.
|
|
107
107
|
*/
|
|
108
|
-
typedef int (
|
|
108
|
+
typedef int GIT_CALLBACK(git_merge_driver_apply_fn)(
|
|
109
109
|
git_merge_driver *self,
|
|
110
110
|
const char **path_out,
|
|
111
111
|
uint32_t *mode_out,
|
|
@@ -30,39 +30,39 @@ struct git_odb_backend {
|
|
|
30
30
|
|
|
31
31
|
/* read and read_prefix each return to libgit2 a buffer which
|
|
32
32
|
* will be freed later. The buffer should be allocated using
|
|
33
|
-
* the function
|
|
34
|
-
*
|
|
35
|
-
int (
|
|
36
|
-
void **, size_t *,
|
|
33
|
+
* the function git_odb_backend_data_alloc to ensure that libgit2
|
|
34
|
+
* can safely free it later. */
|
|
35
|
+
int GIT_CALLBACK(read)(
|
|
36
|
+
void **, size_t *, git_object_t *, git_odb_backend *, const git_oid *);
|
|
37
37
|
|
|
38
38
|
/* To find a unique object given a prefix of its oid. The oid given
|
|
39
39
|
* must be so that the remaining (GIT_OID_HEXSZ - len)*4 bits are 0s.
|
|
40
40
|
*/
|
|
41
|
-
int (
|
|
42
|
-
git_oid *, void **, size_t *,
|
|
41
|
+
int GIT_CALLBACK(read_prefix)(
|
|
42
|
+
git_oid *, void **, size_t *, git_object_t *,
|
|
43
43
|
git_odb_backend *, const git_oid *, size_t);
|
|
44
44
|
|
|
45
|
-
int (
|
|
46
|
-
size_t *,
|
|
45
|
+
int GIT_CALLBACK(read_header)(
|
|
46
|
+
size_t *, git_object_t *, git_odb_backend *, const git_oid *);
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
49
|
* Write an object into the backend. The id of the object has
|
|
50
50
|
* already been calculated and is passed in.
|
|
51
51
|
*/
|
|
52
|
-
int (
|
|
53
|
-
git_odb_backend *, const git_oid *, const void *, size_t,
|
|
52
|
+
int GIT_CALLBACK(write)(
|
|
53
|
+
git_odb_backend *, const git_oid *, const void *, size_t, git_object_t);
|
|
54
54
|
|
|
55
|
-
int (
|
|
56
|
-
git_odb_stream **, git_odb_backend *,
|
|
55
|
+
int GIT_CALLBACK(writestream)(
|
|
56
|
+
git_odb_stream **, git_odb_backend *, git_object_size_t, git_object_t);
|
|
57
57
|
|
|
58
|
-
int (
|
|
59
|
-
git_odb_stream **, size_t *,
|
|
58
|
+
int GIT_CALLBACK(readstream)(
|
|
59
|
+
git_odb_stream **, size_t *, git_object_t *,
|
|
60
60
|
git_odb_backend *, const git_oid *);
|
|
61
61
|
|
|
62
|
-
int (
|
|
62
|
+
int GIT_CALLBACK(exists)(
|
|
63
63
|
git_odb_backend *, const git_oid *);
|
|
64
64
|
|
|
65
|
-
int (
|
|
65
|
+
int GIT_CALLBACK(exists_prefix)(
|
|
66
66
|
git_oid *, git_odb_backend *, const git_oid *, size_t);
|
|
67
67
|
|
|
68
68
|
/**
|
|
@@ -75,14 +75,14 @@ struct git_odb_backend {
|
|
|
75
75
|
* implementation to achieve this could be to internally invoke this
|
|
76
76
|
* endpoint on failed lookups (ie. `exists()`, `read()`, `read_header()`).
|
|
77
77
|
*/
|
|
78
|
-
int (
|
|
78
|
+
int GIT_CALLBACK(refresh)(git_odb_backend *);
|
|
79
79
|
|
|
80
|
-
int (
|
|
80
|
+
int GIT_CALLBACK(foreach)(
|
|
81
81
|
git_odb_backend *, git_odb_foreach_cb cb, void *payload);
|
|
82
82
|
|
|
83
|
-
int (
|
|
83
|
+
int GIT_CALLBACK(writepack)(
|
|
84
84
|
git_odb_writepack **, git_odb_backend *, git_odb *odb,
|
|
85
|
-
|
|
85
|
+
git_indexer_progress_cb progress_cb, void *progress_payload);
|
|
86
86
|
|
|
87
87
|
/**
|
|
88
88
|
* "Freshens" an already existing object, updating its last-used
|
|
@@ -93,13 +93,13 @@ struct git_odb_backend {
|
|
|
93
93
|
* If callers implement this, they should return `0` if the object
|
|
94
94
|
* exists and was freshened, and non-zero otherwise.
|
|
95
95
|
*/
|
|
96
|
-
int (
|
|
96
|
+
int GIT_CALLBACK(freshen)(git_odb_backend *, const git_oid *);
|
|
97
97
|
|
|
98
98
|
/**
|
|
99
99
|
* Frees any resources held by the odb (including the `git_odb_backend`
|
|
100
100
|
* itself). An odb backend implementation must provide this function.
|
|
101
101
|
*/
|
|
102
|
-
void (
|
|
102
|
+
void GIT_CALLBACK(free)(git_odb_backend *);
|
|
103
103
|
};
|
|
104
104
|
|
|
105
105
|
#define GIT_ODB_BACKEND_VERSION 1
|
|
@@ -117,8 +117,52 @@ GIT_EXTERN(int) git_odb_init_backend(
|
|
|
117
117
|
git_odb_backend *backend,
|
|
118
118
|
unsigned int version);
|
|
119
119
|
|
|
120
|
+
/**
|
|
121
|
+
* Allocate data for an ODB object. Custom ODB backends may use this
|
|
122
|
+
* to provide data back to the ODB from their read function. This
|
|
123
|
+
* memory should not be freed once it is returned to libgit2. If a
|
|
124
|
+
* custom ODB uses this function but encounters an error and does not
|
|
125
|
+
* return this data to libgit2, then they should use the corresponding
|
|
126
|
+
* git_odb_backend_data_free function.
|
|
127
|
+
*
|
|
128
|
+
* @param backend the ODB backend that is allocating this memory
|
|
129
|
+
* @param len the number of bytes to allocate
|
|
130
|
+
* @return the allocated buffer on success or NULL if out of memory
|
|
131
|
+
*/
|
|
132
|
+
GIT_EXTERN(void *) git_odb_backend_data_alloc(git_odb_backend *backend, size_t len);
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Frees custom allocated ODB data. This should only be called when
|
|
136
|
+
* memory allocated using git_odb_backend_data_alloc is not returned
|
|
137
|
+
* to libgit2 because the backend encountered an error in the read
|
|
138
|
+
* function after allocation and did not return this data to libgit2.
|
|
139
|
+
*
|
|
140
|
+
* @param backend the ODB backend that is freeing this memory
|
|
141
|
+
* @param data the buffer to free
|
|
142
|
+
*/
|
|
143
|
+
GIT_EXTERN(void) git_odb_backend_data_free(git_odb_backend *backend, void *data);
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
/*
|
|
147
|
+
* Users can avoid deprecated functions by defining `GIT_DEPRECATE_HARD`.
|
|
148
|
+
*/
|
|
149
|
+
#ifndef GIT_DEPRECATE_HARD
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Allocate memory for an ODB object from a custom backend. This is
|
|
153
|
+
* an alias of `git_odb_backend_data_alloc` and is preserved for
|
|
154
|
+
* backward compatibility.
|
|
155
|
+
*
|
|
156
|
+
* This function is deprecated, but there is no plan to remove this
|
|
157
|
+
* function at this time.
|
|
158
|
+
*
|
|
159
|
+
* @deprecated git_odb_backend_data_alloc
|
|
160
|
+
* @see git_odb_backend_data_alloc
|
|
161
|
+
*/
|
|
120
162
|
GIT_EXTERN(void *) git_odb_backend_malloc(git_odb_backend *backend, size_t len);
|
|
121
163
|
|
|
164
|
+
#endif
|
|
165
|
+
|
|
122
166
|
GIT_END_DECL
|
|
123
167
|
|
|
124
168
|
#endif
|
|
@@ -12,22 +12,31 @@
|
|
|
12
12
|
|
|
13
13
|
GIT_BEGIN_DECL
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* The kinds of git-specific files we know about.
|
|
17
|
+
*
|
|
16
18
|
* The order needs to stay the same to not break the `gitfiles`
|
|
17
19
|
* array in path.c
|
|
18
20
|
*/
|
|
19
21
|
typedef enum {
|
|
22
|
+
/** Check for the .gitignore file */
|
|
20
23
|
GIT_PATH_GITFILE_GITIGNORE,
|
|
24
|
+
/** Check for the .gitmodules file */
|
|
21
25
|
GIT_PATH_GITFILE_GITMODULES,
|
|
26
|
+
/** Check for the .gitattributes file */
|
|
22
27
|
GIT_PATH_GITFILE_GITATTRIBUTES
|
|
23
28
|
} git_path_gitfile;
|
|
24
29
|
|
|
30
|
+
/**
|
|
31
|
+
* The kinds of checks to perform according to which filesystem we are trying to
|
|
32
|
+
* protect.
|
|
33
|
+
*/
|
|
25
34
|
typedef enum {
|
|
26
|
-
|
|
35
|
+
/** Do both NTFS- and HFS-specific checks */
|
|
27
36
|
GIT_PATH_FS_GENERIC,
|
|
28
|
-
|
|
37
|
+
/** Do NTFS-specific checks only */
|
|
29
38
|
GIT_PATH_FS_NTFS,
|
|
30
|
-
|
|
39
|
+
/** Do HFS-specific checks only */
|
|
31
40
|
GIT_PATH_FS_HFS
|
|
32
41
|
} git_path_fs;
|
|
33
42
|
|
|
@@ -48,7 +57,7 @@ typedef enum {
|
|
|
48
57
|
* @return 0 in case the file does not match, a positive value if
|
|
49
58
|
* it does; -1 in case of an error
|
|
50
59
|
*/
|
|
51
|
-
|
|
60
|
+
GIT_EXTERN(int) git_path_is_gitfile(const char *path, size_t pathlen, git_path_gitfile gitfile, git_path_fs fs);
|
|
52
61
|
|
|
53
62
|
GIT_END_DECL
|
|
54
63
|
|