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
@@ -17,6 +17,7 @@
|
|
17
17
|
#include "map.h"
|
18
18
|
#include "mwindow.h"
|
19
19
|
#include "odb.h"
|
20
|
+
#include "oid.h"
|
20
21
|
|
21
22
|
/*
|
22
23
|
* A multi-pack-index file.
|
@@ -40,7 +41,7 @@ typedef struct git_midx_file {
|
|
40
41
|
uint32_t num_objects;
|
41
42
|
|
42
43
|
/* The OID Lookup table. */
|
43
|
-
|
44
|
+
unsigned char *oid_lookup;
|
44
45
|
|
45
46
|
/* The Object Offsets table. Each entry has two 4-byte fields with the pack index and the offset. */
|
46
47
|
const unsigned char *object_offsets;
|
@@ -50,11 +51,17 @@ typedef struct git_midx_file {
|
|
50
51
|
/* The number of entries in the Object Large Offsets table. Each entry has an 8-byte with an offset */
|
51
52
|
size_t num_object_large_offsets;
|
52
53
|
|
53
|
-
/*
|
54
|
-
|
54
|
+
/*
|
55
|
+
* The trailer of the file. Contains the checksum of the whole
|
56
|
+
* file, in the repository's object format hash.
|
57
|
+
*/
|
58
|
+
unsigned char checksum[GIT_HASH_MAX_SIZE];
|
59
|
+
|
60
|
+
/* The type of object IDs in the midx. */
|
61
|
+
git_oid_t oid_type;
|
55
62
|
|
56
63
|
/* something like ".git/objects/pack/multi-pack-index". */
|
57
|
-
|
64
|
+
git_str filename;
|
58
65
|
} git_midx_file;
|
59
66
|
|
60
67
|
/*
|
@@ -77,15 +84,19 @@ struct git_midx_writer {
|
|
77
84
|
* The path of the directory where the .pack/.idx files are stored. The
|
78
85
|
* `multi-pack-index` file will be written to the same directory.
|
79
86
|
*/
|
80
|
-
|
87
|
+
git_str pack_dir;
|
81
88
|
|
82
89
|
/* The list of `git_pack_file`s. */
|
83
90
|
git_vector packs;
|
91
|
+
|
92
|
+
/* The object ID type of the writer. */
|
93
|
+
git_oid_t oid_type;
|
84
94
|
};
|
85
95
|
|
86
96
|
int git_midx_open(
|
87
97
|
git_midx_file **idx_out,
|
88
|
-
const char *path
|
98
|
+
const char *path,
|
99
|
+
git_oid_t oid_type);
|
89
100
|
bool git_midx_needs_refresh(
|
90
101
|
const git_midx_file *idx,
|
91
102
|
const char *path);
|
@@ -11,7 +11,6 @@
|
|
11
11
|
#include "futils.h"
|
12
12
|
#include "map.h"
|
13
13
|
#include "runtime.h"
|
14
|
-
#include "strmap.h"
|
15
14
|
#include "pack.h"
|
16
15
|
|
17
16
|
#define DEFAULT_WINDOW_SIZE \
|
@@ -29,39 +28,36 @@ size_t git_mwindow__window_size = DEFAULT_WINDOW_SIZE;
|
|
29
28
|
size_t git_mwindow__mapped_limit = DEFAULT_MAPPED_LIMIT;
|
30
29
|
size_t git_mwindow__file_limit = DEFAULT_FILE_LIMIT;
|
31
30
|
|
32
|
-
/* Mutex to control access to `git_mwindow__mem_ctl` and `
|
33
|
-
git_mutex
|
31
|
+
/* Mutex to control access to `git_mwindow__mem_ctl` and `git_mwindow__pack_cache`. */
|
32
|
+
git_mutex git_mwindow__mutex;
|
34
33
|
|
35
|
-
/* Whenever you want to read or modify this, grab `
|
34
|
+
/* Whenever you want to read or modify this, grab `git_mwindow__mutex` */
|
36
35
|
git_mwindow_ctl git_mwindow__mem_ctl;
|
37
36
|
|
38
37
|
/* Global list of mwindow files, to open packs once across repos */
|
39
|
-
|
38
|
+
GIT_HASHMAP_STR_FUNCTIONS(git_mwindow_packmap, , struct git_pack_file *);
|
39
|
+
git_mwindow_packmap git_mwindow__pack_cache;
|
40
40
|
|
41
41
|
static void git_mwindow_global_shutdown(void)
|
42
42
|
{
|
43
|
-
|
44
|
-
|
45
|
-
git_mutex_free(&git__mwindow_mutex);
|
46
|
-
|
47
|
-
git__pack_cache = NULL;
|
48
|
-
git_strmap_free(tmp);
|
43
|
+
git_mutex_free(&git_mwindow__mutex);
|
44
|
+
git_mwindow_packmap_dispose(&git_mwindow__pack_cache);
|
49
45
|
}
|
50
46
|
|
51
47
|
int git_mwindow_global_init(void)
|
52
48
|
{
|
53
49
|
int error;
|
54
50
|
|
55
|
-
|
56
|
-
|
57
|
-
if ((error = git_mutex_init(&git__mwindow_mutex)) < 0 ||
|
58
|
-
(error = git_strmap_new(&git__pack_cache)) < 0)
|
51
|
+
if ((error = git_mutex_init(&git_mwindow__mutex)) < 0)
|
59
52
|
return error;
|
60
53
|
|
61
54
|
return git_runtime_shutdown_register(git_mwindow_global_shutdown);
|
62
55
|
}
|
63
56
|
|
64
|
-
int git_mwindow_get_pack(
|
57
|
+
int git_mwindow_get_pack(
|
58
|
+
struct git_pack_file **out,
|
59
|
+
const char *path,
|
60
|
+
git_oid_t oid_type)
|
65
61
|
{
|
66
62
|
struct git_pack_file *pack;
|
67
63
|
char *packname;
|
@@ -70,31 +66,34 @@ int git_mwindow_get_pack(struct git_pack_file **out, const char *path)
|
|
70
66
|
if ((error = git_packfile__name(&packname, path)) < 0)
|
71
67
|
return error;
|
72
68
|
|
73
|
-
if (git_mutex_lock(&
|
69
|
+
if (git_mutex_lock(&git_mwindow__mutex) < 0) {
|
74
70
|
git_error_set(GIT_ERROR_OS, "failed to lock mwindow mutex");
|
75
71
|
return -1;
|
76
72
|
}
|
77
73
|
|
78
|
-
|
74
|
+
error = git_mwindow_packmap_get(&pack, &git_mwindow__pack_cache, packname);
|
79
75
|
git__free(packname);
|
80
76
|
|
81
|
-
if (
|
77
|
+
if (error == 0) {
|
82
78
|
git_atomic32_inc(&pack->refcount);
|
83
|
-
git_mutex_unlock(&
|
79
|
+
git_mutex_unlock(&git_mwindow__mutex);
|
84
80
|
*out = pack;
|
85
81
|
return 0;
|
82
|
+
} else if (error != GIT_ENOTFOUND) {
|
83
|
+
return error;
|
86
84
|
}
|
87
85
|
|
88
86
|
/* If we didn't find it, we need to create it */
|
89
|
-
if ((error = git_packfile_alloc(&pack, path)) < 0) {
|
90
|
-
git_mutex_unlock(&
|
87
|
+
if ((error = git_packfile_alloc(&pack, path, oid_type)) < 0) {
|
88
|
+
git_mutex_unlock(&git_mwindow__mutex);
|
91
89
|
return error;
|
92
90
|
}
|
93
91
|
|
94
92
|
git_atomic32_inc(&pack->refcount);
|
95
93
|
|
96
|
-
error =
|
97
|
-
git_mutex_unlock(&
|
94
|
+
error = git_mwindow_packmap_put(&git_mwindow__pack_cache, pack->pack_name, pack);
|
95
|
+
git_mutex_unlock(&git_mwindow__mutex);
|
96
|
+
|
98
97
|
if (error < 0) {
|
99
98
|
git_packfile_free(pack, false);
|
100
99
|
return error;
|
@@ -109,21 +108,18 @@ int git_mwindow_put_pack(struct git_pack_file *pack)
|
|
109
108
|
int count, error;
|
110
109
|
struct git_pack_file *pack_to_delete = NULL;
|
111
110
|
|
112
|
-
if ((error = git_mutex_lock(&
|
111
|
+
if ((error = git_mutex_lock(&git_mwindow__mutex)) < 0)
|
113
112
|
return error;
|
114
113
|
|
115
|
-
/* put before get would be a corrupted state */
|
116
|
-
GIT_ASSERT(git__pack_cache);
|
117
|
-
|
118
114
|
/* if we cannot find it, the state is corrupted */
|
119
|
-
GIT_ASSERT(
|
115
|
+
GIT_ASSERT(git_mwindow_packmap_contains(&git_mwindow__pack_cache, pack->pack_name));
|
120
116
|
|
121
117
|
count = git_atomic32_dec(&pack->refcount);
|
122
118
|
if (count == 0) {
|
123
|
-
|
119
|
+
git_mwindow_packmap_remove(&git_mwindow__pack_cache, pack->pack_name);
|
124
120
|
pack_to_delete = pack;
|
125
121
|
}
|
126
|
-
git_mutex_unlock(&
|
122
|
+
git_mutex_unlock(&git_mwindow__mutex);
|
127
123
|
git_packfile_free(pack_to_delete, false);
|
128
124
|
|
129
125
|
return 0;
|
@@ -131,7 +127,7 @@ int git_mwindow_put_pack(struct git_pack_file *pack)
|
|
131
127
|
|
132
128
|
/*
|
133
129
|
* Free all the windows in a sequence, typically because we're done
|
134
|
-
* with the file. Needs to hold the
|
130
|
+
* with the file. Needs to hold the git_mwindow__mutex.
|
135
131
|
*/
|
136
132
|
static int git_mwindow_free_all_locked(git_mwindow_file *mwf)
|
137
133
|
{
|
@@ -149,7 +145,7 @@ static int git_mwindow_free_all_locked(git_mwindow_file *mwf)
|
|
149
145
|
}
|
150
146
|
|
151
147
|
if (ctl->windowfiles.length == 0) {
|
152
|
-
|
148
|
+
git_vector_dispose(&ctl->windowfiles);
|
153
149
|
ctl->windowfiles.contents = NULL;
|
154
150
|
}
|
155
151
|
|
@@ -173,26 +169,29 @@ int git_mwindow_free_all(git_mwindow_file *mwf)
|
|
173
169
|
{
|
174
170
|
int error;
|
175
171
|
|
176
|
-
if (git_mutex_lock(&
|
172
|
+
if (git_mutex_lock(&git_mwindow__mutex)) {
|
177
173
|
git_error_set(GIT_ERROR_THREAD, "unable to lock mwindow mutex");
|
178
174
|
return -1;
|
179
175
|
}
|
180
176
|
|
181
177
|
error = git_mwindow_free_all_locked(mwf);
|
182
178
|
|
183
|
-
git_mutex_unlock(&
|
179
|
+
git_mutex_unlock(&git_mwindow__mutex);
|
184
180
|
|
185
181
|
return error;
|
186
182
|
}
|
187
183
|
|
188
184
|
/*
|
189
|
-
* Check if a window 'win' contains the address 'offset'
|
185
|
+
* Check if a window 'win' contains both the address 'offset' and 'extra'.
|
186
|
+
*
|
187
|
+
* 'extra' is the size of the hash we're using as we always want to make sure
|
188
|
+
* that it's contained.
|
190
189
|
*/
|
191
|
-
int git_mwindow_contains(git_mwindow *win, off64_t offset)
|
190
|
+
int git_mwindow_contains(git_mwindow *win, off64_t offset, off64_t extra)
|
192
191
|
{
|
193
192
|
off64_t win_off = win->offset;
|
194
193
|
return win_off <= offset
|
195
|
-
&& offset <= (off64_t)(win_off + win->window_map.len);
|
194
|
+
&& (offset + extra) <= (off64_t)(win_off + win->window_map.len);
|
196
195
|
}
|
197
196
|
|
198
197
|
#define GIT_MWINDOW__LRU -1
|
@@ -237,9 +236,7 @@ static bool git_mwindow_scan_recently_used(
|
|
237
236
|
* store it in the output parameter. If lru_window is NULL,
|
238
237
|
* it's the first loop, so store it as well.
|
239
238
|
*/
|
240
|
-
if (!lru_window ||
|
241
|
-
(comparison_sign == GIT_MWINDOW__LRU && lru_window->last_used > w->last_used) ||
|
242
|
-
(comparison_sign == GIT_MWINDOW__MRU && lru_window->last_used < w->last_used)) {
|
239
|
+
if (!lru_window || (comparison_sign * w->last_used) > lru_window->last_used) {
|
243
240
|
lru_window = w;
|
244
241
|
lru_last = w_last;
|
245
242
|
found = true;
|
@@ -401,19 +398,18 @@ unsigned char *git_mwindow_open(
|
|
401
398
|
git_mwindow_ctl *ctl = &git_mwindow__mem_ctl;
|
402
399
|
git_mwindow *w = *cursor;
|
403
400
|
|
404
|
-
if (git_mutex_lock(&
|
401
|
+
if (git_mutex_lock(&git_mwindow__mutex)) {
|
405
402
|
git_error_set(GIT_ERROR_THREAD, "unable to lock mwindow mutex");
|
406
403
|
return NULL;
|
407
404
|
}
|
408
405
|
|
409
|
-
if (!w || !(git_mwindow_contains(w, offset
|
406
|
+
if (!w || !(git_mwindow_contains(w, offset, extra))) {
|
410
407
|
if (w) {
|
411
408
|
w->inuse_cnt--;
|
412
409
|
}
|
413
410
|
|
414
411
|
for (w = mwf->windows; w; w = w->next) {
|
415
|
-
if (git_mwindow_contains(w, offset)
|
416
|
-
git_mwindow_contains(w, offset + extra))
|
412
|
+
if (git_mwindow_contains(w, offset, extra))
|
417
413
|
break;
|
418
414
|
}
|
419
415
|
|
@@ -424,7 +420,7 @@ unsigned char *git_mwindow_open(
|
|
424
420
|
if (!w) {
|
425
421
|
w = new_window_locked(mwf->fd, mwf->size, offset);
|
426
422
|
if (w == NULL) {
|
427
|
-
git_mutex_unlock(&
|
423
|
+
git_mutex_unlock(&git_mwindow__mutex);
|
428
424
|
return NULL;
|
429
425
|
}
|
430
426
|
w->next = mwf->windows;
|
@@ -444,7 +440,7 @@ unsigned char *git_mwindow_open(
|
|
444
440
|
if (left)
|
445
441
|
*left = (unsigned int)(w->window_map.len - offset);
|
446
442
|
|
447
|
-
git_mutex_unlock(&
|
443
|
+
git_mutex_unlock(&git_mwindow__mutex);
|
448
444
|
return (unsigned char *) w->window_map.data + offset;
|
449
445
|
}
|
450
446
|
|
@@ -456,14 +452,14 @@ int git_mwindow_file_register(git_mwindow_file *mwf)
|
|
456
452
|
size_t i;
|
457
453
|
git_mwindow_file *closed_file = NULL;
|
458
454
|
|
459
|
-
if (git_mutex_lock(&
|
455
|
+
if (git_mutex_lock(&git_mwindow__mutex)) {
|
460
456
|
git_error_set(GIT_ERROR_THREAD, "unable to lock mwindow mutex");
|
461
457
|
return -1;
|
462
458
|
}
|
463
459
|
|
464
460
|
if (ctl->windowfiles.length == 0 &&
|
465
461
|
(error = git_vector_init(&ctl->windowfiles, 8, NULL)) < 0) {
|
466
|
-
git_mutex_unlock(&
|
462
|
+
git_mutex_unlock(&git_mwindow__mutex);
|
467
463
|
goto cleanup;
|
468
464
|
}
|
469
465
|
|
@@ -473,7 +469,7 @@ int git_mwindow_file_register(git_mwindow_file *mwf)
|
|
473
469
|
git_mwindow_find_lru_file_locked(&lru_file) == 0) {
|
474
470
|
if ((error = git_vector_insert(&closed_files, lru_file)) < 0) {
|
475
471
|
/*
|
476
|
-
* Exceeding the file limit seems
|
472
|
+
* Exceeding the file limit seems preferable to being open to
|
477
473
|
* data races that can end up corrupting the heap.
|
478
474
|
*/
|
479
475
|
break;
|
@@ -483,7 +479,7 @@ int git_mwindow_file_register(git_mwindow_file *mwf)
|
|
483
479
|
}
|
484
480
|
|
485
481
|
error = git_vector_insert(&ctl->windowfiles, mwf);
|
486
|
-
git_mutex_unlock(&
|
482
|
+
git_mutex_unlock(&git_mwindow__mutex);
|
487
483
|
if (error < 0)
|
488
484
|
goto cleanup;
|
489
485
|
|
@@ -502,7 +498,7 @@ int git_mwindow_file_register(git_mwindow_file *mwf)
|
|
502
498
|
}
|
503
499
|
|
504
500
|
cleanup:
|
505
|
-
|
501
|
+
git_vector_dispose(&closed_files);
|
506
502
|
return error;
|
507
503
|
}
|
508
504
|
|
@@ -512,30 +508,30 @@ void git_mwindow_file_deregister(git_mwindow_file *mwf)
|
|
512
508
|
git_mwindow_file *cur;
|
513
509
|
size_t i;
|
514
510
|
|
515
|
-
if (git_mutex_lock(&
|
511
|
+
if (git_mutex_lock(&git_mwindow__mutex))
|
516
512
|
return;
|
517
513
|
|
518
514
|
git_vector_foreach(&ctl->windowfiles, i, cur) {
|
519
515
|
if (cur == mwf) {
|
520
516
|
git_vector_remove(&ctl->windowfiles, i);
|
521
|
-
git_mutex_unlock(&
|
517
|
+
git_mutex_unlock(&git_mwindow__mutex);
|
522
518
|
return;
|
523
519
|
}
|
524
520
|
}
|
525
|
-
git_mutex_unlock(&
|
521
|
+
git_mutex_unlock(&git_mwindow__mutex);
|
526
522
|
}
|
527
523
|
|
528
524
|
void git_mwindow_close(git_mwindow **window)
|
529
525
|
{
|
530
526
|
git_mwindow *w = *window;
|
531
527
|
if (w) {
|
532
|
-
if (git_mutex_lock(&
|
528
|
+
if (git_mutex_lock(&git_mwindow__mutex)) {
|
533
529
|
git_error_set(GIT_ERROR_THREAD, "unable to lock mwindow mutex");
|
534
530
|
return;
|
535
531
|
}
|
536
532
|
|
537
533
|
w->inuse_cnt--;
|
538
|
-
git_mutex_unlock(&
|
534
|
+
git_mutex_unlock(&git_mwindow__mutex);
|
539
535
|
*window = NULL;
|
540
536
|
}
|
541
537
|
}
|
@@ -12,6 +12,10 @@
|
|
12
12
|
|
13
13
|
#include "map.h"
|
14
14
|
#include "vector.h"
|
15
|
+
#include "hashmap_str.h"
|
16
|
+
|
17
|
+
GIT_HASHMAP_STR_STRUCT(git_mwindow_packmap, struct git_pack_file *);
|
18
|
+
GIT_HASHMAP_STR_PROTOTYPES(git_mwindow_packmap, struct git_pack_file *);
|
15
19
|
|
16
20
|
typedef struct git_mwindow {
|
17
21
|
struct git_mwindow *next;
|
@@ -38,7 +42,7 @@ typedef struct git_mwindow_ctl {
|
|
38
42
|
git_vector windowfiles;
|
39
43
|
} git_mwindow_ctl;
|
40
44
|
|
41
|
-
int git_mwindow_contains(git_mwindow *win, off64_t offset);
|
45
|
+
int git_mwindow_contains(git_mwindow *win, off64_t offset, off64_t extra);
|
42
46
|
int git_mwindow_free_all(git_mwindow_file *mwf); /* locks */
|
43
47
|
unsigned char *git_mwindow_open(git_mwindow_file *mwf, git_mwindow **cursor, off64_t offset, size_t extra, unsigned int *left);
|
44
48
|
int git_mwindow_file_register(git_mwindow_file *mwf);
|
@@ -48,7 +52,10 @@ void git_mwindow_close(git_mwindow **w_cursor);
|
|
48
52
|
extern int git_mwindow_global_init(void);
|
49
53
|
|
50
54
|
struct git_pack_file; /* just declaration to avoid cyclical includes */
|
51
|
-
int git_mwindow_get_pack(
|
55
|
+
int git_mwindow_get_pack(
|
56
|
+
struct git_pack_file **out,
|
57
|
+
const char *path,
|
58
|
+
git_oid_t oid_type);
|
52
59
|
int git_mwindow_put_pack(struct git_pack_file *pack);
|
53
60
|
|
54
61
|
#endif
|
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
#include "notes.h"
|
9
9
|
|
10
|
-
#include "
|
10
|
+
#include "buf.h"
|
11
11
|
#include "refs.h"
|
12
12
|
#include "config.h"
|
13
13
|
#include "iterator.h"
|
@@ -407,7 +407,7 @@ cleanup:
|
|
407
407
|
return error;
|
408
408
|
}
|
409
409
|
|
410
|
-
static int note_get_default_ref(
|
410
|
+
static int note_get_default_ref(git_str *out, git_repository *repo)
|
411
411
|
{
|
412
412
|
git_config *cfg;
|
413
413
|
int error;
|
@@ -415,25 +415,25 @@ static int note_get_default_ref(git_buf *out, git_repository *repo)
|
|
415
415
|
if ((error = git_repository_config__weakptr(&cfg, repo)) < 0)
|
416
416
|
return error;
|
417
417
|
|
418
|
-
error =
|
418
|
+
error = git_config__get_string_buf(out, cfg, "core.notesref");
|
419
419
|
|
420
420
|
if (error == GIT_ENOTFOUND)
|
421
|
-
error =
|
421
|
+
error = git_str_puts(out, GIT_NOTES_DEFAULT_REF);
|
422
422
|
|
423
423
|
return error;
|
424
424
|
}
|
425
425
|
|
426
|
-
static int normalize_namespace(
|
426
|
+
static int normalize_namespace(git_str *out, git_repository *repo, const char *notes_ref)
|
427
427
|
{
|
428
428
|
if (notes_ref)
|
429
|
-
return
|
429
|
+
return git_str_puts(out, notes_ref);
|
430
430
|
|
431
431
|
return note_get_default_ref(out, repo);
|
432
432
|
}
|
433
433
|
|
434
434
|
static int retrieve_note_commit(
|
435
435
|
git_commit **commit_out,
|
436
|
-
|
436
|
+
git_str *notes_ref_out,
|
437
437
|
git_repository *repo,
|
438
438
|
const char *notes_ref)
|
439
439
|
{
|
@@ -460,7 +460,7 @@ int git_note_commit_read(
|
|
460
460
|
{
|
461
461
|
int error;
|
462
462
|
git_tree *tree = NULL;
|
463
|
-
char target[
|
463
|
+
char target[GIT_OID_MAX_HEXSIZE + 1];
|
464
464
|
|
465
465
|
git_oid_tostr(target, sizeof(target), oid);
|
466
466
|
|
@@ -478,7 +478,7 @@ int git_note_read(git_note **out, git_repository *repo,
|
|
478
478
|
const char *notes_ref_in, const git_oid *oid)
|
479
479
|
{
|
480
480
|
int error;
|
481
|
-
|
481
|
+
git_str notes_ref = GIT_STR_INIT;
|
482
482
|
git_commit *commit = NULL;
|
483
483
|
|
484
484
|
error = retrieve_note_commit(&commit, ¬es_ref, repo, notes_ref_in);
|
@@ -489,7 +489,7 @@ int git_note_read(git_note **out, git_repository *repo,
|
|
489
489
|
error = git_note_commit_read(out, repo, commit, oid);
|
490
490
|
|
491
491
|
cleanup:
|
492
|
-
|
492
|
+
git_str_dispose(¬es_ref);
|
493
493
|
git_commit_free(commit);
|
494
494
|
return error;
|
495
495
|
}
|
@@ -507,7 +507,7 @@ int git_note_commit_create(
|
|
507
507
|
{
|
508
508
|
int error;
|
509
509
|
git_tree *tree = NULL;
|
510
|
-
char target[
|
510
|
+
char target[GIT_OID_MAX_HEXSIZE + 1];
|
511
511
|
|
512
512
|
git_oid_tostr(target, sizeof(target), oid);
|
513
513
|
|
@@ -536,7 +536,7 @@ int git_note_create(
|
|
536
536
|
int allow_note_overwrite)
|
537
537
|
{
|
538
538
|
int error;
|
539
|
-
|
539
|
+
git_str notes_ref = GIT_STR_INIT;
|
540
540
|
git_commit *existing_notes_commit = NULL;
|
541
541
|
git_reference *ref = NULL;
|
542
542
|
git_oid notes_blob_oid, notes_commit_oid;
|
@@ -562,7 +562,7 @@ int git_note_create(
|
|
562
562
|
git_oid_cpy(out, ¬es_blob_oid);
|
563
563
|
|
564
564
|
cleanup:
|
565
|
-
|
565
|
+
git_str_dispose(¬es_ref);
|
566
566
|
git_commit_free(existing_notes_commit);
|
567
567
|
git_reference_free(ref);
|
568
568
|
return error;
|
@@ -578,7 +578,7 @@ int git_note_commit_remove(
|
|
578
578
|
{
|
579
579
|
int error;
|
580
580
|
git_tree *tree = NULL;
|
581
|
-
char target[
|
581
|
+
char target[GIT_OID_MAX_HEXSIZE + 1];
|
582
582
|
|
583
583
|
git_oid_tostr(target, sizeof(target), oid);
|
584
584
|
|
@@ -598,7 +598,7 @@ int git_note_remove(git_repository *repo, const char *notes_ref_in,
|
|
598
598
|
const git_oid *oid)
|
599
599
|
{
|
600
600
|
int error;
|
601
|
-
|
601
|
+
git_str notes_ref_target = GIT_STR_INIT;
|
602
602
|
git_commit *existing_notes_commit = NULL;
|
603
603
|
git_oid new_notes_commit;
|
604
604
|
git_reference *notes_ref = NULL;
|
@@ -618,7 +618,7 @@ int git_note_remove(git_repository *repo, const char *notes_ref_in,
|
|
618
618
|
&new_notes_commit, 1, NULL);
|
619
619
|
|
620
620
|
cleanup:
|
621
|
-
|
621
|
+
git_str_dispose(¬es_ref_target);
|
622
622
|
git_reference_free(notes_ref);
|
623
623
|
git_commit_free(existing_notes_commit);
|
624
624
|
return error;
|
@@ -626,16 +626,7 @@ cleanup:
|
|
626
626
|
|
627
627
|
int git_note_default_ref(git_buf *out, git_repository *repo)
|
628
628
|
{
|
629
|
-
|
630
|
-
|
631
|
-
GIT_ASSERT_ARG(out);
|
632
|
-
GIT_ASSERT_ARG(repo);
|
633
|
-
|
634
|
-
if ((error = git_buf_sanitize(out)) < 0 ||
|
635
|
-
(error = note_get_default_ref(out, repo)) < 0)
|
636
|
-
git_buf_dispose(out);
|
637
|
-
|
638
|
-
return error;
|
629
|
+
GIT_BUF_WRAP_PRIVATE(out, note_get_default_ref, repo);
|
639
630
|
}
|
640
631
|
|
641
632
|
const git_signature *git_note_committer(const git_note *note)
|
@@ -674,17 +665,18 @@ void git_note_free(git_note *note)
|
|
674
665
|
}
|
675
666
|
|
676
667
|
static int process_entry_path(
|
677
|
-
|
678
|
-
|
668
|
+
git_oid *annotated_object_id,
|
669
|
+
git_note_iterator *it,
|
670
|
+
const char *entry_path)
|
679
671
|
{
|
680
672
|
int error = 0;
|
681
673
|
size_t i = 0, j = 0, len;
|
682
|
-
|
674
|
+
git_str buf = GIT_STR_INIT;
|
683
675
|
|
684
|
-
if ((error =
|
676
|
+
if ((error = git_str_puts(&buf, entry_path)) < 0)
|
685
677
|
goto cleanup;
|
686
678
|
|
687
|
-
len =
|
679
|
+
len = git_str_len(&buf);
|
688
680
|
|
689
681
|
while (i < len) {
|
690
682
|
if (buf.ptr[i] == '/') {
|
@@ -707,15 +699,15 @@ static int process_entry_path(
|
|
707
699
|
buf.ptr[j] = '\0';
|
708
700
|
buf.size = j;
|
709
701
|
|
710
|
-
if (j !=
|
702
|
+
if (j != git_oid_hexsize(it->repo->oid_type)) {
|
711
703
|
/* This is not a note entry */
|
712
704
|
goto cleanup;
|
713
705
|
}
|
714
706
|
|
715
|
-
error =
|
707
|
+
error = git_oid__fromstr(annotated_object_id, buf.ptr, it->repo->oid_type);
|
716
708
|
|
717
709
|
cleanup:
|
718
|
-
|
710
|
+
git_str_dispose(&buf);
|
719
711
|
return error;
|
720
712
|
}
|
721
713
|
|
@@ -780,7 +772,7 @@ int git_note_iterator_new(
|
|
780
772
|
{
|
781
773
|
int error;
|
782
774
|
git_commit *commit = NULL;
|
783
|
-
|
775
|
+
git_str notes_ref = GIT_STR_INIT;
|
784
776
|
|
785
777
|
error = retrieve_note_commit(&commit, ¬es_ref, repo, notes_ref_in);
|
786
778
|
if (error < 0)
|
@@ -789,7 +781,7 @@ int git_note_iterator_new(
|
|
789
781
|
error = git_note_commit_iterator_new(it, commit);
|
790
782
|
|
791
783
|
cleanup:
|
792
|
-
|
784
|
+
git_str_dispose(¬es_ref);
|
793
785
|
git_commit_free(commit);
|
794
786
|
|
795
787
|
return error;
|
@@ -808,7 +800,7 @@ int git_note_next(
|
|
808
800
|
|
809
801
|
git_oid_cpy(note_id, &item->id);
|
810
802
|
|
811
|
-
if ((error = process_entry_path(item->path
|
803
|
+
if ((error = process_entry_path(annotated_id, it, item->path)) < 0)
|
812
804
|
return error;
|
813
805
|
|
814
806
|
if ((error = git_iterator_advance(NULL, it)) < 0 && error != GIT_ITEROVER)
|