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
|
@@ -27,7 +27,8 @@ typedef enum {
|
|
|
27
27
|
GIT_EAMBIGUOUS = -5, /**< More than one object matches */
|
|
28
28
|
GIT_EBUFS = -6, /**< Output buffer too short to hold data */
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
/**
|
|
31
|
+
* GIT_EUSER is a special error that is never generated by libgit2
|
|
31
32
|
* code. You can return it from a callback (e.g to stop an iteration)
|
|
32
33
|
* to know that it was generated by the callback and not by libgit2.
|
|
33
34
|
*/
|
|
@@ -51,11 +52,12 @@ typedef enum {
|
|
|
51
52
|
GIT_EDIRECTORY = -23, /**< The operation is not valid for a directory */
|
|
52
53
|
GIT_EMERGECONFLICT = -24, /**< A merge conflict exists and cannot continue */
|
|
53
54
|
|
|
54
|
-
GIT_PASSTHROUGH = -30, /**<
|
|
55
|
+
GIT_PASSTHROUGH = -30, /**< A user-configured callback refused to act */
|
|
55
56
|
GIT_ITEROVER = -31, /**< Signals end of iteration with iterator */
|
|
56
57
|
GIT_RETRY = -32, /**< Internal only */
|
|
57
58
|
GIT_EMISMATCH = -33, /**< Hashsum mismatch in object */
|
|
58
59
|
GIT_EINDEXDIRTY = -34, /**< Unsaved changes in the index would be overwritten */
|
|
60
|
+
GIT_EAPPLYFAIL = -35, /**< Patch application failed */
|
|
59
61
|
} git_error_code;
|
|
60
62
|
|
|
61
63
|
/**
|
|
@@ -71,54 +73,59 @@ typedef struct {
|
|
|
71
73
|
|
|
72
74
|
/** Error classes */
|
|
73
75
|
typedef enum {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
76
|
+
GIT_ERROR_NONE = 0,
|
|
77
|
+
GIT_ERROR_NOMEMORY,
|
|
78
|
+
GIT_ERROR_OS,
|
|
79
|
+
GIT_ERROR_INVALID,
|
|
80
|
+
GIT_ERROR_REFERENCE,
|
|
81
|
+
GIT_ERROR_ZLIB,
|
|
82
|
+
GIT_ERROR_REPOSITORY,
|
|
83
|
+
GIT_ERROR_CONFIG,
|
|
84
|
+
GIT_ERROR_REGEX,
|
|
85
|
+
GIT_ERROR_ODB,
|
|
86
|
+
GIT_ERROR_INDEX,
|
|
87
|
+
GIT_ERROR_OBJECT,
|
|
88
|
+
GIT_ERROR_NET,
|
|
89
|
+
GIT_ERROR_TAG,
|
|
90
|
+
GIT_ERROR_TREE,
|
|
91
|
+
GIT_ERROR_INDEXER,
|
|
92
|
+
GIT_ERROR_SSL,
|
|
93
|
+
GIT_ERROR_SUBMODULE,
|
|
94
|
+
GIT_ERROR_THREAD,
|
|
95
|
+
GIT_ERROR_STASH,
|
|
96
|
+
GIT_ERROR_CHECKOUT,
|
|
97
|
+
GIT_ERROR_FETCHHEAD,
|
|
98
|
+
GIT_ERROR_MERGE,
|
|
99
|
+
GIT_ERROR_SSH,
|
|
100
|
+
GIT_ERROR_FILTER,
|
|
101
|
+
GIT_ERROR_REVERT,
|
|
102
|
+
GIT_ERROR_CALLBACK,
|
|
103
|
+
GIT_ERROR_CHERRYPICK,
|
|
104
|
+
GIT_ERROR_DESCRIBE,
|
|
105
|
+
GIT_ERROR_REBASE,
|
|
106
|
+
GIT_ERROR_FILESYSTEM,
|
|
107
|
+
GIT_ERROR_PATCH,
|
|
108
|
+
GIT_ERROR_WORKTREE,
|
|
109
|
+
GIT_ERROR_SHA1
|
|
108
110
|
} git_error_t;
|
|
109
111
|
|
|
110
112
|
/**
|
|
111
113
|
* Return the last `git_error` object that was generated for the
|
|
112
|
-
* current thread
|
|
114
|
+
* current thread.
|
|
115
|
+
*
|
|
116
|
+
* The default behaviour of this function is to return NULL if no previous error has occurred.
|
|
117
|
+
* However, libgit2's error strings are not cleared aggressively, so a prior
|
|
118
|
+
* (unrelated) error may be returned. This can be avoided by only calling
|
|
119
|
+
* this function if the prior call to a libgit2 API returned an error.
|
|
113
120
|
*
|
|
114
121
|
* @return A git_error object.
|
|
115
122
|
*/
|
|
116
|
-
GIT_EXTERN(const git_error *)
|
|
123
|
+
GIT_EXTERN(const git_error *) git_error_last(void);
|
|
117
124
|
|
|
118
125
|
/**
|
|
119
126
|
* Clear the last library error that occurred for this thread.
|
|
120
127
|
*/
|
|
121
|
-
GIT_EXTERN(void)
|
|
128
|
+
GIT_EXTERN(void) git_error_clear(void);
|
|
122
129
|
|
|
123
130
|
/**
|
|
124
131
|
* Set the error message string for this thread.
|
|
@@ -136,18 +143,18 @@ GIT_EXTERN(void) giterr_clear(void);
|
|
|
136
143
|
* general subsystem that is responsible for the error.
|
|
137
144
|
* @param string The formatted error message to keep
|
|
138
145
|
*/
|
|
139
|
-
GIT_EXTERN(void)
|
|
146
|
+
GIT_EXTERN(void) git_error_set_str(int error_class, const char *string);
|
|
140
147
|
|
|
141
148
|
/**
|
|
142
149
|
* Set the error message to a special value for memory allocation failure.
|
|
143
150
|
*
|
|
144
|
-
* The normal `
|
|
145
|
-
* that is passed in. This is not a good idea when the error in
|
|
146
|
-
* is a memory allocation failure. That circumstance has a
|
|
147
|
-
* function that sets the error string to a known and
|
|
148
|
-
* internal value.
|
|
151
|
+
* The normal `git_error_set_str()` function attempts to `strdup()` the
|
|
152
|
+
* string that is passed in. This is not a good idea when the error in
|
|
153
|
+
* question is a memory allocation failure. That circumstance has a
|
|
154
|
+
* special setter function that sets the error string to a known and
|
|
155
|
+
* statically allocated internal value.
|
|
149
156
|
*/
|
|
150
|
-
GIT_EXTERN(void)
|
|
157
|
+
GIT_EXTERN(void) git_error_set_oom(void);
|
|
151
158
|
|
|
152
159
|
/** @} */
|
|
153
160
|
GIT_END_DECL
|
|
@@ -40,7 +40,15 @@ typedef enum {
|
|
|
40
40
|
*/
|
|
41
41
|
typedef enum {
|
|
42
42
|
GIT_FILTER_DEFAULT = 0u,
|
|
43
|
+
|
|
44
|
+
/** Don't error for `safecrlf` violations, allow them to continue. */
|
|
43
45
|
GIT_FILTER_ALLOW_UNSAFE = (1u << 0),
|
|
46
|
+
|
|
47
|
+
/** Don't load `/etc/gitattributes` (or the system equivalent) */
|
|
48
|
+
GIT_FILTER_NO_SYSTEM_ATTRIBUTES = (1u << 1),
|
|
49
|
+
|
|
50
|
+
/** Load attributes from `.gitattributes` in the root of HEAD */
|
|
51
|
+
GIT_FILTER_ATTRIBUTES_FROM_HEAD = (1u << 2),
|
|
44
52
|
} git_filter_flag_t;
|
|
45
53
|
|
|
46
54
|
/**
|
|
@@ -37,11 +37,11 @@ typedef struct {
|
|
|
37
37
|
* "Documentation/technical/index-format.txt").
|
|
38
38
|
*
|
|
39
39
|
* The `flags` field consists of a number of bit fields which can be
|
|
40
|
-
* accessed via the first set of `
|
|
41
|
-
* flags are all read from and persisted to disk.
|
|
40
|
+
* accessed via the first set of `GIT_INDEX_ENTRY_...` bitmasks below.
|
|
41
|
+
* These flags are all read from and persisted to disk.
|
|
42
42
|
*
|
|
43
43
|
* The `flags_extended` field also has a number of bit fields which can be
|
|
44
|
-
* accessed via the later `
|
|
44
|
+
* accessed via the later `GIT_INDEX_ENTRY_...` bitmasks below. Some of
|
|
45
45
|
* these flags are read from and written to disk, but some are set aside
|
|
46
46
|
* for in-memory only reference.
|
|
47
47
|
*
|
|
@@ -76,24 +76,25 @@ typedef struct git_index_entry {
|
|
|
76
76
|
* value both in memory and on disk. You can use them to interpret the
|
|
77
77
|
* data in the `flags`.
|
|
78
78
|
*/
|
|
79
|
-
|
|
80
|
-
#define
|
|
81
|
-
#define
|
|
79
|
+
|
|
80
|
+
#define GIT_INDEX_ENTRY_NAMEMASK (0x0fff)
|
|
81
|
+
#define GIT_INDEX_ENTRY_STAGEMASK (0x3000)
|
|
82
|
+
#define GIT_INDEX_ENTRY_STAGESHIFT 12
|
|
82
83
|
|
|
83
84
|
/**
|
|
84
85
|
* Flags for index entries
|
|
85
86
|
*/
|
|
86
87
|
typedef enum {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
88
|
+
GIT_INDEX_ENTRY_EXTENDED = (0x4000),
|
|
89
|
+
GIT_INDEX_ENTRY_VALID = (0x8000),
|
|
90
|
+
} git_index_entry_flag_t;
|
|
90
91
|
|
|
91
|
-
#define
|
|
92
|
-
(((E)->flags &
|
|
92
|
+
#define GIT_INDEX_ENTRY_STAGE(E) \
|
|
93
|
+
(((E)->flags & GIT_INDEX_ENTRY_STAGEMASK) >> GIT_INDEX_ENTRY_STAGESHIFT)
|
|
93
94
|
|
|
94
|
-
#define
|
|
95
|
-
(E)->flags = ((E)->flags & ~
|
|
96
|
-
(((S) & 0x03) <<
|
|
95
|
+
#define GIT_INDEX_ENTRY_STAGE_SET(E,S) do { \
|
|
96
|
+
(E)->flags = ((E)->flags & ~GIT_INDEX_ENTRY_STAGEMASK) | \
|
|
97
|
+
(((S) & 0x03) << GIT_INDEX_ENTRY_STAGESHIFT); } while (0)
|
|
97
98
|
|
|
98
99
|
/**
|
|
99
100
|
* Bitmasks for on-disk fields of `git_index_entry`'s `flags_extended`
|
|
@@ -101,7 +102,7 @@ typedef enum {
|
|
|
101
102
|
* In memory, the `flags_extended` fields are divided into two parts: the
|
|
102
103
|
* fields that are read from and written to disk, and other fields that
|
|
103
104
|
* in-memory only and used by libgit2. Only the flags in
|
|
104
|
-
* `
|
|
105
|
+
* `GIT_INDEX_ENTRY_EXTENDED_FLAGS` will get saved on-disk.
|
|
105
106
|
*
|
|
106
107
|
* Thee first three bitmasks match the three fields in the
|
|
107
108
|
* `git_index_entry` `flags_extended` value that belong on disk. You
|
|
@@ -113,37 +114,25 @@ typedef enum {
|
|
|
113
114
|
*
|
|
114
115
|
*/
|
|
115
116
|
typedef enum {
|
|
117
|
+
GIT_INDEX_ENTRY_INTENT_TO_ADD = (1 << 13),
|
|
118
|
+
GIT_INDEX_ENTRY_SKIP_WORKTREE = (1 << 14),
|
|
116
119
|
|
|
117
|
-
|
|
118
|
-
GIT_IDXENTRY_SKIP_WORKTREE = (1 << 14),
|
|
119
|
-
/** Reserved for future extension */
|
|
120
|
-
GIT_IDXENTRY_EXTENDED2 = (1 << 15),
|
|
121
|
-
|
|
122
|
-
GIT_IDXENTRY_EXTENDED_FLAGS = (GIT_IDXENTRY_INTENT_TO_ADD | GIT_IDXENTRY_SKIP_WORKTREE),
|
|
123
|
-
GIT_IDXENTRY_UPDATE = (1 << 0),
|
|
124
|
-
GIT_IDXENTRY_REMOVE = (1 << 1),
|
|
125
|
-
GIT_IDXENTRY_UPTODATE = (1 << 2),
|
|
126
|
-
GIT_IDXENTRY_ADDED = (1 << 3),
|
|
120
|
+
GIT_INDEX_ENTRY_EXTENDED_FLAGS = (GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE),
|
|
127
121
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
GIT_IDXENTRY_WT_REMOVE = (1 << 6), /**< remove in work directory */
|
|
131
|
-
GIT_IDXENTRY_CONFLICTED = (1 << 7),
|
|
132
|
-
|
|
133
|
-
GIT_IDXENTRY_UNPACKED = (1 << 8),
|
|
134
|
-
GIT_IDXENTRY_NEW_SKIP_WORKTREE = (1 << 9),
|
|
135
|
-
} git_idxentry_extended_flag_t;
|
|
122
|
+
GIT_INDEX_ENTRY_UPTODATE = (1 << 2),
|
|
123
|
+
} git_index_entry_extended_flag_t;
|
|
136
124
|
|
|
137
125
|
/** Capabilities of system that affect index actions. */
|
|
138
126
|
typedef enum {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}
|
|
127
|
+
GIT_INDEX_CAPABILITY_IGNORE_CASE = 1,
|
|
128
|
+
GIT_INDEX_CAPABILITY_NO_FILEMODE = 2,
|
|
129
|
+
GIT_INDEX_CAPABILITY_NO_SYMLINKS = 4,
|
|
130
|
+
GIT_INDEX_CAPABILITY_FROM_OWNER = -1,
|
|
131
|
+
} git_index_capability_t;
|
|
132
|
+
|
|
144
133
|
|
|
145
134
|
/** Callback for APIs that add/remove/update files matching pathspec */
|
|
146
|
-
typedef int (
|
|
135
|
+
typedef int GIT_CALLBACK(git_index_matched_path_cb)(
|
|
147
136
|
const char *path, const char *matched_pathspec, void *payload);
|
|
148
137
|
|
|
149
138
|
/** Flags for APIs that add files matching pathspec */
|
|
@@ -154,6 +143,7 @@ typedef enum {
|
|
|
154
143
|
GIT_INDEX_ADD_CHECK_PATHSPEC = (1u << 2),
|
|
155
144
|
} git_index_add_option_t;
|
|
156
145
|
|
|
146
|
+
/** Git index stage states */
|
|
157
147
|
typedef enum {
|
|
158
148
|
/**
|
|
159
149
|
* Match any index stage.
|
|
@@ -176,12 +166,6 @@ typedef enum {
|
|
|
176
166
|
GIT_INDEX_STAGE_THEIRS = 3,
|
|
177
167
|
} git_index_stage_t;
|
|
178
168
|
|
|
179
|
-
/** @name Index File Functions
|
|
180
|
-
*
|
|
181
|
-
* These functions work on the index file itself.
|
|
182
|
-
*/
|
|
183
|
-
/**@{*/
|
|
184
|
-
|
|
185
169
|
/**
|
|
186
170
|
* Create a new bare Git index object as a memory representation
|
|
187
171
|
* of the Git index file in 'index_path', without a repository
|
|
@@ -234,19 +218,19 @@ GIT_EXTERN(git_repository *) git_index_owner(const git_index *index);
|
|
|
234
218
|
* Read index capabilities flags.
|
|
235
219
|
*
|
|
236
220
|
* @param index An existing index object
|
|
237
|
-
* @return A combination of
|
|
221
|
+
* @return A combination of GIT_INDEX_CAPABILITY values
|
|
238
222
|
*/
|
|
239
223
|
GIT_EXTERN(int) git_index_caps(const git_index *index);
|
|
240
224
|
|
|
241
225
|
/**
|
|
242
226
|
* Set index capabilities flags.
|
|
243
227
|
*
|
|
244
|
-
* If you pass `
|
|
228
|
+
* If you pass `GIT_INDEX_CAPABILITY_FROM_OWNER` for the caps, then
|
|
245
229
|
* capabilities will be read from the config of the owner object,
|
|
246
230
|
* looking at `core.ignorecase`, `core.filemode`, `core.symlinks`.
|
|
247
231
|
*
|
|
248
232
|
* @param index An existing index object
|
|
249
|
-
* @param caps A combination of
|
|
233
|
+
* @param caps A combination of GIT_INDEX_CAPABILITY values
|
|
250
234
|
* @return 0 on success, -1 on failure
|
|
251
235
|
*/
|
|
252
236
|
GIT_EXTERN(int) git_index_set_caps(git_index *index, int caps);
|
|
@@ -474,7 +458,7 @@ GIT_EXTERN(int) git_index_add(git_index *index, const git_index_entry *source_en
|
|
|
474
458
|
*
|
|
475
459
|
* This entry is calculated from the entry's flag attribute like this:
|
|
476
460
|
*
|
|
477
|
-
* (entry->flags &
|
|
461
|
+
* (entry->flags & GIT_INDEX_ENTRY_STAGEMASK) >> GIT_INDEX_ENTRY_STAGESHIFT
|
|
478
462
|
*
|
|
479
463
|
* @param entry The entry
|
|
480
464
|
* @return the stage number
|
|
@@ -492,6 +476,46 @@ GIT_EXTERN(int) git_index_entry_is_conflict(const git_index_entry *entry);
|
|
|
492
476
|
|
|
493
477
|
/**@}*/
|
|
494
478
|
|
|
479
|
+
/** @name Index Entry Iteration Functions
|
|
480
|
+
*
|
|
481
|
+
* These functions provide an iterator for index entries.
|
|
482
|
+
*/
|
|
483
|
+
/**@{*/
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* Create an iterator that will return every entry contained in the
|
|
487
|
+
* index at the time of creation. Entries are returned in order,
|
|
488
|
+
* sorted by path. This iterator is backed by a snapshot that allows
|
|
489
|
+
* callers to modify the index while iterating without affecting the
|
|
490
|
+
* iterator.
|
|
491
|
+
*
|
|
492
|
+
* @param iterator_out The newly created iterator
|
|
493
|
+
* @param index The index to iterate
|
|
494
|
+
*/
|
|
495
|
+
GIT_EXTERN(int) git_index_iterator_new(
|
|
496
|
+
git_index_iterator **iterator_out,
|
|
497
|
+
git_index *index);
|
|
498
|
+
|
|
499
|
+
/**
|
|
500
|
+
* Return the next index entry in-order from the iterator.
|
|
501
|
+
*
|
|
502
|
+
* @param out Pointer to store the index entry in
|
|
503
|
+
* @param iterator The iterator
|
|
504
|
+
* @return 0, GIT_ITEROVER on iteration completion or an error code
|
|
505
|
+
*/
|
|
506
|
+
GIT_EXTERN(int) git_index_iterator_next(
|
|
507
|
+
const git_index_entry **out,
|
|
508
|
+
git_index_iterator *iterator);
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* Free the index iterator
|
|
512
|
+
*
|
|
513
|
+
* @param iterator The iterator to free
|
|
514
|
+
*/
|
|
515
|
+
GIT_EXTERN(void) git_index_iterator_free(git_index_iterator *iterator);
|
|
516
|
+
|
|
517
|
+
/**@}*/
|
|
518
|
+
|
|
495
519
|
/** @name Workdir Index Entry Functions
|
|
496
520
|
*
|
|
497
521
|
* These functions work on index entries specifically in the working
|
|
@@ -548,7 +572,7 @@ GIT_EXTERN(int) git_index_add_bypath(git_index *index, const char *path);
|
|
|
548
572
|
* @param len length of the data
|
|
549
573
|
* @return 0 or an error code
|
|
550
574
|
*/
|
|
551
|
-
GIT_EXTERN(int)
|
|
575
|
+
GIT_EXTERN(int) git_index_add_from_buffer(
|
|
552
576
|
git_index *index,
|
|
553
577
|
const git_index_entry *entry,
|
|
554
578
|
const void *buffer, size_t len);
|
|
@@ -805,8 +829,6 @@ GIT_EXTERN(int) git_index_conflict_next(
|
|
|
805
829
|
GIT_EXTERN(void) git_index_conflict_iterator_free(
|
|
806
830
|
git_index_conflict_iterator *iterator);
|
|
807
831
|
|
|
808
|
-
/**@}*/
|
|
809
|
-
|
|
810
832
|
/** @} */
|
|
811
833
|
GIT_END_DECL
|
|
812
834
|
#endif
|
|
@@ -13,8 +13,79 @@
|
|
|
13
13
|
|
|
14
14
|
GIT_BEGIN_DECL
|
|
15
15
|
|
|
16
|
+
/** A git indexer object */
|
|
16
17
|
typedef struct git_indexer git_indexer;
|
|
17
18
|
|
|
19
|
+
/**
|
|
20
|
+
* This structure is used to provide callers information about the
|
|
21
|
+
* progress of indexing a packfile, either directly or part of a
|
|
22
|
+
* fetch or clone that downloads a packfile.
|
|
23
|
+
*/
|
|
24
|
+
typedef struct git_indexer_progress {
|
|
25
|
+
/** number of objects in the packfile being indexed */
|
|
26
|
+
unsigned int total_objects;
|
|
27
|
+
|
|
28
|
+
/** received objects that have been hashed */
|
|
29
|
+
unsigned int indexed_objects;
|
|
30
|
+
|
|
31
|
+
/** received_objects: objects which have been downloaded */
|
|
32
|
+
unsigned int received_objects;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* locally-available objects that have been injected in order
|
|
36
|
+
* to fix a thin pack
|
|
37
|
+
*/
|
|
38
|
+
unsigned int local_objects;
|
|
39
|
+
|
|
40
|
+
/** number of deltas in the packfile being indexed */
|
|
41
|
+
unsigned int total_deltas;
|
|
42
|
+
|
|
43
|
+
/** received deltas that have been indexed */
|
|
44
|
+
unsigned int indexed_deltas;
|
|
45
|
+
|
|
46
|
+
/** size of the packfile received up to now */
|
|
47
|
+
size_t received_bytes;
|
|
48
|
+
} git_indexer_progress;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Type for progress callbacks during indexing. Return a value less
|
|
52
|
+
* than zero to cancel the indexing or download.
|
|
53
|
+
*
|
|
54
|
+
* @param stats Structure containing information about the state of the tran sfer
|
|
55
|
+
* @param payload Payload provided by caller
|
|
56
|
+
*/
|
|
57
|
+
typedef int GIT_CALLBACK(git_indexer_progress_cb)(const git_indexer_progress *stats, void *payload);
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Options for indexer configuration
|
|
61
|
+
*/
|
|
62
|
+
typedef struct git_indexer_options {
|
|
63
|
+
unsigned int version;
|
|
64
|
+
|
|
65
|
+
/** progress_cb function to call with progress information */
|
|
66
|
+
git_indexer_progress_cb progress_cb;
|
|
67
|
+
/** progress_cb_payload payload for the progress callback */
|
|
68
|
+
void *progress_cb_payload;
|
|
69
|
+
|
|
70
|
+
/** Do connectivity checks for the received pack */
|
|
71
|
+
unsigned char verify;
|
|
72
|
+
} git_indexer_options;
|
|
73
|
+
|
|
74
|
+
#define GIT_INDEXER_OPTIONS_VERSION 1
|
|
75
|
+
#define GIT_INDEXER_OPTIONS_INIT { GIT_INDEXER_OPTIONS_VERSION }
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Initializes a `git_indexer_options` with default values. Equivalent to
|
|
79
|
+
* creating an instance with GIT_INDEXER_OPTIONS_INIT.
|
|
80
|
+
*
|
|
81
|
+
* @param opts the `git_indexer_options` struct to initialize.
|
|
82
|
+
* @param version Version of struct; pass `GIT_INDEXER_OPTIONS_VERSION`
|
|
83
|
+
* @return Zero on success; -1 on failure.
|
|
84
|
+
*/
|
|
85
|
+
GIT_EXTERN(int) git_indexer_options_init(
|
|
86
|
+
git_indexer_options *opts,
|
|
87
|
+
unsigned int version);
|
|
88
|
+
|
|
18
89
|
/**
|
|
19
90
|
* Create a new indexer instance
|
|
20
91
|
*
|
|
@@ -24,16 +95,15 @@ typedef struct git_indexer git_indexer;
|
|
|
24
95
|
* @param odb object database from which to read base objects when
|
|
25
96
|
* fixing thin packs. Pass NULL if no thin pack is expected (an error
|
|
26
97
|
* will be returned if there are bases missing)
|
|
27
|
-
* @param
|
|
28
|
-
*
|
|
98
|
+
* @param opts Optional structure containing additional options. See
|
|
99
|
+
* `git_indexer_options` above.
|
|
29
100
|
*/
|
|
30
101
|
GIT_EXTERN(int) git_indexer_new(
|
|
31
102
|
git_indexer **out,
|
|
32
103
|
const char *path,
|
|
33
104
|
unsigned int mode,
|
|
34
105
|
git_odb *odb,
|
|
35
|
-
|
|
36
|
-
void *progress_cb_payload);
|
|
106
|
+
git_indexer_options *opts);
|
|
37
107
|
|
|
38
108
|
/**
|
|
39
109
|
* Add data to the indexer
|
|
@@ -43,7 +113,7 @@ GIT_EXTERN(int) git_indexer_new(
|
|
|
43
113
|
* @param size the size of the data in bytes
|
|
44
114
|
* @param stats stat storage
|
|
45
115
|
*/
|
|
46
|
-
GIT_EXTERN(int) git_indexer_append(git_indexer *idx, const void *data, size_t size,
|
|
116
|
+
GIT_EXTERN(int) git_indexer_append(git_indexer *idx, const void *data, size_t size, git_indexer_progress *stats);
|
|
47
117
|
|
|
48
118
|
/**
|
|
49
119
|
* Finalize the pack and index
|
|
@@ -52,7 +122,7 @@ GIT_EXTERN(int) git_indexer_append(git_indexer *idx, const void *data, size_t si
|
|
|
52
122
|
*
|
|
53
123
|
* @param idx the indexer
|
|
54
124
|
*/
|
|
55
|
-
GIT_EXTERN(int) git_indexer_commit(git_indexer *idx,
|
|
125
|
+
GIT_EXTERN(int) git_indexer_commit(git_indexer *idx, git_indexer_progress *stats);
|
|
56
126
|
|
|
57
127
|
/**
|
|
58
128
|
* Get the packfile's hash
|
|
@@ -57,7 +57,7 @@ typedef struct {
|
|
|
57
57
|
* `GIT_MERGE_FILE_INPUT_VERSION` here.
|
|
58
58
|
* @return Zero on success; -1 on failure.
|
|
59
59
|
*/
|
|
60
|
-
GIT_EXTERN(int)
|
|
60
|
+
GIT_EXTERN(int) git_merge_file_input_init(
|
|
61
61
|
git_merge_file_input *opts,
|
|
62
62
|
unsigned int version);
|
|
63
63
|
|
|
@@ -192,7 +192,7 @@ typedef struct {
|
|
|
192
192
|
git_merge_file_favor_t favor;
|
|
193
193
|
|
|
194
194
|
/** see `git_merge_file_flag_t` above */
|
|
195
|
-
|
|
195
|
+
uint32_t flags;
|
|
196
196
|
|
|
197
197
|
/** The size of conflict markers (eg, "<<<<<<<"). Default is
|
|
198
198
|
* GIT_MERGE_CONFLICT_MARKER_SIZE. */
|
|
@@ -212,9 +212,7 @@ typedef struct {
|
|
|
212
212
|
* @param version The struct version; pass `GIT_MERGE_FILE_OPTIONS_VERSION`.
|
|
213
213
|
* @return Zero on success; -1 on failure.
|
|
214
214
|
*/
|
|
215
|
-
GIT_EXTERN(int)
|
|
216
|
-
git_merge_file_options *opts,
|
|
217
|
-
unsigned int version);
|
|
215
|
+
GIT_EXTERN(int) git_merge_file_options_init(git_merge_file_options *opts, unsigned int version);
|
|
218
216
|
|
|
219
217
|
/**
|
|
220
218
|
* Information about file-level merging
|
|
@@ -249,7 +247,7 @@ typedef struct {
|
|
|
249
247
|
unsigned int version;
|
|
250
248
|
|
|
251
249
|
/** See `git_merge_flag_t` above */
|
|
252
|
-
|
|
250
|
+
uint32_t flags;
|
|
253
251
|
|
|
254
252
|
/**
|
|
255
253
|
* Similarity to consider a file renamed (default 50). If
|
|
@@ -293,7 +291,7 @@ typedef struct {
|
|
|
293
291
|
git_merge_file_favor_t file_favor;
|
|
294
292
|
|
|
295
293
|
/** see `git_merge_file_flag_t` above */
|
|
296
|
-
|
|
294
|
+
uint32_t file_flags;
|
|
297
295
|
} git_merge_options;
|
|
298
296
|
|
|
299
297
|
#define GIT_MERGE_OPTIONS_VERSION 1
|
|
@@ -310,9 +308,7 @@ typedef struct {
|
|
|
310
308
|
* @param version The struct version; pass `GIT_MERGE_OPTIONS_VERSION`.
|
|
311
309
|
* @return Zero on success; -1 on failure.
|
|
312
310
|
*/
|
|
313
|
-
GIT_EXTERN(int)
|
|
314
|
-
git_merge_options *opts,
|
|
315
|
-
unsigned int version);
|
|
311
|
+
GIT_EXTERN(int) git_merge_options_init(git_merge_options *opts, unsigned int version);
|
|
316
312
|
|
|
317
313
|
/**
|
|
318
314
|
* The results of `git_merge_analysis` indicate the merge opportunities.
|
|
@@ -388,6 +384,25 @@ GIT_EXTERN(int) git_merge_analysis(
|
|
|
388
384
|
const git_annotated_commit **their_heads,
|
|
389
385
|
size_t their_heads_len);
|
|
390
386
|
|
|
387
|
+
/**
|
|
388
|
+
* Analyzes the given branch(es) and determines the opportunities for
|
|
389
|
+
* merging them into a reference.
|
|
390
|
+
*
|
|
391
|
+
* @param analysis_out analysis enumeration that the result is written into
|
|
392
|
+
* @param repo the repository to merge
|
|
393
|
+
* @param our_ref the reference to perform the analysis from
|
|
394
|
+
* @param their_heads the heads to merge into
|
|
395
|
+
* @param their_heads_len the number of heads to merge
|
|
396
|
+
* @return 0 on success or error code
|
|
397
|
+
*/
|
|
398
|
+
GIT_EXTERN(int) git_merge_analysis_for_ref(
|
|
399
|
+
git_merge_analysis_t *analysis_out,
|
|
400
|
+
git_merge_preference_t *preference_out,
|
|
401
|
+
git_repository *repo,
|
|
402
|
+
git_reference *our_ref,
|
|
403
|
+
const git_annotated_commit **their_heads,
|
|
404
|
+
size_t their_heads_len);
|
|
405
|
+
|
|
391
406
|
/**
|
|
392
407
|
* Find a merge base between two commits
|
|
393
408
|
*
|
|
@@ -26,7 +26,7 @@ GIT_BEGIN_DECL
|
|
|
26
26
|
* - annotated_object_id: Oid of the git object being annotated
|
|
27
27
|
* - payload: Payload data passed to `git_note_foreach`
|
|
28
28
|
*/
|
|
29
|
-
typedef int (
|
|
29
|
+
typedef int GIT_CALLBACK(git_note_foreach_cb)(
|
|
30
30
|
const git_oid *blob_id, const git_oid *annotated_object_id, void *payload);
|
|
31
31
|
|
|
32
32
|
/**
|