rugged 1.3.1 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +34 -2
- data/ext/rugged/extconf.rb +6 -3
- data/ext/rugged/rugged.c +16 -0
- data/ext/rugged/rugged.h +4 -0
- data/ext/rugged/rugged_allocator.c +0 -54
- data/ext/rugged/rugged_blame.c +2 -0
- data/ext/rugged/rugged_blob.c +3 -0
- data/ext/rugged/rugged_commit.c +1 -0
- data/ext/rugged/rugged_config.c +9 -2
- data/ext/rugged/rugged_diff.c +1 -0
- data/ext/rugged/rugged_index.c +2 -0
- data/ext/rugged/rugged_patch.c +1 -0
- data/ext/rugged/rugged_rebase.c +1 -0
- data/ext/rugged/rugged_reference.c +1 -0
- data/ext/rugged/rugged_remote.c +28 -10
- data/ext/rugged/rugged_repo.c +7 -9
- data/ext/rugged/rugged_revwalk.c +5 -1
- data/ext/rugged/rugged_settings.c +5 -0
- data/ext/rugged/rugged_submodule.c +1 -0
- data/ext/rugged/rugged_tag.c +1 -0
- data/ext/rugged/rugged_tree.c +4 -0
- data/lib/rugged/index.rb +1 -1
- data/lib/rugged/tree.rb +5 -1
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +1 -0
- data/vendor/libgit2/CMakeLists.txt +141 -289
- data/vendor/libgit2/COPYING +301 -20
- data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
- data/vendor/libgit2/cmake/AddClarTest.cmake +7 -0
- data/vendor/libgit2/cmake/CheckPrototypeDefinitionSafe.cmake +16 -0
- data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
- data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
- data/vendor/libgit2/cmake/ExperimentalFeatures.cmake +23 -0
- data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
- data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
- data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
- data/vendor/libgit2/cmake/FindHTTP_Parser.cmake +17 -17
- data/vendor/libgit2/cmake/FindIntlIconv.cmake +51 -0
- data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
- data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
- data/vendor/libgit2/cmake/FindPCRE.cmake +12 -13
- data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
- data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
- data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
- data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
- data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
- data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
- data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
- data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
- data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
- data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
- data/vendor/libgit2/cmake/SelectHTTPParser.cmake +34 -0
- data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +129 -101
- data/vendor/libgit2/cmake/SelectHashes.cmake +113 -54
- data/vendor/libgit2/cmake/SelectRegex.cmake +56 -0
- data/vendor/libgit2/cmake/SelectSSH.cmake +46 -0
- data/vendor/libgit2/cmake/SelectXdiff.cmake +9 -0
- data/vendor/libgit2/cmake/SelectZlib.cmake +38 -0
- data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
- data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
- data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
- data/vendor/libgit2/deps/llhttp/api.c +510 -0
- data/vendor/libgit2/deps/llhttp/http.c +170 -0
- data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
- data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +33 -31
- data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +7 -5
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +25 -25
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
- data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
- data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +89 -88
- data/vendor/libgit2/deps/pcre/LICENCE +5 -5
- data/vendor/libgit2/deps/pcre/pcre.h +2 -2
- data/vendor/libgit2/deps/pcre/pcre_compile.c +6 -3
- data/vendor/libgit2/deps/pcre/pcre_exec.c +2 -2
- data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
- data/vendor/libgit2/deps/xdiff/CMakeLists.txt +28 -0
- data/vendor/libgit2/deps/xdiff/git-xdiff.h +56 -0
- data/vendor/libgit2/{src → deps}/xdiff/xdiff.h +15 -15
- data/vendor/libgit2/{src → deps}/xdiff/xdiffi.c +152 -125
- data/vendor/libgit2/{src → deps}/xdiff/xdiffi.h +2 -4
- data/vendor/libgit2/{src → deps}/xdiff/xemit.c +26 -10
- data/vendor/libgit2/{src → deps}/xdiff/xhistogram.c +92 -94
- data/vendor/libgit2/{src → deps}/xdiff/xinclude.h +1 -12
- data/vendor/libgit2/{src → deps}/xdiff/xmacros.h +18 -1
- data/vendor/libgit2/{src → deps}/xdiff/xmerge.c +126 -137
- data/vendor/libgit2/{src → deps}/xdiff/xpatience.c +26 -46
- data/vendor/libgit2/{src → deps}/xdiff/xprepare.c +24 -46
- data/vendor/libgit2/{src → deps}/xdiff/xutils.c +36 -8
- data/vendor/libgit2/{src → deps}/xdiff/xutils.h +2 -1
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
- data/vendor/libgit2/deps/zlib/LICENSE +22 -0
- data/vendor/libgit2/deps/zlib/adler32.c +7 -22
- data/vendor/libgit2/deps/zlib/crc32.c +931 -317
- data/vendor/libgit2/deps/zlib/crc32.h +9441 -436
- data/vendor/libgit2/deps/zlib/deflate.c +428 -453
- data/vendor/libgit2/deps/zlib/deflate.h +51 -23
- data/vendor/libgit2/deps/zlib/gzguts.h +15 -19
- data/vendor/libgit2/deps/zlib/infback.c +19 -31
- data/vendor/libgit2/deps/zlib/inffast.c +15 -18
- data/vendor/libgit2/deps/zlib/inffast.h +1 -1
- data/vendor/libgit2/deps/zlib/inflate.c +75 -110
- data/vendor/libgit2/deps/zlib/inflate.h +3 -2
- data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
- data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
- data/vendor/libgit2/deps/zlib/trees.c +294 -380
- data/vendor/libgit2/deps/zlib/zconf.h +23 -14
- data/vendor/libgit2/deps/zlib/zlib.h +310 -284
- data/vendor/libgit2/deps/zlib/zutil.c +20 -46
- data/vendor/libgit2/deps/zlib/zutil.h +24 -41
- data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
- data/vendor/libgit2/include/git2/apply.h +43 -8
- data/vendor/libgit2/include/git2/attr.h +28 -6
- data/vendor/libgit2/include/git2/blame.h +137 -29
- data/vendor/libgit2/include/git2/blob.h +85 -29
- data/vendor/libgit2/include/git2/branch.h +25 -16
- data/vendor/libgit2/include/git2/buffer.h +24 -82
- data/vendor/libgit2/include/git2/cert.h +4 -3
- data/vendor/libgit2/include/git2/checkout.h +88 -34
- data/vendor/libgit2/include/git2/cherrypick.h +10 -3
- data/vendor/libgit2/include/git2/clone.h +28 -12
- data/vendor/libgit2/include/git2/commit.h +134 -3
- data/vendor/libgit2/include/git2/common.h +172 -59
- data/vendor/libgit2/include/git2/config.h +118 -32
- data/vendor/libgit2/include/git2/credential.h +32 -3
- data/vendor/libgit2/include/git2/credential_helpers.h +2 -0
- data/vendor/libgit2/include/git2/deprecated.h +141 -3
- data/vendor/libgit2/include/git2/describe.h +20 -3
- data/vendor/libgit2/include/git2/diff.h +95 -19
- data/vendor/libgit2/include/git2/email.h +10 -30
- data/vendor/libgit2/include/git2/errors.h +51 -61
- data/vendor/libgit2/include/git2/experimental.h +20 -0
- data/vendor/libgit2/include/git2/filter.h +21 -9
- data/vendor/libgit2/include/git2/global.h +8 -1
- data/vendor/libgit2/include/git2/graph.h +4 -2
- data/vendor/libgit2/include/git2/ignore.h +11 -1
- data/vendor/libgit2/include/git2/index.h +111 -11
- data/vendor/libgit2/include/git2/indexer.h +67 -2
- data/vendor/libgit2/include/git2/mailmap.h +7 -1
- data/vendor/libgit2/include/git2/merge.h +70 -5
- data/vendor/libgit2/include/git2/message.h +4 -2
- data/vendor/libgit2/include/git2/net.h +3 -1
- data/vendor/libgit2/include/git2/notes.h +9 -6
- data/vendor/libgit2/include/git2/object.h +57 -7
- data/vendor/libgit2/include/git2/odb.h +156 -33
- data/vendor/libgit2/include/git2/odb_backend.h +132 -16
- data/vendor/libgit2/include/git2/oid.h +116 -17
- data/vendor/libgit2/include/git2/oidarray.h +7 -1
- data/vendor/libgit2/include/git2/pack.h +37 -9
- data/vendor/libgit2/include/git2/patch.h +10 -3
- data/vendor/libgit2/include/git2/pathspec.h +10 -1
- data/vendor/libgit2/include/git2/proxy.h +11 -1
- data/vendor/libgit2/include/git2/rebase.h +18 -7
- data/vendor/libgit2/include/git2/refdb.h +5 -2
- data/vendor/libgit2/include/git2/reflog.h +4 -3
- data/vendor/libgit2/include/git2/refs.h +11 -8
- data/vendor/libgit2/include/git2/refspec.h +14 -4
- data/vendor/libgit2/include/git2/remote.h +295 -54
- data/vendor/libgit2/include/git2/repository.h +95 -25
- data/vendor/libgit2/include/git2/reset.h +18 -5
- data/vendor/libgit2/include/git2/revert.h +9 -4
- data/vendor/libgit2/include/git2/revparse.h +4 -4
- data/vendor/libgit2/include/git2/revwalk.h +7 -3
- data/vendor/libgit2/include/git2/signature.h +47 -2
- data/vendor/libgit2/include/git2/stash.h +78 -10
- data/vendor/libgit2/include/git2/status.h +24 -11
- data/vendor/libgit2/include/git2/stdint.h +87 -85
- data/vendor/libgit2/include/git2/strarray.h +2 -16
- data/vendor/libgit2/include/git2/submodule.h +27 -11
- data/vendor/libgit2/include/git2/sys/alloc.h +12 -34
- data/vendor/libgit2/include/git2/sys/commit.h +77 -3
- data/vendor/libgit2/include/git2/sys/commit_graph.h +110 -59
- data/vendor/libgit2/include/git2/sys/config.h +80 -4
- data/vendor/libgit2/include/git2/sys/credential.h +4 -3
- data/vendor/libgit2/include/git2/sys/diff.h +21 -1
- data/vendor/libgit2/include/git2/sys/email.h +7 -0
- data/vendor/libgit2/include/git2/sys/errors.h +76 -0
- data/vendor/libgit2/include/git2/sys/filter.h +66 -3
- data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
- data/vendor/libgit2/include/git2/sys/index.h +3 -2
- data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
- data/vendor/libgit2/include/git2/sys/merge.h +55 -7
- data/vendor/libgit2/include/git2/sys/midx.h +47 -4
- data/vendor/libgit2/include/git2/sys/odb_backend.h +10 -9
- data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
- data/vendor/libgit2/include/git2/sys/path.h +12 -1
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
- data/vendor/libgit2/include/git2/sys/refs.h +3 -2
- data/vendor/libgit2/include/git2/sys/remote.h +53 -0
- data/vendor/libgit2/include/git2/sys/repository.h +63 -3
- data/vendor/libgit2/include/git2/sys/stream.h +26 -3
- data/vendor/libgit2/include/git2/sys/transport.h +87 -41
- data/vendor/libgit2/include/git2/tag.h +4 -1
- data/vendor/libgit2/include/git2/trace.h +9 -3
- data/vendor/libgit2/include/git2/transaction.h +3 -2
- data/vendor/libgit2/include/git2/transport.h +11 -3
- data/vendor/libgit2/include/git2/tree.h +20 -8
- data/vendor/libgit2/include/git2/types.h +26 -10
- data/vendor/libgit2/include/git2/version.h +63 -6
- data/vendor/libgit2/include/git2/worktree.h +30 -8
- data/vendor/libgit2/include/git2.h +1 -0
- data/vendor/libgit2/src/CMakeLists.txt +203 -420
- data/vendor/libgit2/src/README.md +12 -0
- data/vendor/libgit2/src/cli/CMakeLists.txt +56 -0
- data/vendor/libgit2/src/cli/README.md +26 -0
- data/vendor/libgit2/src/{branch.h → cli/cmd.c} +10 -8
- data/vendor/libgit2/src/cli/cmd.h +37 -0
- data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
- data/vendor/libgit2/src/cli/cmd_cat_file.c +202 -0
- data/vendor/libgit2/src/cli/cmd_clone.c +190 -0
- data/vendor/libgit2/src/cli/cmd_config.c +241 -0
- data/vendor/libgit2/src/cli/cmd_hash_object.c +152 -0
- data/vendor/libgit2/src/cli/cmd_help.c +85 -0
- data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
- data/vendor/libgit2/src/cli/cmd_init.c +102 -0
- data/vendor/libgit2/src/cli/common.c +168 -0
- data/vendor/libgit2/src/cli/common.h +63 -0
- data/vendor/libgit2/src/cli/error.h +51 -0
- data/vendor/libgit2/src/cli/main.c +134 -0
- data/vendor/libgit2/src/cli/opt.c +695 -0
- data/vendor/libgit2/src/cli/opt.h +367 -0
- data/vendor/libgit2/src/cli/opt_usage.c +263 -0
- data/vendor/libgit2/src/cli/opt_usage.h +40 -0
- data/vendor/libgit2/src/cli/progress.c +395 -0
- data/vendor/libgit2/src/cli/progress.h +129 -0
- data/vendor/libgit2/src/cli/sighandler.h +20 -0
- data/vendor/libgit2/src/cli/unix/sighandler.c +37 -0
- data/vendor/libgit2/src/cli/win32/precompiled.h +3 -0
- data/vendor/libgit2/src/cli/win32/sighandler.c +37 -0
- data/vendor/libgit2/src/libgit2/CMakeLists.txt +140 -0
- data/vendor/libgit2/src/{annotated_commit.c → libgit2/annotated_commit.c} +2 -2
- data/vendor/libgit2/src/{annotated_commit.h → libgit2/annotated_commit.h} +2 -2
- data/vendor/libgit2/src/{apply.c → libgit2/apply.c} +32 -34
- data/vendor/libgit2/src/{apply.h → libgit2/apply.h} +2 -2
- data/vendor/libgit2/src/{attr.c → libgit2/attr.c} +48 -31
- data/vendor/libgit2/src/{attr_file.c → libgit2/attr_file.c} +25 -20
- data/vendor/libgit2/src/{attr_file.h → libgit2/attr_file.h} +6 -4
- data/vendor/libgit2/src/{attrcache.c → libgit2/attrcache.c} +87 -46
- data/vendor/libgit2/src/{attrcache.h → libgit2/attrcache.h} +5 -9
- data/vendor/libgit2/src/{blame.c → libgit2/blame.c} +152 -57
- data/vendor/libgit2/src/{blame.h → libgit2/blame.h} +1 -0
- data/vendor/libgit2/src/{blame_git.c → libgit2/blame_git.c} +1 -2
- data/vendor/libgit2/src/{blob.c → libgit2/blob.c} +38 -29
- data/vendor/libgit2/src/{blob.h → libgit2/blob.h} +3 -3
- data/vendor/libgit2/src/{branch.c → libgit2/branch.c} +164 -118
- data/vendor/libgit2/src/libgit2/branch.h +31 -0
- data/vendor/libgit2/src/libgit2/buf.c +126 -0
- data/vendor/libgit2/src/libgit2/buf.h +50 -0
- data/vendor/libgit2/src/{cache.c → libgit2/cache.c} +22 -17
- data/vendor/libgit2/src/{cache.h → libgit2/cache.h} +7 -9
- data/vendor/libgit2/src/{checkout.c → libgit2/checkout.c} +107 -91
- data/vendor/libgit2/src/{checkout.h → libgit2/checkout.h} +0 -2
- data/vendor/libgit2/src/{cherrypick.c → libgit2/cherrypick.c} +14 -15
- data/vendor/libgit2/src/{clone.c → libgit2/clone.c} +254 -203
- data/vendor/libgit2/src/{clone.h → libgit2/clone.h} +4 -1
- data/vendor/libgit2/src/{commit.c → libgit2/commit.c} +296 -77
- data/vendor/libgit2/src/libgit2/commit.h +87 -0
- data/vendor/libgit2/src/{commit_graph.c → libgit2/commit_graph.c} +246 -135
- data/vendor/libgit2/src/{commit_graph.h → libgit2/commit_graph.h} +33 -8
- data/vendor/libgit2/src/{commit_list.c → libgit2/commit_list.c} +17 -7
- data/vendor/libgit2/src/{commit_list.h → libgit2/commit_list.h} +1 -0
- data/vendor/libgit2/src/libgit2/common.h +55 -0
- data/vendor/libgit2/src/{config.c → libgit2/config.c} +490 -360
- data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
- data/vendor/libgit2/src/{config.h → libgit2/config.h} +24 -6
- data/vendor/libgit2/src/{config_backend.h → libgit2/config_backend.h} +8 -10
- data/vendor/libgit2/src/{config_cache.c → libgit2/config_cache.c} +4 -5
- data/vendor/libgit2/src/{config_file.c → libgit2/config_file.c} +212 -183
- data/vendor/libgit2/src/libgit2/config_list.c +285 -0
- data/vendor/libgit2/src/libgit2/config_list.h +32 -0
- data/vendor/libgit2/src/libgit2/config_mem.c +374 -0
- data/vendor/libgit2/src/{config_parse.c → libgit2/config_parse.c} +37 -32
- data/vendor/libgit2/src/{config_snapshot.c → libgit2/config_snapshot.c} +24 -31
- data/vendor/libgit2/src/{crlf.c → libgit2/crlf.c} +24 -21
- data/vendor/libgit2/src/{describe.c → libgit2/describe.c} +62 -51
- data/vendor/libgit2/src/{diff.c → libgit2/diff.c} +44 -14
- data/vendor/libgit2/src/{diff.h → libgit2/diff.h} +8 -10
- data/vendor/libgit2/src/{diff_driver.c → libgit2/diff_driver.c} +46 -55
- data/vendor/libgit2/src/{diff_driver.h → libgit2/diff_driver.h} +5 -5
- data/vendor/libgit2/src/{diff_file.c → libgit2/diff_file.c} +45 -27
- data/vendor/libgit2/src/{diff_generate.c → libgit2/diff_generate.c} +70 -20
- data/vendor/libgit2/src/{diff_generate.h → libgit2/diff_generate.h} +5 -3
- data/vendor/libgit2/src/{diff_parse.c → libgit2/diff_parse.c} +22 -6
- data/vendor/libgit2/src/{diff_print.c → libgit2/diff_print.c} +192 -105
- data/vendor/libgit2/src/{diff_stats.c → libgit2/diff_stats.c} +40 -29
- data/vendor/libgit2/src/libgit2/diff_stats.h +18 -0
- data/vendor/libgit2/src/{diff_tform.c → libgit2/diff_tform.c} +49 -16
- data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +4 -8
- data/vendor/libgit2/src/{diff_xdiff.h → libgit2/diff_xdiff.h} +1 -1
- data/vendor/libgit2/src/{email.c → libgit2/email.c} +58 -40
- data/vendor/libgit2/src/{email.h → libgit2/email.h} +1 -1
- data/vendor/libgit2/src/{transports/ssh.h → libgit2/experimental.h.in} +3 -4
- data/vendor/libgit2/src/{fetch.c → libgit2/fetch.c} +105 -30
- data/vendor/libgit2/src/{fetch.h → libgit2/fetch.h} +1 -3
- data/vendor/libgit2/src/{fetchhead.c → libgit2/fetchhead.c} +30 -28
- data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +132 -58
- data/vendor/libgit2/src/{filter.h → libgit2/filter.h} +26 -5
- data/vendor/libgit2/src/{win32 → libgit2}/git2.rc +3 -3
- data/vendor/libgit2/src/libgit2/grafts.c +270 -0
- data/vendor/libgit2/src/libgit2/grafts.h +35 -0
- data/vendor/libgit2/src/{graph.c → libgit2/graph.c} +1 -1
- data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
- data/vendor/libgit2/src/{ident.c → libgit2/ident.c} +20 -20
- data/vendor/libgit2/src/{ignore.c → libgit2/ignore.c} +44 -39
- data/vendor/libgit2/src/{ignore.h → libgit2/ignore.h} +2 -2
- data/vendor/libgit2/src/{index.c → libgit2/index.c} +460 -276
- data/vendor/libgit2/src/{index.h → libgit2/index.h} +21 -5
- data/vendor/libgit2/src/libgit2/index_map.c +95 -0
- data/vendor/libgit2/src/libgit2/index_map.h +28 -0
- data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +208 -124
- data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +102 -71
- data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +8 -5
- data/vendor/libgit2/src/libgit2/libgit2.c +268 -0
- data/vendor/libgit2/src/{mailmap.c → libgit2/mailmap.c} +39 -37
- data/vendor/libgit2/src/{merge.c → libgit2/merge.c} +83 -73
- data/vendor/libgit2/src/{merge.h → libgit2/merge.h} +1 -14
- data/vendor/libgit2/src/{merge_driver.c → libgit2/merge_driver.c} +4 -4
- data/vendor/libgit2/src/{merge_file.c → libgit2/merge_file.c} +13 -5
- data/vendor/libgit2/src/{message.c → libgit2/message.c} +21 -10
- data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +174 -112
- data/vendor/libgit2/src/{midx.h → libgit2/midx.h} +17 -6
- data/vendor/libgit2/src/{mwindow.c → libgit2/mwindow.c} +53 -57
- data/vendor/libgit2/src/{mwindow.h → libgit2/mwindow.h} +9 -2
- data/vendor/libgit2/src/{notes.c → libgit2/notes.c} +29 -37
- data/vendor/libgit2/src/{object.c → libgit2/object.c} +166 -35
- data/vendor/libgit2/src/{object.h → libgit2/object.h} +17 -2
- data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +261 -88
- data/vendor/libgit2/src/{odb.h → libgit2/odb.h} +44 -5
- data/vendor/libgit2/src/{odb_loose.c → libgit2/odb_loose.c} +192 -134
- data/vendor/libgit2/src/{odb_mempack.c → libgit2/odb_mempack.c} +67 -22
- data/vendor/libgit2/src/{odb_pack.c → libgit2/odb_pack.c} +162 -89
- data/vendor/libgit2/src/{oid.c → libgit2/oid.c} +171 -92
- data/vendor/libgit2/src/libgit2/oid.h +284 -0
- data/vendor/libgit2/src/libgit2/oidarray.c +89 -0
- data/vendor/libgit2/src/{oidarray.h → libgit2/oidarray.h} +5 -1
- data/vendor/libgit2/src/{pack-objects.c → libgit2/pack-objects.c} +126 -66
- data/vendor/libgit2/src/{pack-objects.h → libgit2/pack-objects.h} +28 -12
- data/vendor/libgit2/src/{pack.c → libgit2/pack.c} +146 -111
- data/vendor/libgit2/src/{pack.h → libgit2/pack.h} +45 -25
- data/vendor/libgit2/src/{parse.c → libgit2/parse.c} +8 -4
- data/vendor/libgit2/src/{parse.h → libgit2/parse.h} +1 -1
- data/vendor/libgit2/src/{patch.c → libgit2/patch.c} +3 -3
- data/vendor/libgit2/src/{patch.h → libgit2/patch.h} +8 -1
- data/vendor/libgit2/src/{patch_generate.c → libgit2/patch_generate.c} +51 -16
- data/vendor/libgit2/src/{patch_generate.h → libgit2/patch_generate.h} +5 -5
- data/vendor/libgit2/src/{patch_parse.c → libgit2/patch_parse.c} +42 -34
- data/vendor/libgit2/src/libgit2/path.c +375 -0
- data/vendor/libgit2/src/libgit2/path.h +68 -0
- data/vendor/libgit2/src/{pathspec.c → libgit2/pathspec.c} +7 -7
- data/vendor/libgit2/src/{pathspec.h → libgit2/pathspec.h} +2 -2
- data/vendor/libgit2/src/{proxy.c → libgit2/proxy.c} +4 -1
- data/vendor/libgit2/src/{proxy.h → libgit2/proxy.h} +1 -1
- data/vendor/libgit2/src/{push.c → libgit2/push.c} +116 -60
- data/vendor/libgit2/src/{push.h → libgit2/push.h} +5 -16
- data/vendor/libgit2/src/{reader.c → libgit2/reader.c} +9 -9
- data/vendor/libgit2/src/{reader.h → libgit2/reader.h} +2 -2
- data/vendor/libgit2/src/{rebase.c → libgit2/rebase.c} +147 -147
- data/vendor/libgit2/src/{refdb_fs.c → libgit2/refdb_fs.c} +639 -254
- data/vendor/libgit2/src/{reflog.c → libgit2/reflog.c} +8 -7
- data/vendor/libgit2/src/{reflog.h → libgit2/reflog.h} +3 -2
- data/vendor/libgit2/src/{refs.c → libgit2/refs.c} +67 -39
- data/vendor/libgit2/src/{refs.h → libgit2/refs.h} +8 -3
- data/vendor/libgit2/src/{refspec.c → libgit2/refspec.c} +60 -38
- data/vendor/libgit2/src/{refspec.h → libgit2/refspec.h} +13 -2
- data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +821 -454
- data/vendor/libgit2/src/libgit2/remote.h +101 -0
- data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +1377 -594
- data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +43 -12
- data/vendor/libgit2/src/{reset.c → libgit2/reset.c} +8 -5
- data/vendor/libgit2/src/{revert.c → libgit2/revert.c} +18 -22
- data/vendor/libgit2/src/{revparse.c → libgit2/revparse.c} +76 -44
- data/vendor/libgit2/src/{revwalk.c → libgit2/revwalk.c} +48 -19
- data/vendor/libgit2/src/{revwalk.h → libgit2/revwalk.h} +3 -3
- data/vendor/libgit2/src/{libgit2.c → libgit2/settings.c} +162 -95
- data/vendor/libgit2/src/{settings.h → libgit2/settings.h} +6 -2
- data/vendor/libgit2/src/{signature.c → libgit2/signature.c} +144 -21
- data/vendor/libgit2/src/{signature.h → libgit2/signature.h} +1 -2
- data/vendor/libgit2/src/{stash.c → libgit2/stash.c} +243 -68
- data/vendor/libgit2/src/{status.c → libgit2/status.c} +5 -2
- data/vendor/libgit2/src/{strarray.c → libgit2/strarray.c} +1 -0
- data/vendor/libgit2/src/libgit2/strarray.h +25 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.c +62 -67
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.c +41 -24
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.h +2 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.c +11 -3
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.h +6 -3
- data/vendor/libgit2/src/libgit2/streams/schannel.c +715 -0
- data/vendor/libgit2/src/libgit2/streams/schannel.h +28 -0
- data/vendor/libgit2/src/libgit2/streams/socket.c +428 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/socket.h +3 -1
- data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.c +79 -19
- data/vendor/libgit2/src/{streams → libgit2/streams}/tls.c +5 -0
- data/vendor/libgit2/src/{submodule.c → libgit2/submodule.c} +279 -220
- data/vendor/libgit2/src/{submodule.h → libgit2/submodule.h} +10 -11
- data/vendor/libgit2/src/libgit2/sysdir.c +650 -0
- data/vendor/libgit2/src/{sysdir.h → libgit2/sysdir.h} +55 -18
- data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +74 -43
- data/vendor/libgit2/src/{tag.h → libgit2/tag.h} +2 -2
- data/vendor/libgit2/src/{trace.c → libgit2/trace.c} +1 -14
- data/vendor/libgit2/src/{trace.h → libgit2/trace.h} +5 -22
- data/vendor/libgit2/src/{trailer.c → libgit2/trailer.c} +7 -7
- data/vendor/libgit2/src/{transaction.c → libgit2/transaction.c} +27 -21
- data/vendor/libgit2/src/{transaction.h → libgit2/transaction.h} +4 -1
- data/vendor/libgit2/src/{transport.c → libgit2/transport.c} +14 -11
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth.c +7 -9
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth.h +3 -5
- data/vendor/libgit2/src/{transports/auth_negotiate.c → libgit2/transports/auth_gssapi.c} +44 -45
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.h +1 -1
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.h +1 -2
- data/vendor/libgit2/src/{transports/auth_ntlm.c → libgit2/transports/auth_ntlmclient.c} +22 -22
- data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +341 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/credential.c +1 -1
- data/vendor/libgit2/src/{transports → libgit2/transports}/git.c +16 -19
- data/vendor/libgit2/src/{transports → libgit2/transports}/http.c +49 -24
- data/vendor/libgit2/src/{transports → libgit2/transports}/http.h +0 -11
- data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +188 -134
- data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.h +10 -0
- data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
- data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +159 -127
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +142 -165
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart.h +56 -36
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart_pkt.c +307 -74
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart_protocol.c +297 -97
- data/vendor/libgit2/src/libgit2/transports/ssh.c +85 -0
- data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
- data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
- data/vendor/libgit2/src/{transports/ssh.c → libgit2/transports/ssh_libssh2.c} +414 -268
- data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +101 -75
- data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +30 -20
- data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +7 -5
- data/vendor/libgit2/src/{tree.c → libgit2/tree.c} +128 -110
- data/vendor/libgit2/src/{tree.h → libgit2/tree.h} +7 -6
- data/vendor/libgit2/src/{worktree.c → libgit2/worktree.c} +160 -121
- data/vendor/libgit2/src/{worktree.h → libgit2/worktree.h} +1 -1
- data/vendor/libgit2/src/util/CMakeLists.txt +77 -0
- data/vendor/libgit2/src/{alloc.c → util/alloc.c} +69 -7
- data/vendor/libgit2/src/util/alloc.h +65 -0
- data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
- data/vendor/libgit2/src/util/allocators/debugalloc.h +17 -0
- data/vendor/libgit2/src/util/allocators/failalloc.c +32 -0
- data/vendor/libgit2/src/util/allocators/failalloc.h +17 -0
- data/vendor/libgit2/src/util/allocators/stdalloc.c +37 -0
- data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.h +1 -1
- data/vendor/libgit2/src/util/allocators/win32_leakcheck.c +50 -0
- data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.h +1 -1
- data/vendor/libgit2/src/{array.h → util/array.h} +25 -19
- data/vendor/libgit2/src/{assert_safe.h → util/assert_safe.h} +16 -0
- data/vendor/libgit2/src/{cc-compat.h → util/cc-compat.h} +5 -1
- data/vendor/libgit2/src/util/ctype_compat.h +70 -0
- data/vendor/libgit2/src/{date.c → util/date.c} +35 -33
- data/vendor/libgit2/src/util/date.h +45 -0
- data/vendor/libgit2/src/util/errors.c +401 -0
- data/vendor/libgit2/src/{errors.h → util/errors.h} +22 -19
- data/vendor/libgit2/src/{filebuf.c → util/filebuf.c} +35 -30
- data/vendor/libgit2/src/{filebuf.h → util/filebuf.h} +21 -8
- data/vendor/libgit2/src/{path.c → util/fs_path.c} +591 -615
- data/vendor/libgit2/src/{path.h → util/fs_path.h} +257 -181
- data/vendor/libgit2/src/{futils.c → util/futils.c} +144 -95
- data/vendor/libgit2/src/{futils.h → util/futils.h} +40 -18
- data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +33 -2
- data/vendor/libgit2/src/{common.h → util/git2_util.h} +26 -59
- data/vendor/libgit2/src/util/hash/builtin.c +53 -0
- data/vendor/libgit2/src/{hash/sha1/openssl.h → util/hash/builtin.h} +6 -6
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.c +3 -3
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.h +3 -3
- data/vendor/libgit2/src/util/hash/common_crypto.c +112 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/common_crypto.h +11 -3
- data/vendor/libgit2/src/util/hash/mbedtls.c +92 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/mbedtls.h +14 -4
- data/vendor/libgit2/src/util/hash/openssl.c +347 -0
- data/vendor/libgit2/src/util/hash/openssl.h +61 -0
- data/vendor/libgit2/src/util/hash/rfc6234/sha.h +243 -0
- data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +601 -0
- data/vendor/libgit2/src/util/hash/sha.h +73 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.c +1 -1
- data/vendor/libgit2/src/util/hash/win32.c +549 -0
- data/vendor/libgit2/src/util/hash/win32.h +60 -0
- data/vendor/libgit2/src/util/hash.c +158 -0
- data/vendor/libgit2/src/util/hash.h +61 -0
- data/vendor/libgit2/src/util/hashmap.h +424 -0
- data/vendor/libgit2/src/util/hashmap_str.h +43 -0
- data/vendor/libgit2/src/{integer.h → util/integer.h} +3 -1
- data/vendor/libgit2/src/{map.h → util/map.h} +1 -1
- data/vendor/libgit2/src/util/net.c +1160 -0
- data/vendor/libgit2/src/{net.h → util/net.h} +45 -4
- data/vendor/libgit2/src/{pool.c → util/pool.c} +1 -1
- data/vendor/libgit2/src/{pool.h → util/pool.h} +6 -1
- data/vendor/libgit2/src/{posix.c → util/posix.c} +57 -3
- data/vendor/libgit2/src/{posix.h → util/posix.h} +26 -1
- data/vendor/libgit2/src/{pqueue.h → util/pqueue.h} +3 -3
- data/vendor/libgit2/src/util/process.h +222 -0
- data/vendor/libgit2/src/util/rand.c +230 -0
- data/vendor/libgit2/src/util/rand.h +37 -0
- data/vendor/libgit2/src/{regexp.c → util/regexp.c} +5 -5
- data/vendor/libgit2/src/{regexp.h → util/regexp.h} +1 -1
- data/vendor/libgit2/src/{runtime.c → util/runtime.c} +1 -1
- data/vendor/libgit2/src/{runtime.h → util/runtime.h} +1 -1
- data/vendor/libgit2/src/{sortedcache.c → util/sortedcache.c} +15 -14
- data/vendor/libgit2/src/{sortedcache.h → util/sortedcache.h} +5 -5
- data/vendor/libgit2/src/util/staticstr.h +66 -0
- data/vendor/libgit2/src/{buffer.c → util/str.c} +159 -153
- data/vendor/libgit2/src/util/str.h +357 -0
- data/vendor/libgit2/src/util/strlist.c +108 -0
- data/vendor/libgit2/src/util/strlist.h +36 -0
- data/vendor/libgit2/src/{thread.c → util/thread.c} +1 -1
- data/vendor/libgit2/src/{thread.h → util/thread.h} +23 -22
- data/vendor/libgit2/src/{tsort.c → util/tsort.c} +1 -1
- data/vendor/libgit2/src/{unix → util/unix}/map.c +1 -3
- data/vendor/libgit2/src/{unix → util/unix}/posix.h +1 -6
- data/vendor/libgit2/src/util/unix/process.c +629 -0
- data/vendor/libgit2/src/{unix → util/unix}/realpath.c +24 -8
- data/vendor/libgit2/src/{utf8.c → util/utf8.c} +1 -1
- data/vendor/libgit2/src/{utf8.h → util/utf8.h} +1 -1
- data/vendor/libgit2/src/{util.c → util/util.c} +24 -19
- data/vendor/libgit2/src/{util.h → util/util.h} +30 -81
- data/vendor/libgit2/src/{varint.h → util/varint.h} +1 -1
- data/vendor/libgit2/src/{vector.c → util/vector.c} +3 -3
- data/vendor/libgit2/src/{vector.h → util/vector.h} +4 -4
- data/vendor/libgit2/src/{wildmatch.h → util/wildmatch.h} +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/dir.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/error.c +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/error.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/path_w32.c +148 -17
- data/vendor/libgit2/src/{win32 → util/win32}/path_w32.h +3 -1
- data/vendor/libgit2/src/{win32 → util/win32}/posix.h +1 -2
- data/vendor/libgit2/src/{win32 → util/win32}/posix_w32.c +42 -35
- data/vendor/libgit2/src/util/win32/precompiled.c +1 -0
- data/vendor/libgit2/src/{win32 → util/win32}/precompiled.h +1 -1
- data/vendor/libgit2/src/util/win32/process.c +506 -0
- data/vendor/libgit2/src/{win32 → util/win32}/thread.h +1 -1
- data/vendor/libgit2/src/util/win32/utf-conv.c +144 -0
- data/vendor/libgit2/src/util/win32/utf-conv.h +127 -0
- data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.c +2 -3
- data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.h +3 -4
- data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.c +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_util.c +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_util.h +1 -1
- data/vendor/libgit2/src/{zstream.c → util/zstream.c} +5 -5
- data/vendor/libgit2/src/{zstream.h → util/zstream.h} +5 -5
- metadata +431 -362
- data/vendor/libgit2/cmake/FindIconv.cmake +0 -45
- data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
- data/vendor/libgit2/deps/http-parser/COPYING +0 -23
- data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
- data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
- data/vendor/libgit2/deps/zlib/COPYING +0 -27
- data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
- data/vendor/libgit2/src/alloc.h +0 -40
- data/vendor/libgit2/src/allocators/failalloc.c +0 -92
- data/vendor/libgit2/src/allocators/failalloc.h +0 -23
- data/vendor/libgit2/src/allocators/stdalloc.c +0 -150
- data/vendor/libgit2/src/allocators/win32_leakcheck.c +0 -118
- data/vendor/libgit2/src/buffer.h +0 -374
- data/vendor/libgit2/src/commit.h +0 -46
- data/vendor/libgit2/src/config_entries.c +0 -237
- data/vendor/libgit2/src/config_entries.h +0 -24
- data/vendor/libgit2/src/config_mem.c +0 -220
- data/vendor/libgit2/src/errors.c +0 -238
- data/vendor/libgit2/src/hash/sha1/common_crypto.c +0 -57
- data/vendor/libgit2/src/hash/sha1/generic.c +0 -300
- data/vendor/libgit2/src/hash/sha1/generic.h +0 -19
- data/vendor/libgit2/src/hash/sha1/mbedtls.c +0 -46
- data/vendor/libgit2/src/hash/sha1/openssl.c +0 -59
- data/vendor/libgit2/src/hash/sha1/win32.c +0 -333
- data/vendor/libgit2/src/hash/sha1/win32.h +0 -128
- data/vendor/libgit2/src/hash/sha1.h +0 -38
- data/vendor/libgit2/src/hash.c +0 -110
- data/vendor/libgit2/src/hash.h +0 -46
- data/vendor/libgit2/src/idxmap.c +0 -157
- data/vendor/libgit2/src/idxmap.h +0 -177
- data/vendor/libgit2/src/khash.h +0 -615
- data/vendor/libgit2/src/libgit2.h +0 -15
- data/vendor/libgit2/src/message.h +0 -17
- data/vendor/libgit2/src/net.c +0 -540
- data/vendor/libgit2/src/netops.c +0 -125
- data/vendor/libgit2/src/netops.h +0 -68
- data/vendor/libgit2/src/offmap.c +0 -101
- data/vendor/libgit2/src/offmap.h +0 -133
- data/vendor/libgit2/src/oid.h +0 -51
- data/vendor/libgit2/src/oidarray.c +0 -43
- data/vendor/libgit2/src/oidmap.c +0 -107
- data/vendor/libgit2/src/oidmap.h +0 -128
- data/vendor/libgit2/src/remote.h +0 -55
- data/vendor/libgit2/src/streams/socket.c +0 -239
- data/vendor/libgit2/src/strmap.c +0 -100
- data/vendor/libgit2/src/strmap.h +0 -131
- data/vendor/libgit2/src/sysdir.c +0 -347
- data/vendor/libgit2/src/threadstate.c +0 -84
- data/vendor/libgit2/src/threadstate.h +0 -24
- data/vendor/libgit2/src/win32/findfile.c +0 -230
- data/vendor/libgit2/src/win32/findfile.h +0 -19
- data/vendor/libgit2/src/win32/utf-conv.c +0 -146
- data/vendor/libgit2/src/win32/utf-conv.h +0 -60
- /data/vendor/libgit2/{src → deps}/xdiff/xemit.h +0 -0
- /data/vendor/libgit2/{src → deps}/xdiff/xprepare.h +0 -0
- /data/vendor/libgit2/{src → deps}/xdiff/xtypes.h +0 -0
- /data/vendor/libgit2/src/{win32 → cli/win32}/precompiled.c +0 -0
- /data/vendor/libgit2/src/{attr.h → libgit2/attr.h} +0 -0
- /data/vendor/libgit2/src/{blame_git.h → libgit2/blame_git.h} +0 -0
- /data/vendor/libgit2/src/{config_parse.h → libgit2/config_parse.h} +0 -0
- /data/vendor/libgit2/src/{delta.c → libgit2/delta.c} +0 -0
- /data/vendor/libgit2/src/{delta.h → libgit2/delta.h} +0 -0
- /data/vendor/libgit2/src/{diff_file.h → libgit2/diff_file.h} +0 -0
- /data/vendor/libgit2/src/{diff_parse.h → libgit2/diff_parse.h} +0 -0
- /data/vendor/libgit2/src/{diff_tform.h → libgit2/diff_tform.h} +0 -0
- /data/vendor/libgit2/src/{fetchhead.h → libgit2/fetchhead.h} +0 -0
- /data/vendor/libgit2/src/{hashsig.c → libgit2/hashsig.c} +0 -0
- /data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
- /data/vendor/libgit2/src/{mailmap.h → libgit2/mailmap.h} +0 -0
- /data/vendor/libgit2/src/{merge_driver.h → libgit2/merge_driver.h} +0 -0
- /data/vendor/libgit2/src/{notes.h → libgit2/notes.h} +0 -0
- /data/vendor/libgit2/src/{object_api.c → libgit2/object_api.c} +0 -0
- /data/vendor/libgit2/src/{patch_parse.h → libgit2/patch_parse.h} +0 -0
- /data/vendor/libgit2/src/{refdb.c → libgit2/refdb.c} +0 -0
- /data/vendor/libgit2/src/{refdb.h → libgit2/refdb.h} +0 -0
- /data/vendor/libgit2/src/{repo_template.h → libgit2/repo_template.h} +0 -0
- /data/vendor/libgit2/src/{status.h → libgit2/status.h} +0 -0
- /data/vendor/libgit2/src/{stream.h → libgit2/stream.h} +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.h +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/credential_helpers.c +0 -0
- /data/vendor/libgit2/src/{userdiff.h → libgit2/userdiff.h} +0 -0
- /data/vendor/libgit2/src/{bitvec.h → util/bitvec.h} +0 -0
- /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.h +0 -0
- /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.c +0 -0
- /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.h +0 -0
- /data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
- /data/vendor/libgit2/src/{strnlen.h → util/strnlen.h} +0 -0
- /data/vendor/libgit2/src/{unix → util/unix}/pthread.h +0 -0
- /data/vendor/libgit2/src/{varint.c → util/varint.c} +0 -0
- /data/vendor/libgit2/src/{wildmatch.c → util/wildmatch.c} +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/dir.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/mingw-compat.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/msvc-compat.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/reparse.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/thread.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/version.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/w32_common.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.h +0 -0
@@ -0,0 +1,357 @@
|
|
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_str_h__
|
8
|
+
#define INCLUDE_str_h__
|
9
|
+
|
10
|
+
#include "git2_util.h"
|
11
|
+
|
12
|
+
struct git_str {
|
13
|
+
char *ptr;
|
14
|
+
size_t asize;
|
15
|
+
size_t size;
|
16
|
+
};
|
17
|
+
|
18
|
+
typedef enum {
|
19
|
+
GIT_STR_BOM_NONE = 0,
|
20
|
+
GIT_STR_BOM_UTF8 = 1,
|
21
|
+
GIT_STR_BOM_UTF16_LE = 2,
|
22
|
+
GIT_STR_BOM_UTF16_BE = 3,
|
23
|
+
GIT_STR_BOM_UTF32_LE = 4,
|
24
|
+
GIT_STR_BOM_UTF32_BE = 5
|
25
|
+
} git_str_bom_t;
|
26
|
+
|
27
|
+
typedef struct {
|
28
|
+
git_str_bom_t bom; /* BOM found at head of text */
|
29
|
+
unsigned int nul, cr, lf, crlf; /* NUL, CR, LF and CRLF counts */
|
30
|
+
unsigned int printable, nonprintable; /* These are just approximations! */
|
31
|
+
} git_str_text_stats;
|
32
|
+
|
33
|
+
extern char git_str__initstr[];
|
34
|
+
extern char git_str__oom[];
|
35
|
+
|
36
|
+
/* Use to initialize string buffer structure when git_str is on stack */
|
37
|
+
#define GIT_STR_INIT { git_str__initstr, 0, 0 }
|
38
|
+
|
39
|
+
/**
|
40
|
+
* Static initializer for git_str from static string buffer
|
41
|
+
*/
|
42
|
+
#define GIT_STR_INIT_CONST(str, len) { (char *)(str), 0, (size_t)(len) }
|
43
|
+
|
44
|
+
GIT_INLINE(bool) git_str_is_allocated(const git_str *str)
|
45
|
+
{
|
46
|
+
return (str->ptr != NULL && str->asize > 0);
|
47
|
+
}
|
48
|
+
|
49
|
+
/**
|
50
|
+
* Initialize a git_str structure.
|
51
|
+
*
|
52
|
+
* For the cases where GIT_STR_INIT cannot be used to do static
|
53
|
+
* initialization.
|
54
|
+
*/
|
55
|
+
extern int git_str_init(git_str *str, size_t initial_size);
|
56
|
+
|
57
|
+
extern void git_str_dispose(git_str *str);
|
58
|
+
|
59
|
+
/**
|
60
|
+
* Resize the string buffer allocation to make more space.
|
61
|
+
*
|
62
|
+
* This will attempt to grow the string buffer to accommodate the target
|
63
|
+
* size. The bstring buffer's `ptr` will be replaced with a newly
|
64
|
+
* allocated block of data. Be careful so that memory allocated by the
|
65
|
+
* caller is not lost. As a special variant, if you pass `target_size` as
|
66
|
+
* 0 and the memory is not allocated by libgit2, this will allocate a new
|
67
|
+
* buffer of size `size` and copy the external data into it.
|
68
|
+
*
|
69
|
+
* Currently, this will never shrink a buffer, only expand it.
|
70
|
+
*
|
71
|
+
* If the allocation fails, this will return an error and the buffer will be
|
72
|
+
* marked as invalid for future operations, invaliding the contents.
|
73
|
+
*
|
74
|
+
* @param str The buffer to be resized; may or may not be allocated yet
|
75
|
+
* @param target_size The desired available size
|
76
|
+
* @return 0 on success, -1 on allocation failure
|
77
|
+
*/
|
78
|
+
int git_str_grow(git_str *str, size_t target_size);
|
79
|
+
|
80
|
+
/**
|
81
|
+
* Resize the buffer allocation to make more space.
|
82
|
+
*
|
83
|
+
* This will attempt to grow the string buffer to accommodate the
|
84
|
+
* additional size. It is similar to `git_str_grow`, but performs the
|
85
|
+
* new size calculation, checking for overflow.
|
86
|
+
*
|
87
|
+
* Like `git_str_grow`, if this is a user-supplied string buffer,
|
88
|
+
* this will allocate a new string uffer.
|
89
|
+
*/
|
90
|
+
extern int git_str_grow_by(git_str *str, size_t additional_size);
|
91
|
+
|
92
|
+
/**
|
93
|
+
* Attempt to grow the buffer to hold at least `target_size` bytes.
|
94
|
+
*
|
95
|
+
* If the allocation fails, this will return an error. If `mark_oom` is
|
96
|
+
* true, this will mark the string buffer as invalid for future
|
97
|
+
* operations; if false, existing string buffer content will be preserved,
|
98
|
+
* but calling code must handle that string buffer was not expanded. If
|
99
|
+
* `preserve_external` is true, then any existing data pointed to be
|
100
|
+
* `ptr` even if `asize` is zero will be copied into the newly allocated
|
101
|
+
* string buffer.
|
102
|
+
*/
|
103
|
+
extern int git_str_try_grow(
|
104
|
+
git_str *str, size_t target_size, bool mark_oom);
|
105
|
+
|
106
|
+
extern void git_str_swap(git_str *str_a, git_str *str_b);
|
107
|
+
extern char *git_str_detach(git_str *str);
|
108
|
+
extern int git_str_attach(git_str *str, char *ptr, size_t asize);
|
109
|
+
|
110
|
+
/* Populates a `git_str` where the contents are not "owned" by the string
|
111
|
+
* buffer, and calls to `git_str_dispose` will not free the given str.
|
112
|
+
*/
|
113
|
+
extern void git_str_attach_notowned(
|
114
|
+
git_str *str, const char *ptr, size_t size);
|
115
|
+
|
116
|
+
/**
|
117
|
+
* Test if there have been any reallocation failures with this git_str.
|
118
|
+
*
|
119
|
+
* Any function that writes to a git_str can fail due to memory allocation
|
120
|
+
* issues. If one fails, the git_str will be marked with an OOM error and
|
121
|
+
* further calls to modify the string buffer will fail. Check
|
122
|
+
* git_str_oom() at the end of your sequence and it will be true if you
|
123
|
+
* ran out of memory at any point with that string buffer.
|
124
|
+
*
|
125
|
+
* @return false if no error, true if allocation error
|
126
|
+
*/
|
127
|
+
GIT_INLINE(bool) git_str_oom(const git_str *str)
|
128
|
+
{
|
129
|
+
return (str->ptr == git_str__oom);
|
130
|
+
}
|
131
|
+
|
132
|
+
/*
|
133
|
+
* Functions below that return int value error codes will return 0 on
|
134
|
+
* success or -1 on failure (which generally means an allocation failed).
|
135
|
+
* Using a git_str where the allocation has failed with result in -1 from
|
136
|
+
* all further calls using that string buffer. As a result, you can
|
137
|
+
* ignore the return code of these functions and call them in a series
|
138
|
+
* then just call git_str_oom at the end.
|
139
|
+
*/
|
140
|
+
|
141
|
+
int git_str_set(git_str *str, const void *data, size_t datalen);
|
142
|
+
|
143
|
+
int git_str_sets(git_str *str, const char *string);
|
144
|
+
int git_str_putc(git_str *str, char c);
|
145
|
+
int git_str_putcn(git_str *str, char c, size_t len);
|
146
|
+
int git_str_put(git_str *str, const char *data, size_t len);
|
147
|
+
int git_str_puts(git_str *str, const char *string);
|
148
|
+
int git_str_printf(git_str *str, const char *format, ...) GIT_FORMAT_PRINTF(2, 3);
|
149
|
+
int git_str_vprintf(git_str *str, const char *format, va_list ap);
|
150
|
+
void git_str_clear(git_str *str);
|
151
|
+
void git_str_consume_bytes(git_str *str, size_t len);
|
152
|
+
void git_str_consume(git_str *str, const char *end);
|
153
|
+
void git_str_truncate(git_str *str, size_t len);
|
154
|
+
void git_str_shorten(git_str *str, size_t amount);
|
155
|
+
void git_str_truncate_at_char(git_str *path, char separator);
|
156
|
+
void git_str_rtruncate_at_char(git_str *path, char separator);
|
157
|
+
|
158
|
+
/** General join with separator */
|
159
|
+
int git_str_join_n(git_str *str, char separator, int len, ...);
|
160
|
+
/** Fast join of two strings - first may legally point into `str` data */
|
161
|
+
int git_str_join(git_str *str, char separator, const char *str_a, const char *str_b);
|
162
|
+
/** Fast join of three strings - cannot reference `str` data */
|
163
|
+
int git_str_join3(git_str *str, char separator, const char *str_a, const char *str_b, const char *str_c);
|
164
|
+
|
165
|
+
/**
|
166
|
+
* Join two strings as paths, inserting a slash between as needed.
|
167
|
+
* @return 0 on success, -1 on failure
|
168
|
+
*/
|
169
|
+
GIT_INLINE(int) git_str_joinpath(git_str *str, const char *a, const char *b)
|
170
|
+
{
|
171
|
+
return git_str_join(str, '/', a, b);
|
172
|
+
}
|
173
|
+
|
174
|
+
GIT_INLINE(const char *) git_str_cstr(const git_str *str)
|
175
|
+
{
|
176
|
+
return str->ptr;
|
177
|
+
}
|
178
|
+
|
179
|
+
GIT_INLINE(size_t) git_str_len(const git_str *str)
|
180
|
+
{
|
181
|
+
return str->size;
|
182
|
+
}
|
183
|
+
|
184
|
+
int git_str_copy_cstr(char *data, size_t datasize, const git_str *str);
|
185
|
+
|
186
|
+
#define git_str_PUTS(str, cstr) git_str_put(str, cstr, sizeof(cstr) - 1)
|
187
|
+
|
188
|
+
GIT_INLINE(ssize_t) git_str_rfind_next(const git_str *str, char ch)
|
189
|
+
{
|
190
|
+
ssize_t idx = (ssize_t)str->size - 1;
|
191
|
+
while (idx >= 0 && str->ptr[idx] == ch) idx--;
|
192
|
+
while (idx >= 0 && str->ptr[idx] != ch) idx--;
|
193
|
+
return idx;
|
194
|
+
}
|
195
|
+
|
196
|
+
GIT_INLINE(ssize_t) git_str_rfind(const git_str *str, char ch)
|
197
|
+
{
|
198
|
+
ssize_t idx = (ssize_t)str->size - 1;
|
199
|
+
while (idx >= 0 && str->ptr[idx] != ch) idx--;
|
200
|
+
return idx;
|
201
|
+
}
|
202
|
+
|
203
|
+
GIT_INLINE(ssize_t) git_str_find(const git_str *str, char ch)
|
204
|
+
{
|
205
|
+
void *found = memchr(str->ptr, ch, str->size);
|
206
|
+
return found ? (ssize_t)((const char *)found - str->ptr) : -1;
|
207
|
+
}
|
208
|
+
|
209
|
+
/* Remove whitespace from the end of the string buffer */
|
210
|
+
void git_str_rtrim(git_str *str);
|
211
|
+
|
212
|
+
int git_str_cmp(const git_str *a, const git_str *b);
|
213
|
+
|
214
|
+
/* Quote and unquote a string buffer as specified in
|
215
|
+
* http://marc.info/?l=git&m=112927316408690&w=2
|
216
|
+
*/
|
217
|
+
int git_str_quote(git_str *str);
|
218
|
+
int git_str_unquote(git_str *str);
|
219
|
+
|
220
|
+
/* Write data as a hex string */
|
221
|
+
int git_str_encode_hexstr(git_str *str, const char *data, size_t len);
|
222
|
+
|
223
|
+
/* Write data as base64 encoded in string buffer */
|
224
|
+
int git_str_encode_base64(git_str *str, const char *data, size_t len);
|
225
|
+
/* Decode the given bas64 and write the result to the string buffer */
|
226
|
+
int git_str_decode_base64(git_str *str, const char *base64, size_t len);
|
227
|
+
|
228
|
+
/* Write data as "base85" encoded in string buffer */
|
229
|
+
int git_str_encode_base85(git_str *str, const char *data, size_t len);
|
230
|
+
/* Decode the given "base85" and write the result to the string buffer */
|
231
|
+
int git_str_decode_base85(git_str *str, const char *base64, size_t len, size_t output_len);
|
232
|
+
|
233
|
+
/*
|
234
|
+
* Decode the given percent-encoded string and write the result to the
|
235
|
+
* string buffer.
|
236
|
+
*/
|
237
|
+
int git_str_decode_percent(git_str *str, const char *encoded, size_t len);
|
238
|
+
|
239
|
+
/*
|
240
|
+
* Insert, remove or replace a portion of the string buffer.
|
241
|
+
*
|
242
|
+
* @param str The string buffer to work with
|
243
|
+
*
|
244
|
+
* @param where The location in the string buffer where the transformation
|
245
|
+
* should be applied.
|
246
|
+
*
|
247
|
+
* @param nb_to_remove The number of chars to be removed. 0 to not
|
248
|
+
* remove any character in the string buffer.
|
249
|
+
*
|
250
|
+
* @param data A pointer to the data which should be inserted.
|
251
|
+
*
|
252
|
+
* @param nb_to_insert The number of chars to be inserted. 0 to not
|
253
|
+
* insert any character from the string buffer.
|
254
|
+
*
|
255
|
+
* @return 0 or an error code.
|
256
|
+
*/
|
257
|
+
int git_str_splice(
|
258
|
+
git_str *str,
|
259
|
+
size_t where,
|
260
|
+
size_t nb_to_remove,
|
261
|
+
const char *data,
|
262
|
+
size_t nb_to_insert);
|
263
|
+
|
264
|
+
/**
|
265
|
+
* Append string to string buffer, prefixing each character from
|
266
|
+
* `esc_chars` with `esc_with` string.
|
267
|
+
*
|
268
|
+
* @param str String buffer to append data to
|
269
|
+
* @param string String to escape and append
|
270
|
+
* @param esc_chars Characters to be escaped
|
271
|
+
* @param esc_with String to insert in from of each found character
|
272
|
+
* @return 0 on success, <0 on failure (probably allocation problem)
|
273
|
+
*/
|
274
|
+
extern int git_str_puts_escaped(
|
275
|
+
git_str *str,
|
276
|
+
const char *string,
|
277
|
+
const char *esc_chars,
|
278
|
+
const char *esc_with);
|
279
|
+
|
280
|
+
/**
|
281
|
+
* Append string escaping characters that are regex special
|
282
|
+
*/
|
283
|
+
GIT_INLINE(int) git_str_puts_escape_regex(git_str *str, const char *string)
|
284
|
+
{
|
285
|
+
return git_str_puts_escaped(str, string, "^.[]$()|*+?{}\\", "\\");
|
286
|
+
}
|
287
|
+
|
288
|
+
/**
|
289
|
+
* Unescape all characters in a string buffer in place
|
290
|
+
*
|
291
|
+
* I.e. remove backslashes
|
292
|
+
*/
|
293
|
+
extern void git_str_unescape(git_str *str);
|
294
|
+
|
295
|
+
/**
|
296
|
+
* Replace all \r\n with \n.
|
297
|
+
*
|
298
|
+
* @return 0 on success, -1 on memory error
|
299
|
+
*/
|
300
|
+
extern int git_str_crlf_to_lf(git_str *tgt, const git_str *src);
|
301
|
+
|
302
|
+
/**
|
303
|
+
* Replace all \n with \r\n. Does not modify existing \r\n.
|
304
|
+
*
|
305
|
+
* @return 0 on success, -1 on memory error
|
306
|
+
*/
|
307
|
+
extern int git_str_lf_to_crlf(git_str *tgt, const git_str *src);
|
308
|
+
|
309
|
+
/**
|
310
|
+
* Fill string buffer with the common prefix of a array of strings
|
311
|
+
*
|
312
|
+
* String buffer will be set to empty if there is no common prefix
|
313
|
+
*/
|
314
|
+
extern int git_str_common_prefix(git_str *buf, char *const *const strings, size_t count);
|
315
|
+
|
316
|
+
/**
|
317
|
+
* Check if a string buffer begins with a UTF BOM
|
318
|
+
*
|
319
|
+
* @param bom Set to the type of BOM detected or GIT_BOM_NONE
|
320
|
+
* @param str String buffer in which to check the first bytes for a BOM
|
321
|
+
* @return Number of bytes of BOM data (or 0 if no BOM found)
|
322
|
+
*/
|
323
|
+
extern int git_str_detect_bom(git_str_bom_t *bom, const git_str *str);
|
324
|
+
|
325
|
+
/**
|
326
|
+
* Gather stats for a piece of text
|
327
|
+
*
|
328
|
+
* Fill the `stats` structure with counts of unreadable characters, carriage
|
329
|
+
* returns, etc, so it can be used in heuristics. This automatically skips
|
330
|
+
* a trailing EOF (\032 character). Also it will look for a BOM at the
|
331
|
+
* start of the text and can be told to skip that as well.
|
332
|
+
*
|
333
|
+
* @param stats Structure to be filled in
|
334
|
+
* @param str Text to process
|
335
|
+
* @param skip_bom Exclude leading BOM from stats if true
|
336
|
+
* @return Does the string buffer heuristically look like binary data
|
337
|
+
*/
|
338
|
+
extern bool git_str_gather_text_stats(
|
339
|
+
git_str_text_stats *stats, const git_str *str, bool skip_bom);
|
340
|
+
|
341
|
+
/**
|
342
|
+
* Check quickly if string buffer looks like it contains binary data
|
343
|
+
*
|
344
|
+
* @param str string buffer to check
|
345
|
+
* @return 1 if string buffer looks like non-text data
|
346
|
+
*/
|
347
|
+
int git_str_is_binary(const git_str *str);
|
348
|
+
|
349
|
+
/**
|
350
|
+
* Check quickly if buffer contains a NUL byte
|
351
|
+
*
|
352
|
+
* @param str string buffer to check
|
353
|
+
* @return 1 if string buffer contains a NUL byte
|
354
|
+
*/
|
355
|
+
int git_str_contains_nul(const git_str *str);
|
356
|
+
|
357
|
+
#endif
|
@@ -0,0 +1,108 @@
|
|
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
|
+
|
8
|
+
#include <stdio.h>
|
9
|
+
|
10
|
+
#include "git2_util.h"
|
11
|
+
#include "vector.h"
|
12
|
+
#include "strlist.h"
|
13
|
+
|
14
|
+
int git_strlist_copy(char ***out, const char **in, size_t len)
|
15
|
+
{
|
16
|
+
char **dup;
|
17
|
+
size_t i;
|
18
|
+
|
19
|
+
dup = git__calloc(len, sizeof(char *));
|
20
|
+
GIT_ERROR_CHECK_ALLOC(dup);
|
21
|
+
|
22
|
+
for (i = 0; i < len; i++) {
|
23
|
+
dup[i] = git__strdup(in[i]);
|
24
|
+
GIT_ERROR_CHECK_ALLOC(dup[i]);
|
25
|
+
}
|
26
|
+
|
27
|
+
*out = dup;
|
28
|
+
return 0;
|
29
|
+
}
|
30
|
+
|
31
|
+
int git_strlist_copy_with_null(char ***out, const char **in, size_t len)
|
32
|
+
{
|
33
|
+
char **dup;
|
34
|
+
size_t new_len, i;
|
35
|
+
|
36
|
+
GIT_ERROR_CHECK_ALLOC_ADD(&new_len, len, 1);
|
37
|
+
|
38
|
+
dup = git__calloc(new_len, sizeof(char *));
|
39
|
+
GIT_ERROR_CHECK_ALLOC(dup);
|
40
|
+
|
41
|
+
for (i = 0; i < len; i++) {
|
42
|
+
dup[i] = git__strdup(in[i]);
|
43
|
+
GIT_ERROR_CHECK_ALLOC(dup[i]);
|
44
|
+
}
|
45
|
+
|
46
|
+
*out = dup;
|
47
|
+
return 0;
|
48
|
+
}
|
49
|
+
|
50
|
+
bool git_strlist_contains_prefix(
|
51
|
+
const char **strings,
|
52
|
+
size_t len,
|
53
|
+
const char *str,
|
54
|
+
size_t n)
|
55
|
+
{
|
56
|
+
size_t i;
|
57
|
+
|
58
|
+
for (i = 0; i < len; i++) {
|
59
|
+
if (strncmp(strings[i], str, n) == 0)
|
60
|
+
return true;
|
61
|
+
}
|
62
|
+
|
63
|
+
return false;
|
64
|
+
}
|
65
|
+
|
66
|
+
bool git_strlist_contains_key(
|
67
|
+
const char **strings,
|
68
|
+
size_t len,
|
69
|
+
const char *key,
|
70
|
+
char delimiter)
|
71
|
+
{
|
72
|
+
const char *c;
|
73
|
+
|
74
|
+
for (c = key; *c; c++) {
|
75
|
+
if (*c == delimiter)
|
76
|
+
break;
|
77
|
+
}
|
78
|
+
|
79
|
+
return *c ?
|
80
|
+
git_strlist_contains_prefix(strings, len, key, (c - key)) :
|
81
|
+
false;
|
82
|
+
}
|
83
|
+
|
84
|
+
void git_strlist_free(char **strings, size_t len)
|
85
|
+
{
|
86
|
+
size_t i;
|
87
|
+
|
88
|
+
if (!strings)
|
89
|
+
return;
|
90
|
+
|
91
|
+
for (i = 0; i < len; i++)
|
92
|
+
git__free(strings[i]);
|
93
|
+
|
94
|
+
git__free(strings);
|
95
|
+
}
|
96
|
+
|
97
|
+
void git_strlist_free_with_null(char **strings)
|
98
|
+
{
|
99
|
+
char **s;
|
100
|
+
|
101
|
+
if (!strings)
|
102
|
+
return;
|
103
|
+
|
104
|
+
for (s = strings; *s; s++)
|
105
|
+
git__free(*s);
|
106
|
+
|
107
|
+
git__free(strings);
|
108
|
+
}
|
@@ -0,0 +1,36 @@
|
|
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
|
+
|
8
|
+
#ifndef INCLUDE_runtime_h__
|
9
|
+
#define INCLUDE_runtime_h__
|
10
|
+
|
11
|
+
#include "git2_util.h"
|
12
|
+
|
13
|
+
extern int git_strlist_copy(char ***out, const char **in, size_t len);
|
14
|
+
|
15
|
+
extern int git_strlist_copy_with_null(
|
16
|
+
char ***out,
|
17
|
+
const char **in,
|
18
|
+
size_t len);
|
19
|
+
|
20
|
+
extern bool git_strlist_contains_prefix(
|
21
|
+
const char **strings,
|
22
|
+
size_t len,
|
23
|
+
const char *str,
|
24
|
+
size_t n);
|
25
|
+
|
26
|
+
extern bool git_strlist_contains_key(
|
27
|
+
const char **strings,
|
28
|
+
size_t len,
|
29
|
+
const char *key,
|
30
|
+
char delimiter);
|
31
|
+
|
32
|
+
extern void git_strlist_free(char **strings, size_t len);
|
33
|
+
|
34
|
+
extern void git_strlist_free_with_null(char **strings);
|
35
|
+
|
36
|
+
#endif
|
@@ -12,7 +12,7 @@
|
|
12
12
|
#if defined(__clang__)
|
13
13
|
|
14
14
|
# if (__clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 1))
|
15
|
-
# error Atomic primitives do not exist on this version of clang; configure libgit2 with -
|
15
|
+
# error Atomic primitives do not exist on this version of clang; configure libgit2 with -DUSE_THREADS=OFF
|
16
16
|
# else
|
17
17
|
# define GIT_BUILTIN_ATOMIC
|
18
18
|
# endif
|
@@ -20,7 +20,7 @@
|
|
20
20
|
#elif defined(__GNUC__)
|
21
21
|
|
22
22
|
# if (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 1))
|
23
|
-
# error Atomic primitives do not exist on this version of gcc; configure libgit2 with -
|
23
|
+
# error Atomic primitives do not exist on this version of gcc; configure libgit2 with -DUSE_THREADS=OFF
|
24
24
|
# elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
|
25
25
|
# define GIT_BUILTIN_ATOMIC
|
26
26
|
# else
|
@@ -180,7 +180,7 @@ GIT_INLINE(volatile void *) git_atomic__swap(
|
|
180
180
|
#if defined(GIT_WIN32)
|
181
181
|
return InterlockedExchangePointer(ptr, newval);
|
182
182
|
#elif defined(GIT_BUILTIN_ATOMIC)
|
183
|
-
void *
|
183
|
+
void * foundval = NULL;
|
184
184
|
__atomic_exchange(ptr, &newval, &foundval, __ATOMIC_SEQ_CST);
|
185
185
|
return foundval;
|
186
186
|
#elif defined(GIT_BUILTIN_SYNC)
|
@@ -260,36 +260,37 @@ GIT_INLINE(int64_t) git_atomic64_get(git_atomic64 *a)
|
|
260
260
|
|
261
261
|
#else
|
262
262
|
|
263
|
-
#define git_threads_global_init
|
263
|
+
#define git_threads_global_init git__noop
|
264
264
|
|
265
265
|
#define git_thread unsigned int
|
266
|
-
#define git_thread_create(
|
267
|
-
#define git_thread_join(
|
266
|
+
#define git_thread_create(t, s, a) git__noop(t, s, a)
|
267
|
+
#define git_thread_join(i, s) git__noop_args(i, s)
|
268
268
|
|
269
269
|
/* Pthreads Mutex */
|
270
270
|
#define git_mutex unsigned int
|
271
|
-
#define git_mutex_init(a)
|
272
|
-
#define git_mutex_init(a)
|
273
|
-
#define git_mutex_lock(a)
|
274
|
-
#define git_mutex_unlock(a)
|
275
|
-
#define git_mutex_free(a)
|
271
|
+
#define git_mutex_init(a) git__noop_args(a)
|
272
|
+
#define git_mutex_init(a) git__noop_args(a)
|
273
|
+
#define git_mutex_lock(a) git__noop_args(a)
|
274
|
+
#define git_mutex_unlock(a) git__noop_args(a)
|
275
|
+
#define git_mutex_free(a) git__noop_args(a)
|
276
276
|
|
277
277
|
/* Pthreads condition vars */
|
278
278
|
#define git_cond unsigned int
|
279
|
-
#define git_cond_init(c)
|
280
|
-
#define git_cond_free(c)
|
281
|
-
#define git_cond_wait(c, l)
|
282
|
-
#define git_cond_signal(c)
|
283
|
-
#define git_cond_broadcast(c)
|
279
|
+
#define git_cond_init(c) git__noop_args(c)
|
280
|
+
#define git_cond_free(c) git__noop_args(c)
|
281
|
+
#define git_cond_wait(c, l) git__noop_args(c, l)
|
282
|
+
#define git_cond_signal(c) git__noop_args(c)
|
283
|
+
#define git_cond_broadcast(c) git__noop_args(c)
|
284
284
|
|
285
285
|
/* Pthreads rwlock */
|
286
286
|
#define git_rwlock unsigned int
|
287
|
-
#define git_rwlock_init(a)
|
288
|
-
#define git_rwlock_rdlock(a)
|
289
|
-
#define git_rwlock_rdunlock(a)
|
290
|
-
#define git_rwlock_wrlock(a)
|
291
|
-
#define git_rwlock_wrunlock(a)
|
292
|
-
#define git_rwlock_free(a)
|
287
|
+
#define git_rwlock_init(a) git__noop_args(a)
|
288
|
+
#define git_rwlock_rdlock(a) git__noop_args(a)
|
289
|
+
#define git_rwlock_rdunlock(a) git__noop_args(a)
|
290
|
+
#define git_rwlock_wrlock(a) git__noop_args(a)
|
291
|
+
#define git_rwlock_wrunlock(a) git__noop_args(a)
|
292
|
+
#define git_rwlock_free(a) git__noop_args(a)
|
293
|
+
|
293
294
|
#define GIT_RWLOCK_STATIC_INIT 0
|
294
295
|
|
295
296
|
|
@@ -7,9 +7,7 @@
|
|
7
7
|
#ifndef INCLUDE_unix_posix_h__
|
8
8
|
#define INCLUDE_unix_posix_h__
|
9
9
|
|
10
|
-
#
|
11
|
-
# include "git2/sys/features.h"
|
12
|
-
#endif
|
10
|
+
#include "git2_util.h"
|
13
11
|
|
14
12
|
#include <stdio.h>
|
15
13
|
#include <dirent.h>
|
@@ -56,11 +54,8 @@ GIT_INLINE(int) p_fsync(int fd)
|
|
56
54
|
#define p_send(s,b,l,f) send(s,b,l,f)
|
57
55
|
#define p_inet_pton(a, b, c) inet_pton(a, b, c)
|
58
56
|
|
59
|
-
#define p_strcasecmp(s1, s2) strcasecmp(s1, s2)
|
60
|
-
#define p_strncasecmp(s1, s2, c) strncasecmp(s1, s2, c)
|
61
57
|
#define p_vsnprintf(b, c, f, a) vsnprintf(b, c, f, a)
|
62
58
|
#define p_snprintf snprintf
|
63
|
-
#define p_mkstemp(p) mkstemp(p)
|
64
59
|
#define p_chdir(p) chdir(p)
|
65
60
|
#define p_rmdir(p) rmdir(p)
|
66
61
|
#define p_access(p,m) access(p,m)
|