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
|
@@ -67,7 +67,7 @@ GIT_BEGIN_DECL
|
|
|
67
67
|
* To emulate `git checkout -f`, use `GIT_CHECKOUT_FORCE`.
|
|
68
68
|
*
|
|
69
69
|
*
|
|
70
|
-
* There are some additional flags to
|
|
70
|
+
* There are some additional flags to modify the behavior of checkout:
|
|
71
71
|
*
|
|
72
72
|
* - GIT_CHECKOUT_ALLOW_CONFLICTS makes SAFE mode apply safe file updates
|
|
73
73
|
* even if there are conflicts (instead of cancelling the checkout).
|
|
@@ -106,10 +106,22 @@ GIT_BEGIN_DECL
|
|
|
106
106
|
typedef enum {
|
|
107
107
|
GIT_CHECKOUT_NONE = 0, /**< default is a dry run, no actual updates */
|
|
108
108
|
|
|
109
|
-
/**
|
|
109
|
+
/**
|
|
110
|
+
* Allow safe updates that cannot overwrite uncommitted data.
|
|
111
|
+
* If the uncommitted changes don't conflict with the checked out files,
|
|
112
|
+
* the checkout will still proceed, leaving the changes intact.
|
|
113
|
+
*
|
|
114
|
+
* Mutually exclusive with GIT_CHECKOUT_FORCE.
|
|
115
|
+
* GIT_CHECKOUT_FORCE takes precedence over GIT_CHECKOUT_SAFE.
|
|
116
|
+
*/
|
|
110
117
|
GIT_CHECKOUT_SAFE = (1u << 0),
|
|
111
118
|
|
|
112
|
-
/**
|
|
119
|
+
/**
|
|
120
|
+
* Allow all updates to force working directory to look like index.
|
|
121
|
+
*
|
|
122
|
+
* Mutually exclusive with GIT_CHECKOUT_SAFE.
|
|
123
|
+
* GIT_CHECKOUT_FORCE takes precedence over GIT_CHECKOUT_SAFE.
|
|
124
|
+
*/
|
|
113
125
|
GIT_CHECKOUT_FORCE = (1u << 1),
|
|
114
126
|
|
|
115
127
|
|
|
@@ -213,6 +225,7 @@ typedef enum {
|
|
|
213
225
|
GIT_CHECKOUT_NOTIFY_ALL = 0x0FFFFu
|
|
214
226
|
} git_checkout_notify_t;
|
|
215
227
|
|
|
228
|
+
/** Checkout performance-reporting structure */
|
|
216
229
|
typedef struct {
|
|
217
230
|
size_t mkdir_calls;
|
|
218
231
|
size_t stat_calls;
|
|
@@ -220,7 +233,7 @@ typedef struct {
|
|
|
220
233
|
} git_checkout_perfdata;
|
|
221
234
|
|
|
222
235
|
/** Checkout notification callback function */
|
|
223
|
-
typedef int (
|
|
236
|
+
typedef int GIT_CALLBACK(git_checkout_notify_cb)(
|
|
224
237
|
git_checkout_notify_t why,
|
|
225
238
|
const char *path,
|
|
226
239
|
const git_diff_file *baseline,
|
|
@@ -229,14 +242,14 @@ typedef int (*git_checkout_notify_cb)(
|
|
|
229
242
|
void *payload);
|
|
230
243
|
|
|
231
244
|
/** Checkout progress notification function */
|
|
232
|
-
typedef void (
|
|
245
|
+
typedef void GIT_CALLBACK(git_checkout_progress_cb)(
|
|
233
246
|
const char *path,
|
|
234
247
|
size_t completed_steps,
|
|
235
248
|
size_t total_steps,
|
|
236
249
|
void *payload);
|
|
237
250
|
|
|
238
251
|
/** Checkout perfdata notification function */
|
|
239
|
-
typedef void (
|
|
252
|
+
typedef void GIT_CALLBACK(git_checkout_perfdata_cb)(
|
|
240
253
|
const git_checkout_perfdata *perfdata,
|
|
241
254
|
void *payload);
|
|
242
255
|
|
|
@@ -244,11 +257,11 @@ typedef void (*git_checkout_perfdata_cb)(
|
|
|
244
257
|
* Checkout options structure
|
|
245
258
|
*
|
|
246
259
|
* Initialize with `GIT_CHECKOUT_OPTIONS_INIT`. Alternatively, you can
|
|
247
|
-
* use `
|
|
260
|
+
* use `git_checkout_options_init`.
|
|
248
261
|
*
|
|
249
262
|
*/
|
|
250
263
|
typedef struct git_checkout_options {
|
|
251
|
-
unsigned int version;
|
|
264
|
+
unsigned int version; /**< The version */
|
|
252
265
|
|
|
253
266
|
unsigned int checkout_strategy; /**< default will be a safe checkout */
|
|
254
267
|
|
|
@@ -258,29 +271,46 @@ typedef struct git_checkout_options {
|
|
|
258
271
|
int file_open_flags; /**< default is O_CREAT | O_TRUNC | O_WRONLY */
|
|
259
272
|
|
|
260
273
|
unsigned int notify_flags; /**< see `git_checkout_notify_t` above */
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Optional callback to get notifications on specific file states.
|
|
277
|
+
* @see git_checkout_notify_t
|
|
278
|
+
*/
|
|
261
279
|
git_checkout_notify_cb notify_cb;
|
|
280
|
+
|
|
281
|
+
/** Payload passed to notify_cb */
|
|
262
282
|
void *notify_payload;
|
|
263
283
|
|
|
264
284
|
/** Optional callback to notify the consumer of checkout progress. */
|
|
265
285
|
git_checkout_progress_cb progress_cb;
|
|
286
|
+
|
|
287
|
+
/** Payload passed to progress_cb */
|
|
266
288
|
void *progress_payload;
|
|
267
289
|
|
|
268
|
-
/**
|
|
269
|
-
*
|
|
270
|
-
*
|
|
290
|
+
/**
|
|
291
|
+
* A list of wildmatch patterns or paths.
|
|
292
|
+
*
|
|
293
|
+
* By default, all paths are processed. If you pass an array of wildmatch
|
|
294
|
+
* patterns, those will be used to filter which paths should be taken into
|
|
295
|
+
* account.
|
|
296
|
+
*
|
|
297
|
+
* Use GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH to treat as a simple list.
|
|
271
298
|
*/
|
|
272
299
|
git_strarray paths;
|
|
273
300
|
|
|
274
|
-
/**
|
|
275
|
-
*
|
|
276
|
-
*
|
|
301
|
+
/**
|
|
302
|
+
* The expected content of the working directory; defaults to HEAD.
|
|
303
|
+
*
|
|
304
|
+
* If the working directory does not match this baseline information,
|
|
305
|
+
* that will produce a checkout conflict.
|
|
277
306
|
*/
|
|
278
307
|
git_tree *baseline;
|
|
279
308
|
|
|
280
|
-
/**
|
|
281
|
-
*
|
|
309
|
+
/**
|
|
310
|
+
* Like `baseline` above, though expressed as an index. This
|
|
311
|
+
* option overrides `baseline`.
|
|
282
312
|
*/
|
|
283
|
-
git_index *baseline_index;
|
|
313
|
+
git_index *baseline_index;
|
|
284
314
|
|
|
285
315
|
const char *target_directory; /**< alternative checkout path to workdir */
|
|
286
316
|
|
|
@@ -290,6 +320,8 @@ typedef struct git_checkout_options {
|
|
|
290
320
|
|
|
291
321
|
/** Optional callback to notify the consumer of performance data. */
|
|
292
322
|
git_checkout_perfdata_cb perfdata_cb;
|
|
323
|
+
|
|
324
|
+
/** Payload passed to perfdata_cb */
|
|
293
325
|
void *perfdata_payload;
|
|
294
326
|
} git_checkout_options;
|
|
295
327
|
|
|
@@ -306,7 +338,7 @@ typedef struct git_checkout_options {
|
|
|
306
338
|
* @param version The struct version; pass `GIT_CHECKOUT_OPTIONS_VERSION`.
|
|
307
339
|
* @return Zero on success; -1 on failure.
|
|
308
340
|
*/
|
|
309
|
-
GIT_EXTERN(int)
|
|
341
|
+
GIT_EXTERN(int) git_checkout_options_init(
|
|
310
342
|
git_checkout_options *opts,
|
|
311
343
|
unsigned int version);
|
|
312
344
|
|
|
@@ -325,7 +357,7 @@ GIT_EXTERN(int) git_checkout_init_options(
|
|
|
325
357
|
* @param opts specifies checkout options (may be NULL)
|
|
326
358
|
* @return 0 on success, GIT_EUNBORNBRANCH if HEAD points to a non
|
|
327
359
|
* existing branch, non-zero value returned by `notify_cb`, or
|
|
328
|
-
* other error code < 0 (use
|
|
360
|
+
* other error code < 0 (use git_error_last for error details)
|
|
329
361
|
*/
|
|
330
362
|
GIT_EXTERN(int) git_checkout_head(
|
|
331
363
|
git_repository *repo,
|
|
@@ -338,7 +370,7 @@ GIT_EXTERN(int) git_checkout_head(
|
|
|
338
370
|
* @param index index to be checked out (or NULL to use repository index)
|
|
339
371
|
* @param opts specifies checkout options (may be NULL)
|
|
340
372
|
* @return 0 on success, non-zero return value from `notify_cb`, or error
|
|
341
|
-
* code < 0 (use
|
|
373
|
+
* code < 0 (use git_error_last for error details)
|
|
342
374
|
*/
|
|
343
375
|
GIT_EXTERN(int) git_checkout_index(
|
|
344
376
|
git_repository *repo,
|
|
@@ -354,7 +386,7 @@ GIT_EXTERN(int) git_checkout_index(
|
|
|
354
386
|
* the working directory (or NULL to use HEAD)
|
|
355
387
|
* @param opts specifies checkout options (may be NULL)
|
|
356
388
|
* @return 0 on success, non-zero return value from `notify_cb`, or error
|
|
357
|
-
* code < 0 (use
|
|
389
|
+
* code < 0 (use git_error_last for error details)
|
|
358
390
|
*/
|
|
359
391
|
GIT_EXTERN(int) git_checkout_tree(
|
|
360
392
|
git_repository *repo,
|
|
@@ -46,7 +46,7 @@ typedef struct {
|
|
|
46
46
|
* @param version The struct version; pass `GIT_CHERRYPICK_OPTIONS_VERSION`.
|
|
47
47
|
* @return Zero on success; -1 on failure.
|
|
48
48
|
*/
|
|
49
|
-
GIT_EXTERN(int)
|
|
49
|
+
GIT_EXTERN(int) git_cherrypick_options_init(
|
|
50
50
|
git_cherrypick_options *opts,
|
|
51
51
|
unsigned int version);
|
|
52
52
|
|
|
@@ -59,8 +59,8 @@ GIT_EXTERN(int) git_cherrypick_init_options(
|
|
|
59
59
|
* @param out pointer to store the index result in
|
|
60
60
|
* @param repo the repository that contains the given commits
|
|
61
61
|
* @param cherrypick_commit the commit to cherry-pick
|
|
62
|
-
* @param our_commit the commit to
|
|
63
|
-
* @param mainline the parent of the
|
|
62
|
+
* @param our_commit the commit to cherry-pick against (eg, HEAD)
|
|
63
|
+
* @param mainline the parent of the `cherrypick_commit`, if it is a merge
|
|
64
64
|
* @param merge_options the merge options (or null for defaults)
|
|
65
65
|
* @return zero on success, -1 on failure.
|
|
66
66
|
*/
|
|
@@ -66,7 +66,7 @@ typedef enum {
|
|
|
66
66
|
* @param payload an opaque payload
|
|
67
67
|
* @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code
|
|
68
68
|
*/
|
|
69
|
-
typedef int (
|
|
69
|
+
typedef int GIT_CALLBACK(git_remote_create_cb)(
|
|
70
70
|
git_remote **out,
|
|
71
71
|
git_repository *repo,
|
|
72
72
|
const char *name,
|
|
@@ -87,7 +87,7 @@ typedef int (*git_remote_create_cb)(
|
|
|
87
87
|
* @param payload payload specified by the options
|
|
88
88
|
* @return 0, or a negative value to indicate error
|
|
89
89
|
*/
|
|
90
|
-
typedef int (
|
|
90
|
+
typedef int GIT_CALLBACK(git_repository_create_cb)(
|
|
91
91
|
git_repository **out,
|
|
92
92
|
const char *path,
|
|
93
93
|
int bare,
|
|
@@ -97,7 +97,7 @@ typedef int (*git_repository_create_cb)(
|
|
|
97
97
|
* Clone options structure
|
|
98
98
|
*
|
|
99
99
|
* Initialize with `GIT_CLONE_OPTIONS_INIT`. Alternatively, you can
|
|
100
|
-
* use `
|
|
100
|
+
* use `git_clone_options_init`.
|
|
101
101
|
*
|
|
102
102
|
*/
|
|
103
103
|
typedef struct git_clone_options {
|
|
@@ -178,7 +178,7 @@ typedef struct git_clone_options {
|
|
|
178
178
|
* @param version The struct version; pass `GIT_CLONE_OPTIONS_VERSION`.
|
|
179
179
|
* @return Zero on success; -1 on failure.
|
|
180
180
|
*/
|
|
181
|
-
GIT_EXTERN(int)
|
|
181
|
+
GIT_EXTERN(int) git_clone_options_init(
|
|
182
182
|
git_clone_options *opts,
|
|
183
183
|
unsigned int version);
|
|
184
184
|
|
|
@@ -196,7 +196,7 @@ GIT_EXTERN(int) git_clone_init_options(
|
|
|
196
196
|
* function works as though GIT_OPTIONS_INIT were passed.
|
|
197
197
|
* @return 0 on success, any non-zero return value from a callback
|
|
198
198
|
* function, or a negative value to indicate an error (use
|
|
199
|
-
* `
|
|
199
|
+
* `git_error_last` for a detailed error message)
|
|
200
200
|
*/
|
|
201
201
|
GIT_EXTERN(int) git_clone(
|
|
202
202
|
git_repository **out,
|
|
@@ -296,8 +296,8 @@ GIT_EXTERN(int) git_commit_header_field(git_buf *out, const git_commit *commit,
|
|
|
296
296
|
* Extract the signature from a commit
|
|
297
297
|
*
|
|
298
298
|
* If the id is not for a commit, the error class will be
|
|
299
|
-
* `
|
|
300
|
-
* error class will be `
|
|
299
|
+
* `GIT_ERROR_INVALID`. If the commit does not have a signature, the
|
|
300
|
+
* error class will be `GIT_ERROR_OBJECT`.
|
|
301
301
|
*
|
|
302
302
|
* @param signature the signature block; existing content will be
|
|
303
303
|
* overwritten
|
|
@@ -480,7 +480,8 @@ GIT_EXTERN(int) git_commit_create_buffer(
|
|
|
480
480
|
*
|
|
481
481
|
* @param out the resulting commit id
|
|
482
482
|
* @param commit_content the content of the unsigned commit object
|
|
483
|
-
* @param signature the signature to add to the commit
|
|
483
|
+
* @param signature the signature to add to the commit. Leave `NULL`
|
|
484
|
+
* to create a commit without adding a signature field.
|
|
484
485
|
* @param signature_field which header field should contain this
|
|
485
486
|
* signature. Leave `NULL` for the default of "gpgsig"
|
|
486
487
|
* @return 0 or an error code
|
|
@@ -501,6 +502,27 @@ GIT_EXTERN(int) git_commit_create_with_signature(
|
|
|
501
502
|
*/
|
|
502
503
|
GIT_EXTERN(int) git_commit_dup(git_commit **out, git_commit *source);
|
|
503
504
|
|
|
505
|
+
/**
|
|
506
|
+
* Commit signing callback.
|
|
507
|
+
*
|
|
508
|
+
* The callback will be called with the commit content, giving a user an
|
|
509
|
+
* opportunity to sign the commit content. The signature_field
|
|
510
|
+
* buf may be left empty to specify the default field "gpgsig".
|
|
511
|
+
*
|
|
512
|
+
* Signatures can take the form of any string, and can be created on an arbitrary
|
|
513
|
+
* header field. Signatures are most commonly used for verifying authorship of a
|
|
514
|
+
* commit using GPG or a similar cryptographically secure signing algorithm.
|
|
515
|
+
* See https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work for more
|
|
516
|
+
* details.
|
|
517
|
+
*
|
|
518
|
+
* When the callback:
|
|
519
|
+
* - returns GIT_PASSTHROUGH, no signature will be added to the commit.
|
|
520
|
+
* - returns < 0, commit creation will be aborted.
|
|
521
|
+
* - returns GIT_OK, the signature parameter is expected to be filled.
|
|
522
|
+
*/
|
|
523
|
+
typedef int (*git_commit_signing_cb)(
|
|
524
|
+
git_buf *signature, git_buf *signature_field, const char *commit_content, void *payload);
|
|
525
|
+
|
|
504
526
|
/** @} */
|
|
505
527
|
GIT_END_DECL
|
|
506
528
|
#endif
|
|
@@ -21,10 +21,7 @@
|
|
|
21
21
|
#endif
|
|
22
22
|
|
|
23
23
|
#if defined(_MSC_VER) && _MSC_VER < 1800
|
|
24
|
-
|
|
25
|
-
# include "inttypes.h"
|
|
26
|
-
GIT_END_DECL
|
|
27
|
-
/** This check is needed for importing this file in an iOS/OS X framework throws an error in Xcode otherwise.*/
|
|
24
|
+
# include <stdint.h>
|
|
28
25
|
#elif !defined(__CLANG_INTTYPES_H)
|
|
29
26
|
# include <inttypes.h>
|
|
30
27
|
#endif
|
|
@@ -43,15 +40,23 @@ typedef size_t size_t;
|
|
|
43
40
|
__attribute__((visibility("default"))) \
|
|
44
41
|
type
|
|
45
42
|
#elif defined(_MSC_VER)
|
|
46
|
-
# define GIT_EXTERN(type) __declspec(dllexport) type
|
|
43
|
+
# define GIT_EXTERN(type) __declspec(dllexport) type __cdecl
|
|
47
44
|
#else
|
|
48
45
|
# define GIT_EXTERN(type) extern type
|
|
49
46
|
#endif
|
|
50
47
|
|
|
48
|
+
/** Declare a callback function for application use. */
|
|
49
|
+
#if defined(_MSC_VER)
|
|
50
|
+
# define GIT_CALLBACK(name) (__cdecl *name)
|
|
51
|
+
#else
|
|
52
|
+
# define GIT_CALLBACK(name) (*name)
|
|
53
|
+
#endif
|
|
54
|
+
|
|
51
55
|
/** Declare a function as deprecated. */
|
|
52
56
|
#if defined(__GNUC__)
|
|
53
57
|
# define GIT_DEPRECATED(func) \
|
|
54
58
|
__attribute__((deprecated)) \
|
|
59
|
+
__attribute__((used)) \
|
|
55
60
|
func
|
|
56
61
|
#elif defined(_MSC_VER)
|
|
57
62
|
# define GIT_DEPRECATED(func) __declspec(deprecated) func
|
|
@@ -195,7 +200,10 @@ typedef enum {
|
|
|
195
200
|
GIT_OPT_SET_WINDOWS_SHAREMODE,
|
|
196
201
|
GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION,
|
|
197
202
|
GIT_OPT_SET_ALLOCATOR,
|
|
198
|
-
GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY
|
|
203
|
+
GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY,
|
|
204
|
+
GIT_OPT_GET_PACK_MAX_OBJECTS,
|
|
205
|
+
GIT_OPT_SET_PACK_MAX_OBJECTS,
|
|
206
|
+
GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS
|
|
199
207
|
} git_libgit2_opt_t;
|
|
200
208
|
|
|
201
209
|
/**
|
|
@@ -241,13 +249,13 @@ typedef enum {
|
|
|
241
249
|
* > `GIT_CONFIG_LEVEL_GLOBAL`, `GIT_CONFIG_LEVEL_XDG`, or
|
|
242
250
|
* > `GIT_CONFIG_LEVEL_PROGRAMDATA`.
|
|
243
251
|
*
|
|
244
|
-
* * opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT,
|
|
252
|
+
* * opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, git_object_t type, size_t size)
|
|
245
253
|
*
|
|
246
254
|
* > Set the maximum data size for the given type of object to be
|
|
247
255
|
* > considered eligible for caching in memory. Setting to value to
|
|
248
256
|
* > zero means that that type of object will not be cached.
|
|
249
|
-
* > Defaults to 0 for
|
|
250
|
-
* > for
|
|
257
|
+
* > Defaults to 0 for GIT_OBJECT_BLOB (i.e. won't cache blobs) and 4k
|
|
258
|
+
* > for GIT_OBJECT_COMMIT, GIT_OBJECT_TREE, and GIT_OBJECT_TAG.
|
|
251
259
|
*
|
|
252
260
|
* * opts(GIT_OPT_SET_CACHE_MAX_SIZE, ssize_t max_storage_bytes)
|
|
253
261
|
*
|
|
@@ -362,7 +370,8 @@ typedef enum {
|
|
|
362
370
|
*
|
|
363
371
|
* > Set the memory allocator to a different memory allocator. This
|
|
364
372
|
* > allocator will then be used to make all memory allocations for
|
|
365
|
-
* > libgit2 operations.
|
|
373
|
+
* > libgit2 operations. If the given `allocator` is NULL, then the
|
|
374
|
+
* > system default will be restored.
|
|
366
375
|
*
|
|
367
376
|
* opts(GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY, int enabled)
|
|
368
377
|
*
|
|
@@ -372,6 +381,22 @@ typedef enum {
|
|
|
372
381
|
* > fail. (Using the FORCE flag to checkout will still overwrite
|
|
373
382
|
* > these changes.)
|
|
374
383
|
*
|
|
384
|
+
* opts(GIT_OPT_GET_PACK_MAX_OBJECTS, size_t *out)
|
|
385
|
+
*
|
|
386
|
+
* > Get the maximum number of objects libgit2 will allow in a pack
|
|
387
|
+
* > file when downloading a pack file from a remote. This can be
|
|
388
|
+
* > used to limit maximum memory usage when fetching from an untrusted
|
|
389
|
+
* > remote.
|
|
390
|
+
*
|
|
391
|
+
* opts(GIT_OPT_SET_PACK_MAX_OBJECTS, size_t objects)
|
|
392
|
+
*
|
|
393
|
+
* > Set the maximum number of objects libgit2 will allow in a pack
|
|
394
|
+
* > file when downloading a pack file from a remote.
|
|
395
|
+
*
|
|
396
|
+
* opts(GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS, int enabled)
|
|
397
|
+
* > This will cause .keep file existence checks to be skipped when
|
|
398
|
+
* > accessing packfiles, which can help performance with remote filesystems.
|
|
399
|
+
*
|
|
375
400
|
* @param option Option key
|
|
376
401
|
* @param ... value to set the option
|
|
377
402
|
* @return 0 on success, <0 on failure
|
|
@@ -66,7 +66,7 @@ typedef struct git_config_entry {
|
|
|
66
66
|
const char *value; /**< String value of the entry */
|
|
67
67
|
unsigned int include_depth; /**< Depth of includes where this variable was found */
|
|
68
68
|
git_config_level_t level; /**< Which config file this was found in */
|
|
69
|
-
void (
|
|
69
|
+
void GIT_CALLBACK(free)(struct git_config_entry *entry); /**< Free function for this entry */
|
|
70
70
|
void *payload; /**< Opaque value for the free function. Do not read or write */
|
|
71
71
|
} git_config_entry;
|
|
72
72
|
|
|
@@ -75,27 +75,37 @@ typedef struct git_config_entry {
|
|
|
75
75
|
*/
|
|
76
76
|
GIT_EXTERN(void) git_config_entry_free(git_config_entry *);
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
/**
|
|
79
|
+
* A config enumeration callback
|
|
80
|
+
*
|
|
81
|
+
* @param entry the entry currently being enumerated
|
|
82
|
+
* @param payload a user-specified pointer
|
|
83
|
+
*/
|
|
84
|
+
typedef int GIT_CALLBACK(git_config_foreach_cb)(const git_config_entry *entry, void *payload);
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* An opaque structure for a configuration iterator
|
|
88
|
+
*/
|
|
79
89
|
typedef struct git_config_iterator git_config_iterator;
|
|
80
90
|
|
|
81
91
|
/**
|
|
82
92
|
* Config var type
|
|
83
93
|
*/
|
|
84
94
|
typedef enum {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
95
|
+
GIT_CONFIGMAP_FALSE = 0,
|
|
96
|
+
GIT_CONFIGMAP_TRUE = 1,
|
|
97
|
+
GIT_CONFIGMAP_INT32,
|
|
98
|
+
GIT_CONFIGMAP_STRING
|
|
99
|
+
} git_configmap_t;
|
|
90
100
|
|
|
91
101
|
/**
|
|
92
102
|
* Mapping from config variables to values.
|
|
93
103
|
*/
|
|
94
104
|
typedef struct {
|
|
95
|
-
|
|
105
|
+
git_configmap_t type;
|
|
96
106
|
const char *str_match;
|
|
97
107
|
int map_value;
|
|
98
|
-
}
|
|
108
|
+
} git_configmap;
|
|
99
109
|
|
|
100
110
|
/**
|
|
101
111
|
* Locate the path to the global configuration file
|
|
@@ -252,7 +262,7 @@ GIT_EXTERN(int) git_config_open_level(
|
|
|
252
262
|
* Open the global/XDG configuration file according to git's rules
|
|
253
263
|
*
|
|
254
264
|
* Git allows you to store your global configuration at
|
|
255
|
-
* `$HOME/.
|
|
265
|
+
* `$HOME/.gitconfig` or `$XDG_CONFIG_HOME/git/config`. For backwards
|
|
256
266
|
* compatability, the XDG file shouldn't be used unless the use has
|
|
257
267
|
* created it explicitly. With this function you'll open the correct
|
|
258
268
|
* one to write to.
|
|
@@ -581,7 +591,7 @@ GIT_EXTERN(int) git_config_iterator_glob_new(git_config_iterator **out, const gi
|
|
|
581
591
|
/**
|
|
582
592
|
* Perform an operation on each config variable matching a regular expression.
|
|
583
593
|
*
|
|
584
|
-
* This
|
|
594
|
+
* This behaves like `git_config_foreach` with an additional filter of a
|
|
585
595
|
* regular expression that filters which config keys are passed to the
|
|
586
596
|
* callback.
|
|
587
597
|
*
|
|
@@ -613,7 +623,7 @@ GIT_EXTERN(int) git_config_foreach_match(
|
|
|
613
623
|
*
|
|
614
624
|
* A mapping array looks as follows:
|
|
615
625
|
*
|
|
616
|
-
*
|
|
626
|
+
* git_configmap autocrlf_mapping[] = {
|
|
617
627
|
* {GIT_CVAR_FALSE, NULL, GIT_AUTO_CRLF_FALSE},
|
|
618
628
|
* {GIT_CVAR_TRUE, NULL, GIT_AUTO_CRLF_TRUE},
|
|
619
629
|
* {GIT_CVAR_STRING, "input", GIT_AUTO_CRLF_INPUT},
|
|
@@ -634,7 +644,7 @@ GIT_EXTERN(int) git_config_foreach_match(
|
|
|
634
644
|
* @param out place to store the result of the mapping
|
|
635
645
|
* @param cfg config file to get the variables from
|
|
636
646
|
* @param name name of the config variable to lookup
|
|
637
|
-
* @param maps array of `
|
|
647
|
+
* @param maps array of `git_configmap` objects specifying the possible mappings
|
|
638
648
|
* @param map_n number of mapping objects in `maps`
|
|
639
649
|
* @return 0 on success, error code otherwise
|
|
640
650
|
*/
|
|
@@ -642,20 +652,20 @@ GIT_EXTERN(int) git_config_get_mapped(
|
|
|
642
652
|
int *out,
|
|
643
653
|
const git_config *cfg,
|
|
644
654
|
const char *name,
|
|
645
|
-
const
|
|
655
|
+
const git_configmap *maps,
|
|
646
656
|
size_t map_n);
|
|
647
657
|
|
|
648
658
|
/**
|
|
649
659
|
* Maps a string value to an integer constant
|
|
650
660
|
*
|
|
651
661
|
* @param out place to store the result of the parsing
|
|
652
|
-
* @param maps array of `
|
|
662
|
+
* @param maps array of `git_configmap` objects specifying the possible mappings
|
|
653
663
|
* @param map_n number of mapping objects in `maps`
|
|
654
664
|
* @param value value to parse
|
|
655
665
|
*/
|
|
656
666
|
GIT_EXTERN(int) git_config_lookup_map_value(
|
|
657
667
|
int *out,
|
|
658
|
-
const
|
|
668
|
+
const git_configmap *maps,
|
|
659
669
|
size_t map_n,
|
|
660
670
|
const char *value);
|
|
661
671
|
|
|
@@ -711,11 +721,11 @@ GIT_EXTERN(int) git_config_parse_int64(int64_t *out, const char *value);
|
|
|
711
721
|
GIT_EXTERN(int) git_config_parse_path(git_buf *out, const char *value);
|
|
712
722
|
|
|
713
723
|
/**
|
|
714
|
-
* Perform an operation on each config variable in given config backend
|
|
724
|
+
* Perform an operation on each config variable in a given config backend,
|
|
715
725
|
* matching a regular expression.
|
|
716
726
|
*
|
|
717
|
-
* This
|
|
718
|
-
* entries
|
|
727
|
+
* This behaves like `git_config_foreach_match` except that only config
|
|
728
|
+
* entries from the given backend entry are enumerated.
|
|
719
729
|
*
|
|
720
730
|
* The regular expression is applied case-sensitively on the normalized form of
|
|
721
731
|
* the variable name: the section and variable parts are lower-cased. The
|