rugged 1.3.2 → 1.6.2
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 +7 -4
- data/ext/rugged/rugged.c +16 -0
- data/ext/rugged/rugged.h +4 -0
- 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/CMakeLists.txt +132 -288
- data/vendor/libgit2/COPYING +106 -19
- data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
- data/vendor/libgit2/cmake/AddClarTest.cmake +7 -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 → FindHTTPParser.cmake} +17 -17
- data/vendor/libgit2/cmake/FindIconv.cmake +27 -27
- 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 +19 -0
- data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +100 -100
- data/vendor/libgit2/cmake/SelectHashes.cmake +91 -53
- data/vendor/libgit2/cmake/SelectRegex.cmake +51 -0
- data/vendor/libgit2/cmake/SelectSSH.cmake +41 -0
- data/vendor/libgit2/cmake/SelectWinHTTP.cmake +17 -0
- data/vendor/libgit2/cmake/SelectZlib.cmake +34 -0
- data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +33 -31
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +3 -1
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +4 -4
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +88 -88
- data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
- data/vendor/libgit2/deps/zlib/adler32.c +7 -0
- data/vendor/libgit2/deps/zlib/crc32.c +975 -288
- data/vendor/libgit2/deps/zlib/crc32.h +9441 -436
- data/vendor/libgit2/deps/zlib/deflate.c +83 -31
- data/vendor/libgit2/deps/zlib/deflate.h +12 -15
- data/vendor/libgit2/deps/zlib/gzguts.h +3 -2
- data/vendor/libgit2/deps/zlib/infback.c +2 -1
- data/vendor/libgit2/deps/zlib/inffast.c +14 -14
- data/vendor/libgit2/deps/zlib/inflate.c +39 -8
- data/vendor/libgit2/deps/zlib/inflate.h +3 -2
- data/vendor/libgit2/deps/zlib/inftrees.c +3 -3
- data/vendor/libgit2/deps/zlib/trees.c +27 -48
- data/vendor/libgit2/deps/zlib/zlib.h +126 -100
- data/vendor/libgit2/deps/zlib/zutil.c +2 -2
- data/vendor/libgit2/deps/zlib/zutil.h +12 -9
- data/vendor/libgit2/include/git2/apply.h +16 -2
- data/vendor/libgit2/include/git2/attr.h +11 -2
- data/vendor/libgit2/include/git2/blame.h +4 -1
- data/vendor/libgit2/include/git2/blob.h +14 -1
- data/vendor/libgit2/include/git2/branch.h +4 -2
- data/vendor/libgit2/include/git2/buffer.h +18 -78
- data/vendor/libgit2/include/git2/cert.h +2 -2
- data/vendor/libgit2/include/git2/checkout.h +5 -2
- data/vendor/libgit2/include/git2/clone.h +3 -3
- data/vendor/libgit2/include/git2/commit.h +2 -0
- data/vendor/libgit2/include/git2/common.h +28 -7
- data/vendor/libgit2/include/git2/config.h +25 -9
- data/vendor/libgit2/include/git2/credential.h +2 -1
- data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
- data/vendor/libgit2/include/git2/deprecated.h +9 -1
- data/vendor/libgit2/include/git2/describe.h +7 -2
- data/vendor/libgit2/include/git2/diff.h +18 -10
- data/vendor/libgit2/include/git2/email.h +1 -1
- data/vendor/libgit2/include/git2/errors.h +17 -3
- data/vendor/libgit2/include/git2/experimental.h +20 -0
- data/vendor/libgit2/include/git2/filter.h +7 -2
- data/vendor/libgit2/include/git2/graph.h +1 -0
- data/vendor/libgit2/include/git2/ignore.h +1 -1
- data/vendor/libgit2/include/git2/index.h +11 -5
- data/vendor/libgit2/include/git2/indexer.h +48 -0
- data/vendor/libgit2/include/git2/merge.h +24 -4
- data/vendor/libgit2/include/git2/message.h +2 -0
- data/vendor/libgit2/include/git2/object.h +49 -0
- data/vendor/libgit2/include/git2/odb.h +94 -13
- data/vendor/libgit2/include/git2/odb_backend.h +107 -19
- data/vendor/libgit2/include/git2/oid.h +115 -15
- data/vendor/libgit2/include/git2/pack.h +24 -8
- data/vendor/libgit2/include/git2/patch.h +8 -0
- data/vendor/libgit2/include/git2/pathspec.h +1 -1
- data/vendor/libgit2/include/git2/proxy.h +1 -1
- data/vendor/libgit2/include/git2/rebase.h +9 -1
- data/vendor/libgit2/include/git2/refdb.h +3 -0
- data/vendor/libgit2/include/git2/reflog.h +1 -1
- data/vendor/libgit2/include/git2/refs.h +2 -2
- data/vendor/libgit2/include/git2/remote.h +184 -37
- data/vendor/libgit2/include/git2/repository.h +34 -10
- data/vendor/libgit2/include/git2/reset.h +2 -2
- data/vendor/libgit2/include/git2/revparse.h +1 -1
- data/vendor/libgit2/include/git2/revwalk.h +4 -1
- data/vendor/libgit2/include/git2/signature.h +1 -1
- data/vendor/libgit2/include/git2/stash.h +61 -7
- data/vendor/libgit2/include/git2/status.h +14 -5
- data/vendor/libgit2/include/git2/strarray.h +0 -13
- data/vendor/libgit2/include/git2/submodule.h +7 -2
- data/vendor/libgit2/include/git2/sys/commit_graph.h +1 -1
- data/vendor/libgit2/include/git2/sys/odb_backend.h +3 -6
- data/vendor/libgit2/include/git2/sys/remote.h +46 -0
- data/vendor/libgit2/include/git2/sys/stream.h +1 -1
- data/vendor/libgit2/include/git2/sys/transport.h +46 -39
- data/vendor/libgit2/include/git2/tag.h +1 -0
- data/vendor/libgit2/include/git2/tree.h +4 -3
- data/vendor/libgit2/include/git2/types.h +7 -7
- data/vendor/libgit2/include/git2/version.h +27 -6
- data/vendor/libgit2/include/git2/worktree.h +12 -2
- data/vendor/libgit2/include/git2.h +1 -0
- data/vendor/libgit2/src/CMakeLists.txt +177 -419
- data/vendor/libgit2/src/README.md +12 -0
- data/vendor/libgit2/src/cli/CMakeLists.txt +57 -0
- data/vendor/libgit2/src/cli/README.md +26 -0
- data/vendor/libgit2/src/cli/cli.h +20 -0
- data/vendor/libgit2/src/cli/cmd.c +21 -0
- data/vendor/libgit2/src/cli/cmd.h +33 -0
- data/vendor/libgit2/src/cli/cmd_cat_file.c +204 -0
- data/vendor/libgit2/src/cli/cmd_clone.c +176 -0
- data/vendor/libgit2/src/cli/cmd_hash_object.c +154 -0
- data/vendor/libgit2/src/cli/cmd_help.c +86 -0
- data/vendor/libgit2/src/cli/error.h +51 -0
- data/vendor/libgit2/src/cli/main.c +106 -0
- data/vendor/libgit2/src/cli/opt.c +669 -0
- data/vendor/libgit2/src/cli/opt.h +349 -0
- data/vendor/libgit2/src/cli/opt_usage.c +194 -0
- data/vendor/libgit2/src/cli/opt_usage.h +35 -0
- data/vendor/libgit2/src/cli/progress.c +345 -0
- data/vendor/libgit2/src/cli/progress.h +117 -0
- data/vendor/libgit2/src/cli/sighandler.h +20 -0
- data/vendor/libgit2/src/cli/unix/sighandler.c +36 -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 +141 -0
- data/vendor/libgit2/src/{annotated_commit.c → libgit2/annotated_commit.c} +1 -1
- data/vendor/libgit2/src/{annotated_commit.h → libgit2/annotated_commit.h} +2 -2
- data/vendor/libgit2/src/{apply.c → libgit2/apply.c} +18 -18
- data/vendor/libgit2/src/{apply.h → libgit2/apply.h} +2 -2
- data/vendor/libgit2/src/{attr.c → libgit2/attr.c} +18 -18
- data/vendor/libgit2/src/{attr_file.c → libgit2/attr_file.c} +18 -18
- data/vendor/libgit2/src/{attr_file.h → libgit2/attr_file.h} +4 -4
- data/vendor/libgit2/src/{attrcache.c → libgit2/attrcache.c} +18 -13
- data/vendor/libgit2/src/{blame.c → libgit2/blame.c} +2 -0
- data/vendor/libgit2/src/{blame_git.c → libgit2/blame_git.c} +1 -1
- 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/{branch.h → libgit2/branch.h} +15 -3
- data/vendor/libgit2/src/libgit2/buf.c +126 -0
- data/vendor/libgit2/src/libgit2/buf.h +50 -0
- data/vendor/libgit2/src/{checkout.c → libgit2/checkout.c} +74 -68
- data/vendor/libgit2/src/{cherrypick.c → libgit2/cherrypick.c} +13 -13
- data/vendor/libgit2/src/{clone.c → libgit2/clone.c} +96 -67
- data/vendor/libgit2/src/{commit.c → libgit2/commit.c} +178 -73
- data/vendor/libgit2/src/libgit2/commit.h +87 -0
- data/vendor/libgit2/src/{commit_graph.c → libgit2/commit_graph.c} +122 -89
- data/vendor/libgit2/src/{commit_graph.h → libgit2/commit_graph.h} +14 -4
- data/vendor/libgit2/src/{commit_list.c → libgit2/commit_list.c} +7 -4
- data/vendor/libgit2/src/libgit2/common.h +55 -0
- data/vendor/libgit2/src/{config.c → libgit2/config.c} +101 -69
- data/vendor/libgit2/src/{config.h → libgit2/config.h} +15 -2
- data/vendor/libgit2/src/{config_file.c → libgit2/config_file.c} +105 -93
- data/vendor/libgit2/src/{config_mem.c → libgit2/config_mem.c} +9 -9
- data/vendor/libgit2/src/{config_parse.c → libgit2/config_parse.c} +27 -23
- data/vendor/libgit2/src/{crlf.c → libgit2/crlf.c} +24 -21
- data/vendor/libgit2/src/{describe.c → libgit2/describe.c} +35 -27
- data/vendor/libgit2/src/{diff.c → libgit2/diff.c} +30 -9
- data/vendor/libgit2/src/{diff.h → libgit2/diff.h} +2 -4
- data/vendor/libgit2/src/{diff_driver.c → libgit2/diff_driver.c} +34 -36
- data/vendor/libgit2/src/{diff_driver.h → libgit2/diff_driver.h} +3 -3
- data/vendor/libgit2/src/{diff_file.c → libgit2/diff_file.c} +44 -26
- data/vendor/libgit2/src/{diff_generate.c → libgit2/diff_generate.c} +47 -18
- data/vendor/libgit2/src/{diff_generate.h → libgit2/diff_generate.h} +5 -3
- data/vendor/libgit2/src/{diff_print.c → libgit2/diff_print.c} +112 -100
- 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} +13 -8
- data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +4 -8
- data/vendor/libgit2/src/{email.c → libgit2/email.c} +55 -39
- data/vendor/libgit2/src/{email.h → libgit2/email.h} +1 -1
- data/vendor/libgit2/src/{errors.c → libgit2/errors.c} +18 -18
- data/vendor/libgit2/src/{errors.h → libgit2/errors.h} +1 -2
- data/vendor/libgit2/src/libgit2/experimental.h.in +13 -0
- data/vendor/libgit2/src/{fetch.c → libgit2/fetch.c} +72 -27
- data/vendor/libgit2/src/{fetch.h → libgit2/fetch.h} +1 -1
- data/vendor/libgit2/src/{fetchhead.c → libgit2/fetchhead.c} +23 -23
- data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +127 -53
- data/vendor/libgit2/src/{filter.h → libgit2/filter.h} +26 -5
- data/vendor/libgit2/src/{ident.c → libgit2/ident.c} +20 -20
- data/vendor/libgit2/src/{ignore.c → libgit2/ignore.c} +35 -34
- data/vendor/libgit2/src/{ignore.h → libgit2/ignore.h} +2 -2
- data/vendor/libgit2/src/{index.c → libgit2/index.c} +91 -90
- data/vendor/libgit2/src/{index.h → libgit2/index.h} +6 -3
- data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +173 -92
- data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +71 -61
- data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +5 -5
- data/vendor/libgit2/src/{libgit2.c → libgit2/libgit2.c} +46 -11
- data/vendor/libgit2/src/{mailmap.c → libgit2/mailmap.c} +38 -36
- data/vendor/libgit2/src/{merge.c → libgit2/merge.c} +30 -30
- data/vendor/libgit2/src/{merge.h → libgit2/merge.h} +1 -14
- data/vendor/libgit2/src/{merge_driver.c → libgit2/merge_driver.c} +2 -2
- data/vendor/libgit2/src/{merge_file.c → libgit2/merge_file.c} +13 -3
- data/vendor/libgit2/src/{message.c → libgit2/message.c} +21 -10
- data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +112 -92
- data/vendor/libgit2/src/{midx.h → libgit2/midx.h} +5 -4
- data/vendor/libgit2/src/{mwindow.c → libgit2/mwindow.c} +15 -12
- data/vendor/libgit2/src/{mwindow.h → libgit2/mwindow.h} +5 -2
- data/vendor/libgit2/src/{netops.c → libgit2/netops.c} +1 -2
- data/vendor/libgit2/src/{netops.h → libgit2/netops.h} +1 -1
- data/vendor/libgit2/src/{notes.c → libgit2/notes.c} +25 -34
- data/vendor/libgit2/src/{object.c → libgit2/object.c} +135 -30
- data/vendor/libgit2/src/{object.h → libgit2/object.h} +12 -3
- data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +228 -81
- 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} +18 -5
- data/vendor/libgit2/src/{odb_pack.c → libgit2/odb_pack.c} +137 -85
- data/vendor/libgit2/src/{oid.c → libgit2/oid.c} +136 -90
- data/vendor/libgit2/src/libgit2/oid.h +273 -0
- data/vendor/libgit2/src/{oidmap.c → libgit2/oidmap.c} +1 -1
- data/vendor/libgit2/src/{pack-objects.c → libgit2/pack-objects.c} +56 -30
- data/vendor/libgit2/src/{pack-objects.h → libgit2/pack-objects.h} +11 -6
- data/vendor/libgit2/src/{pack.c → libgit2/pack.c} +114 -84
- data/vendor/libgit2/src/{pack.h → libgit2/pack.h} +31 -16
- data/vendor/libgit2/src/{parse.c → libgit2/parse.c} +4 -3
- data/vendor/libgit2/src/{patch.c → libgit2/patch.c} +3 -3
- data/vendor/libgit2/src/{patch.h → libgit2/patch.h} +1 -0
- data/vendor/libgit2/src/{patch_generate.c → libgit2/patch_generate.c} +27 -11
- data/vendor/libgit2/src/{patch_generate.h → libgit2/patch_generate.h} +5 -5
- data/vendor/libgit2/src/{patch_parse.c → libgit2/patch_parse.c} +29 -29
- 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} +6 -6
- 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} +43 -38
- data/vendor/libgit2/src/{push.h → libgit2/push.h} +4 -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} +119 -107
- data/vendor/libgit2/src/{refdb_fs.c → libgit2/refdb_fs.c} +506 -197
- data/vendor/libgit2/src/{reflog.c → libgit2/reflog.c} +7 -5
- data/vendor/libgit2/src/{reflog.h → libgit2/reflog.h} +1 -2
- data/vendor/libgit2/src/{refs.c → libgit2/refs.c} +34 -32
- data/vendor/libgit2/src/{refs.h → libgit2/refs.h} +2 -2
- data/vendor/libgit2/src/{refspec.c → libgit2/refspec.c} +32 -37
- data/vendor/libgit2/src/{refspec.h → libgit2/refspec.h} +5 -2
- data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +718 -420
- data/vendor/libgit2/src/libgit2/remote.h +100 -0
- data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +629 -386
- data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +20 -9
- data/vendor/libgit2/src/{reset.c → libgit2/reset.c} +8 -5
- data/vendor/libgit2/src/{revert.c → libgit2/revert.c} +14 -14
- data/vendor/libgit2/src/{revparse.c → libgit2/revparse.c} +71 -42
- data/vendor/libgit2/src/{revwalk.c → libgit2/revwalk.c} +12 -8
- data/vendor/libgit2/src/{signature.c → libgit2/signature.c} +12 -6
- data/vendor/libgit2/src/{signature.h → libgit2/signature.h} +1 -1
- data/vendor/libgit2/src/{stash.c → libgit2/stash.c} +235 -61
- data/vendor/libgit2/src/{status.c → libgit2/status.c} +4 -1
- 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 +8 -6
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.c +1 -1
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.c +7 -3
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.h +3 -3
- data/vendor/libgit2/src/{streams → libgit2/streams}/socket.c +4 -1
- data/vendor/libgit2/src/{submodule.c → libgit2/submodule.c} +177 -161
- data/vendor/libgit2/src/{submodule.h → libgit2/submodule.h} +1 -1
- data/vendor/libgit2/src/libgit2/sysdir.c +650 -0
- data/vendor/libgit2/src/{sysdir.h → libgit2/sysdir.h} +53 -18
- data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +73 -42
- data/vendor/libgit2/src/{tag.h → libgit2/tag.h} +2 -2
- data/vendor/libgit2/src/{threadstate.c → libgit2/threadstate.c} +3 -3
- data/vendor/libgit2/src/{threadstate.h → libgit2/threadstate.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} +1 -1
- data/vendor/libgit2/src/{transaction.c → libgit2/transaction.c} +1 -1
- data/vendor/libgit2/src/{transport.c → libgit2/transport.c} +10 -10
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth.c +7 -9
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth.h +2 -3
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.c +12 -13
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.c +10 -10
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.h +0 -1
- data/vendor/libgit2/src/{transports → libgit2/transports}/git.c +9 -11
- data/vendor/libgit2/src/{transports → libgit2/transports}/http.c +41 -20
- data/vendor/libgit2/src/{transports → libgit2/transports}/http.h +2 -3
- data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +75 -66
- data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.h +10 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +138 -116
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +92 -133
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart.h +35 -32
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart_pkt.c +177 -65
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart_protocol.c +97 -49
- data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.c +365 -198
- data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +58 -59
- data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +8 -8
- data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +2 -2
- data/vendor/libgit2/src/{tree.c → libgit2/tree.c} +93 -83
- data/vendor/libgit2/src/{tree.h → libgit2/tree.h} +4 -4
- data/vendor/libgit2/src/{worktree.c → libgit2/worktree.c} +121 -94
- data/vendor/libgit2/src/{worktree.h → libgit2/worktree.h} +1 -1
- data/vendor/libgit2/src/libgit2/xdiff/git-xdiff.h +53 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiff.h +15 -15
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.c +134 -108
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.c +23 -7
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xhistogram.c +87 -78
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xinclude.h +1 -12
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmerge.c +104 -117
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xpatience.c +6 -17
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xprepare.c +15 -20
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xutils.c +18 -7
- data/vendor/libgit2/src/util/CMakeLists.txt +80 -0
- data/vendor/libgit2/src/{allocators → util/allocators}/failalloc.h +1 -1
- data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.h +1 -1
- data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.h +1 -1
- data/vendor/libgit2/src/{array.h → util/array.h} +1 -1
- data/vendor/libgit2/src/{assert_safe.h → util/assert_safe.h} +16 -0
- data/vendor/libgit2/src/{cc-compat.h → util/cc-compat.h} +1 -1
- data/vendor/libgit2/src/{date.c → util/date.c} +14 -20
- data/vendor/libgit2/src/util/date.h +33 -0
- data/vendor/libgit2/src/{filebuf.c → util/filebuf.c} +29 -29
- data/vendor/libgit2/src/{filebuf.h → util/filebuf.h} +2 -2
- data/vendor/libgit2/src/{path.c → util/fs_path.c} +453 -647
- data/vendor/libgit2/src/{path.h → util/fs_path.h} +221 -188
- data/vendor/libgit2/src/{futils.c → util/futils.c} +135 -90
- data/vendor/libgit2/src/{futils.h → util/futils.h} +28 -15
- data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +15 -1
- data/vendor/libgit2/src/{common.h → util/git2_util.h} +20 -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 +195 -0
- data/vendor/libgit2/src/util/hash/openssl.h +45 -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 +70 -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/{khash.h → util/khash.h} +1 -1
- data/vendor/libgit2/src/{map.h → util/map.h} +1 -1
- data/vendor/libgit2/src/util/net.c +1003 -0
- data/vendor/libgit2/src/{net.h → util/net.h} +18 -4
- data/vendor/libgit2/src/{pool.h → util/pool.h} +1 -1
- data/vendor/libgit2/src/{posix.c → util/posix.c} +3 -3
- data/vendor/libgit2/src/{posix.h → util/posix.h} +4 -1
- data/vendor/libgit2/src/{pqueue.h → util/pqueue.h} +2 -2
- data/vendor/libgit2/src/util/rand.c +234 -0
- data/vendor/libgit2/src/util/rand.h +37 -0
- data/vendor/libgit2/src/{regexp.c → util/regexp.c} +4 -4
- 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} +1 -1
- data/vendor/libgit2/src/{sortedcache.h → util/sortedcache.h} +2 -2
- data/vendor/libgit2/src/{buffer.c → util/str.c} +157 -151
- data/vendor/libgit2/src/util/str.h +357 -0
- data/vendor/libgit2/src/{strmap.h → util/strmap.h} +1 -1
- 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 -4
- data/vendor/libgit2/src/{unix → util/unix}/realpath.c +1 -3
- 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} +15 -15
- data/vendor/libgit2/src/{util.h → util/util.h} +4 -29
- data/vendor/libgit2/src/{varint.h → util/varint.h} +1 -1
- data/vendor/libgit2/src/{vector.h → util/vector.h} +2 -2
- 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.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/path_w32.c +140 -9
- 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 +12 -28
- 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/{win32 → util/win32}/thread.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/utf-conv.h +1 -1
- 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.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 +402 -356
- data/vendor/libgit2/src/buffer.h +0 -374
- data/vendor/libgit2/src/commit.h +0 -46
- 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/message.h +0 -17
- data/vendor/libgit2/src/net.c +0 -540
- data/vendor/libgit2/src/oid.h +0 -51
- data/vendor/libgit2/src/remote.h +0 -55
- data/vendor/libgit2/src/sysdir.c +0 -347
- data/vendor/libgit2/src/win32/findfile.c +0 -230
- data/vendor/libgit2/src/win32/findfile.h +0 -19
- /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/{attrcache.h → libgit2/attrcache.h} +0 -0
- /data/vendor/libgit2/src/{blame.h → libgit2/blame.h} +0 -0
- /data/vendor/libgit2/src/{blame_git.h → libgit2/blame_git.h} +0 -0
- /data/vendor/libgit2/src/{cache.c → libgit2/cache.c} +0 -0
- /data/vendor/libgit2/src/{cache.h → libgit2/cache.h} +0 -0
- /data/vendor/libgit2/src/{checkout.h → libgit2/checkout.h} +0 -0
- /data/vendor/libgit2/src/{clone.h → libgit2/clone.h} +0 -0
- /data/vendor/libgit2/src/{commit_list.h → libgit2/commit_list.h} +0 -0
- /data/vendor/libgit2/src/{config_backend.h → libgit2/config_backend.h} +0 -0
- /data/vendor/libgit2/src/{config_cache.c → libgit2/config_cache.c} +0 -0
- /data/vendor/libgit2/src/{config_entries.c → libgit2/config_entries.c} +0 -0
- /data/vendor/libgit2/src/{config_entries.h → libgit2/config_entries.h} +0 -0
- /data/vendor/libgit2/src/{config_parse.h → libgit2/config_parse.h} +0 -0
- /data/vendor/libgit2/src/{config_snapshot.c → libgit2/config_snapshot.c} +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.c → libgit2/diff_parse.c} +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/{diff_xdiff.h → libgit2/diff_xdiff.h} +0 -0
- /data/vendor/libgit2/src/{fetchhead.h → libgit2/fetchhead.h} +0 -0
- /data/vendor/libgit2/src/{win32 → libgit2}/git2.rc +0 -0
- /data/vendor/libgit2/src/{graph.c → libgit2/graph.c} +0 -0
- /data/vendor/libgit2/src/{hashsig.c → libgit2/hashsig.c} +0 -0
- /data/vendor/libgit2/src/{idxmap.c → libgit2/idxmap.c} +0 -0
- /data/vendor/libgit2/src/{idxmap.h → libgit2/idxmap.h} +0 -0
- /data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
- /data/vendor/libgit2/src/{libgit2.h → libgit2/libgit2.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/{offmap.c → libgit2/offmap.c} +0 -0
- /data/vendor/libgit2/src/{offmap.h → libgit2/offmap.h} +0 -0
- /data/vendor/libgit2/src/{oidarray.c → libgit2/oidarray.c} +0 -0
- /data/vendor/libgit2/src/{oidarray.h → libgit2/oidarray.h} +0 -0
- /data/vendor/libgit2/src/{oidmap.h → libgit2/oidmap.h} +0 -0
- /data/vendor/libgit2/src/{parse.h → libgit2/parse.h} +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/{revwalk.h → libgit2/revwalk.h} +0 -0
- /data/vendor/libgit2/src/{settings.h → libgit2/settings.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.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}/socket.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.h +0 -0
- /data/vendor/libgit2/src/{transaction.h → libgit2/transaction.h} +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.h +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/credential.c +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/credential_helpers.c +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.h +0 -0
- /data/vendor/libgit2/src/{userdiff.h → libgit2/userdiff.h} +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmacros.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xprepare.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xtypes.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xutils.h +0 -0
- /data/vendor/libgit2/src/{alloc.c → util/alloc.c} +0 -0
- /data/vendor/libgit2/src/{alloc.h → util/alloc.h} +0 -0
- /data/vendor/libgit2/src/{allocators → util/allocators}/failalloc.c +0 -0
- /data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.c +0 -0
- /data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.c +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/{integer.h → util/integer.h} +0 -0
- /data/vendor/libgit2/src/{pool.c → util/pool.c} +0 -0
- /data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
- /data/vendor/libgit2/src/{strmap.c → util/strmap.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/{vector.c → util/vector.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}/error.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}/utf-conv.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}/w32_util.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.h +0 -0
|
@@ -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_SHA1_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_SHA1_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_SHA1_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)
|
|
@@ -679,12 +670,12 @@ static int process_entry_path(
|
|
|
679
670
|
{
|
|
680
671
|
int error = 0;
|
|
681
672
|
size_t i = 0, j = 0, len;
|
|
682
|
-
|
|
673
|
+
git_str buf = GIT_STR_INIT;
|
|
683
674
|
|
|
684
|
-
if ((error =
|
|
675
|
+
if ((error = git_str_puts(&buf, entry_path)) < 0)
|
|
685
676
|
goto cleanup;
|
|
686
677
|
|
|
687
|
-
len =
|
|
678
|
+
len = git_str_len(&buf);
|
|
688
679
|
|
|
689
680
|
while (i < len) {
|
|
690
681
|
if (buf.ptr[i] == '/') {
|
|
@@ -707,15 +698,15 @@ static int process_entry_path(
|
|
|
707
698
|
buf.ptr[j] = '\0';
|
|
708
699
|
buf.size = j;
|
|
709
700
|
|
|
710
|
-
if (j !=
|
|
701
|
+
if (j != GIT_OID_SHA1_HEXSIZE) {
|
|
711
702
|
/* This is not a note entry */
|
|
712
703
|
goto cleanup;
|
|
713
704
|
}
|
|
714
705
|
|
|
715
|
-
error =
|
|
706
|
+
error = git_oid__fromstr(annotated_object_id, buf.ptr, GIT_OID_SHA1);
|
|
716
707
|
|
|
717
708
|
cleanup:
|
|
718
|
-
|
|
709
|
+
git_str_dispose(&buf);
|
|
719
710
|
return error;
|
|
720
711
|
}
|
|
721
712
|
|
|
@@ -780,7 +771,7 @@ int git_note_iterator_new(
|
|
|
780
771
|
{
|
|
781
772
|
int error;
|
|
782
773
|
git_commit *commit = NULL;
|
|
783
|
-
|
|
774
|
+
git_str notes_ref = GIT_STR_INIT;
|
|
784
775
|
|
|
785
776
|
error = retrieve_note_commit(&commit, ¬es_ref, repo, notes_ref_in);
|
|
786
777
|
if (error < 0)
|
|
@@ -789,7 +780,7 @@ int git_note_iterator_new(
|
|
|
789
780
|
error = git_note_commit_iterator_new(it, commit);
|
|
790
781
|
|
|
791
782
|
cleanup:
|
|
792
|
-
|
|
783
|
+
git_str_dispose(¬es_ref);
|
|
793
784
|
git_commit_free(commit);
|
|
794
785
|
|
|
795
786
|
return error;
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
#include "repository.h"
|
|
13
13
|
|
|
14
|
+
#include "buf.h"
|
|
14
15
|
#include "commit.h"
|
|
15
16
|
#include "hash.h"
|
|
16
17
|
#include "tree.h"
|
|
@@ -20,15 +21,14 @@
|
|
|
20
21
|
|
|
21
22
|
bool git_object__strict_input_validation = true;
|
|
22
23
|
|
|
23
|
-
extern int git_odb_hash(git_oid *out, const void *data, size_t len, git_object_t type);
|
|
24
24
|
size_t git_object__size(git_object_t type);
|
|
25
25
|
|
|
26
26
|
typedef struct {
|
|
27
27
|
const char *str; /* type name string */
|
|
28
28
|
size_t size; /* size in bytes of the object structure */
|
|
29
29
|
|
|
30
|
-
int (*parse)(void *self, git_odb_object *obj);
|
|
31
|
-
int (*parse_raw)(void *self, const char *data, size_t size);
|
|
30
|
+
int (*parse)(void *self, git_odb_object *obj, git_oid_t oid_type);
|
|
31
|
+
int (*parse_raw)(void *self, const char *data, size_t size, git_oid_t oid_type);
|
|
32
32
|
void (*free)(void *self);
|
|
33
33
|
} git_object_def;
|
|
34
34
|
|
|
@@ -60,7 +60,8 @@ int git_object__from_raw(
|
|
|
60
60
|
git_object **object_out,
|
|
61
61
|
const char *data,
|
|
62
62
|
size_t size,
|
|
63
|
-
git_object_t
|
|
63
|
+
git_object_t object_type,
|
|
64
|
+
git_oid_t oid_type)
|
|
64
65
|
{
|
|
65
66
|
git_object_def *def;
|
|
66
67
|
git_object *object;
|
|
@@ -71,12 +72,15 @@ int git_object__from_raw(
|
|
|
71
72
|
*object_out = NULL;
|
|
72
73
|
|
|
73
74
|
/* Validate type match */
|
|
74
|
-
if (
|
|
75
|
+
if (object_type != GIT_OBJECT_BLOB &&
|
|
76
|
+
object_type != GIT_OBJECT_TREE &&
|
|
77
|
+
object_type != GIT_OBJECT_COMMIT &&
|
|
78
|
+
object_type != GIT_OBJECT_TAG) {
|
|
75
79
|
git_error_set(GIT_ERROR_INVALID, "the requested type is invalid");
|
|
76
80
|
return GIT_ENOTFOUND;
|
|
77
81
|
}
|
|
78
82
|
|
|
79
|
-
if ((object_size = git_object__size(
|
|
83
|
+
if ((object_size = git_object__size(object_type)) == 0) {
|
|
80
84
|
git_error_set(GIT_ERROR_INVALID, "the requested type is invalid");
|
|
81
85
|
return GIT_ENOTFOUND;
|
|
82
86
|
}
|
|
@@ -85,15 +89,15 @@ int git_object__from_raw(
|
|
|
85
89
|
object = git__calloc(1, object_size);
|
|
86
90
|
GIT_ERROR_CHECK_ALLOC(object);
|
|
87
91
|
object->cached.flags = GIT_CACHE_STORE_PARSED;
|
|
88
|
-
object->cached.type =
|
|
89
|
-
if ((error =
|
|
92
|
+
object->cached.type = object_type;
|
|
93
|
+
if ((error = git_odb__hash(&object->cached.oid, data, size, object_type, oid_type)) < 0)
|
|
90
94
|
return error;
|
|
91
95
|
|
|
92
96
|
/* Parse raw object data */
|
|
93
|
-
def = &git_objects_table[
|
|
97
|
+
def = &git_objects_table[object_type];
|
|
94
98
|
GIT_ASSERT(def->free && def->parse_raw);
|
|
95
99
|
|
|
96
|
-
if ((error = def->parse_raw(object, data, size)) < 0) {
|
|
100
|
+
if ((error = def->parse_raw(object, data, size, oid_type)) < 0) {
|
|
97
101
|
def->free(object);
|
|
98
102
|
return error;
|
|
99
103
|
}
|
|
@@ -143,12 +147,17 @@ int git_object__from_odb_object(
|
|
|
143
147
|
def = &git_objects_table[odb_obj->cached.type];
|
|
144
148
|
GIT_ASSERT(def->free && def->parse);
|
|
145
149
|
|
|
146
|
-
if ((error = def->parse(object, odb_obj)) < 0)
|
|
150
|
+
if ((error = def->parse(object, odb_obj, repo->oid_type)) < 0) {
|
|
151
|
+
/*
|
|
152
|
+
* parse returns EINVALID on invalid data; downgrade
|
|
153
|
+
* that to a normal -1 error code.
|
|
154
|
+
*/
|
|
147
155
|
def->free(object);
|
|
148
|
-
|
|
149
|
-
|
|
156
|
+
return -1;
|
|
157
|
+
}
|
|
150
158
|
|
|
151
|
-
|
|
159
|
+
*object_out = git_cache_store_parsed(&repo->objects, object);
|
|
160
|
+
return 0;
|
|
152
161
|
}
|
|
153
162
|
|
|
154
163
|
void git_object__free(void *obj)
|
|
@@ -187,10 +196,10 @@ int git_object_lookup_prefix(
|
|
|
187
196
|
if (error < 0)
|
|
188
197
|
return error;
|
|
189
198
|
|
|
190
|
-
if (len >
|
|
191
|
-
len =
|
|
199
|
+
if (len > GIT_OID_SHA1_HEXSIZE)
|
|
200
|
+
len = GIT_OID_SHA1_HEXSIZE;
|
|
192
201
|
|
|
193
|
-
if (len ==
|
|
202
|
+
if (len == GIT_OID_SHA1_HEXSIZE) {
|
|
194
203
|
git_cached_obj *cached = NULL;
|
|
195
204
|
|
|
196
205
|
/* We want to match the full id : we can first look up in the cache,
|
|
@@ -224,11 +233,11 @@ int git_object_lookup_prefix(
|
|
|
224
233
|
error = git_odb_read(&odb_obj, odb, id);
|
|
225
234
|
}
|
|
226
235
|
} else {
|
|
227
|
-
git_oid short_oid =
|
|
236
|
+
git_oid short_oid = GIT_OID_SHA1_ZERO;
|
|
228
237
|
|
|
229
238
|
git_oid__cpy_prefix(&short_oid, id, len);
|
|
230
239
|
|
|
231
|
-
/* If len <
|
|
240
|
+
/* If len < GIT_OID_SHA1_HEXSIZE (a strict short oid was given), we have
|
|
232
241
|
* 2 options :
|
|
233
242
|
* - We always search in the cache first. If we find that short oid is
|
|
234
243
|
* ambiguous, we can stop. But in all the other cases, we must then
|
|
@@ -244,6 +253,7 @@ int git_object_lookup_prefix(
|
|
|
244
253
|
if (error < 0)
|
|
245
254
|
return error;
|
|
246
255
|
|
|
256
|
+
GIT_ASSERT(odb_obj);
|
|
247
257
|
error = git_object__from_odb_object(object_out, repo, odb_obj, type);
|
|
248
258
|
|
|
249
259
|
git_odb_object_free(odb_obj);
|
|
@@ -252,7 +262,7 @@ int git_object_lookup_prefix(
|
|
|
252
262
|
}
|
|
253
263
|
|
|
254
264
|
int git_object_lookup(git_object **object_out, git_repository *repo, const git_oid *id, git_object_t type) {
|
|
255
|
-
return git_object_lookup_prefix(object_out, repo, id,
|
|
265
|
+
return git_object_lookup_prefix(object_out, repo, id, GIT_OID_SHA1_HEXSIZE, type);
|
|
256
266
|
}
|
|
257
267
|
|
|
258
268
|
void git_object_free(git_object *object)
|
|
@@ -351,12 +361,11 @@ static int dereference_object(git_object **dereferenced, git_object *obj)
|
|
|
351
361
|
static int peel_error(int error, const git_oid *oid, git_object_t type)
|
|
352
362
|
{
|
|
353
363
|
const char *type_name;
|
|
354
|
-
char hex_oid[
|
|
364
|
+
char hex_oid[GIT_OID_MAX_HEXSIZE + 1];
|
|
355
365
|
|
|
356
366
|
type_name = git_object_type2string(type);
|
|
357
367
|
|
|
358
|
-
|
|
359
|
-
hex_oid[GIT_OID_HEXSZ] = '\0';
|
|
368
|
+
git_oid_nfmt(hex_oid, GIT_OID_MAX_HEXSIZE + 1, oid);
|
|
360
369
|
|
|
361
370
|
git_error_set(GIT_ERROR_OBJECT, "the git_object of id '%s' can not be "
|
|
362
371
|
"successfully peeled into a %s (git_object_t=%i).", hex_oid, type_name, type);
|
|
@@ -491,19 +500,16 @@ cleanup:
|
|
|
491
500
|
return error;
|
|
492
501
|
}
|
|
493
502
|
|
|
494
|
-
int
|
|
503
|
+
static int git_object__short_id(git_str *out, const git_object *obj)
|
|
495
504
|
{
|
|
496
505
|
git_repository *repo;
|
|
497
506
|
int len = GIT_ABBREV_DEFAULT, error;
|
|
498
|
-
git_oid id =
|
|
507
|
+
git_oid id = GIT_OID_SHA1_ZERO;
|
|
499
508
|
git_odb *odb;
|
|
500
509
|
|
|
501
510
|
GIT_ASSERT_ARG(out);
|
|
502
511
|
GIT_ASSERT_ARG(obj);
|
|
503
512
|
|
|
504
|
-
if ((error = git_buf_sanitize(out)) < 0)
|
|
505
|
-
return error;
|
|
506
|
-
|
|
507
513
|
repo = git_object_owner(obj);
|
|
508
514
|
|
|
509
515
|
if ((error = git_repository__configmap_lookup(&len, repo, GIT_CONFIGMAP_ABBREV)) < 0)
|
|
@@ -512,12 +518,16 @@ int git_object_short_id(git_buf *out, const git_object *obj)
|
|
|
512
518
|
if ((error = git_repository_odb(&odb, repo)) < 0)
|
|
513
519
|
return error;
|
|
514
520
|
|
|
515
|
-
while (len <
|
|
521
|
+
while (len < GIT_OID_SHA1_HEXSIZE) {
|
|
516
522
|
/* set up short oid */
|
|
517
523
|
memcpy(&id.id, &obj->cached.oid.id, (len + 1) / 2);
|
|
518
524
|
if (len & 1)
|
|
519
525
|
id.id[len / 2] &= 0xf0;
|
|
520
526
|
|
|
527
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
|
528
|
+
id.type = GIT_OID_SHA1;
|
|
529
|
+
#endif
|
|
530
|
+
|
|
521
531
|
error = git_odb_exists_prefix(NULL, odb, &id, len);
|
|
522
532
|
if (error != GIT_EAMBIGUOUS)
|
|
523
533
|
break;
|
|
@@ -526,7 +536,7 @@ int git_object_short_id(git_buf *out, const git_object *obj)
|
|
|
526
536
|
len++;
|
|
527
537
|
}
|
|
528
538
|
|
|
529
|
-
if (!error && !(error =
|
|
539
|
+
if (!error && !(error = git_str_grow(out, len + 1))) {
|
|
530
540
|
git_oid_tostr(out->ptr, len + 1, &id);
|
|
531
541
|
out->size = len;
|
|
532
542
|
}
|
|
@@ -536,6 +546,11 @@ int git_object_short_id(git_buf *out, const git_object *obj)
|
|
|
536
546
|
return error;
|
|
537
547
|
}
|
|
538
548
|
|
|
549
|
+
int git_object_short_id(git_buf *out, const git_object *obj)
|
|
550
|
+
{
|
|
551
|
+
GIT_BUF_WRAP_PRIVATE(out, git_object__short_id, obj);
|
|
552
|
+
}
|
|
553
|
+
|
|
539
554
|
bool git_object__is_valid(
|
|
540
555
|
git_repository *repo, const git_oid *id, git_object_t expected_type)
|
|
541
556
|
{
|
|
@@ -559,3 +574,93 @@ bool git_object__is_valid(
|
|
|
559
574
|
|
|
560
575
|
return true;
|
|
561
576
|
}
|
|
577
|
+
|
|
578
|
+
int git_object_rawcontent_is_valid(
|
|
579
|
+
int *valid,
|
|
580
|
+
const char *buf,
|
|
581
|
+
size_t len,
|
|
582
|
+
git_object_t object_type
|
|
583
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
|
584
|
+
, git_oid_t oid_type
|
|
585
|
+
#endif
|
|
586
|
+
)
|
|
587
|
+
{
|
|
588
|
+
git_object *obj = NULL;
|
|
589
|
+
int error;
|
|
590
|
+
|
|
591
|
+
#ifndef GIT_EXPERIMENTAL_SHA256
|
|
592
|
+
git_oid_t oid_type = GIT_OID_SHA1;
|
|
593
|
+
#endif
|
|
594
|
+
|
|
595
|
+
GIT_ASSERT_ARG(valid);
|
|
596
|
+
GIT_ASSERT_ARG(buf);
|
|
597
|
+
|
|
598
|
+
/* Blobs are always valid; don't bother parsing. */
|
|
599
|
+
if (object_type == GIT_OBJECT_BLOB) {
|
|
600
|
+
*valid = 1;
|
|
601
|
+
return 0;
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
error = git_object__from_raw(&obj, buf, len, object_type, oid_type);
|
|
605
|
+
git_object_free(obj);
|
|
606
|
+
|
|
607
|
+
if (error == 0) {
|
|
608
|
+
*valid = 1;
|
|
609
|
+
return 0;
|
|
610
|
+
} else if (error == GIT_EINVALID) {
|
|
611
|
+
*valid = 0;
|
|
612
|
+
return 0;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
return error;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
int git_object__parse_oid_header(
|
|
619
|
+
git_oid *oid,
|
|
620
|
+
const char **buffer_out,
|
|
621
|
+
const char *buffer_end,
|
|
622
|
+
const char *header,
|
|
623
|
+
git_oid_t oid_type)
|
|
624
|
+
{
|
|
625
|
+
const size_t sha_len = git_oid_hexsize(oid_type);
|
|
626
|
+
const size_t header_len = strlen(header);
|
|
627
|
+
|
|
628
|
+
const char *buffer = *buffer_out;
|
|
629
|
+
|
|
630
|
+
if (buffer + (header_len + sha_len + 1) > buffer_end)
|
|
631
|
+
return -1;
|
|
632
|
+
|
|
633
|
+
if (memcmp(buffer, header, header_len) != 0)
|
|
634
|
+
return -1;
|
|
635
|
+
|
|
636
|
+
if (buffer[header_len + sha_len] != '\n')
|
|
637
|
+
return -1;
|
|
638
|
+
|
|
639
|
+
if (git_oid__fromstr(oid, buffer + header_len, oid_type) < 0)
|
|
640
|
+
return -1;
|
|
641
|
+
|
|
642
|
+
*buffer_out = buffer + (header_len + sha_len + 1);
|
|
643
|
+
|
|
644
|
+
return 0;
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
int git_object__write_oid_header(
|
|
648
|
+
git_str *buf,
|
|
649
|
+
const char *header,
|
|
650
|
+
const git_oid *oid)
|
|
651
|
+
{
|
|
652
|
+
size_t hex_size = git_oid_hexsize(git_oid_type(oid));
|
|
653
|
+
char hex_oid[GIT_OID_MAX_HEXSIZE];
|
|
654
|
+
|
|
655
|
+
if (!hex_size) {
|
|
656
|
+
git_error_set(GIT_ERROR_INVALID, "unknown type");
|
|
657
|
+
return -1;
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
git_oid_fmt(hex_oid, oid);
|
|
661
|
+
git_str_puts(buf, header);
|
|
662
|
+
git_str_put(buf, hex_oid, hex_size);
|
|
663
|
+
git_str_putc(buf, '\n');
|
|
664
|
+
|
|
665
|
+
return git_str_oom(buf) ? -1 : 0;
|
|
666
|
+
}
|
|
@@ -33,7 +33,8 @@ int git_object__from_raw(
|
|
|
33
33
|
git_object **object_out,
|
|
34
34
|
const char *data,
|
|
35
35
|
size_t size,
|
|
36
|
-
git_object_t
|
|
36
|
+
git_object_t object_type,
|
|
37
|
+
git_oid_t oid_type);
|
|
37
38
|
|
|
38
39
|
int git_object__from_odb_object(
|
|
39
40
|
git_object **object_out,
|
|
@@ -45,9 +46,17 @@ int git_object__resolve_to_type(git_object **obj, git_object_t type);
|
|
|
45
46
|
|
|
46
47
|
git_object_t git_object_stringn2type(const char *str, size_t len);
|
|
47
48
|
|
|
48
|
-
int
|
|
49
|
+
int git_object__parse_oid_header(
|
|
50
|
+
git_oid *oid,
|
|
51
|
+
const char **buffer_out,
|
|
52
|
+
const char *buffer_end,
|
|
53
|
+
const char *header,
|
|
54
|
+
git_oid_t oid_type);
|
|
49
55
|
|
|
50
|
-
|
|
56
|
+
int git_object__write_oid_header(
|
|
57
|
+
git_str *buf,
|
|
58
|
+
const char *header,
|
|
59
|
+
const git_oid *oid);
|
|
51
60
|
|
|
52
61
|
bool git_object__is_valid(
|
|
53
62
|
git_repository *repo, const git_oid *id, git_object_t expected_type);
|