rugged 1.3.1 → 1.6.2
Sign up to get free protection for your applications and to get access to all the features.
- 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_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 +38 -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 +18 -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} +107 -71
- 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} +54 -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} +690 -366
- data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +21 -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} +580 -615
- data/vendor/libgit2/src/{path.h → util/fs_path.h} +234 -181
- 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
@@ -22,11 +22,41 @@
|
|
22
22
|
*/
|
23
23
|
GIT_BEGIN_DECL
|
24
24
|
|
25
|
+
/** Flags controlling the behavior of ODB lookup operations */
|
26
|
+
typedef enum {
|
27
|
+
/**
|
28
|
+
* Don't call `git_odb_refresh` if the lookup fails. Useful when doing
|
29
|
+
* a batch of lookup operations for objects that may legitimately not
|
30
|
+
* exist. When using this flag, you may wish to manually call
|
31
|
+
* `git_odb_refresh` before processing a batch of objects.
|
32
|
+
*/
|
33
|
+
GIT_ODB_LOOKUP_NO_REFRESH = (1 << 0)
|
34
|
+
} git_odb_lookup_flags_t;
|
35
|
+
|
25
36
|
/**
|
26
37
|
* Function type for callbacks from git_odb_foreach.
|
27
38
|
*/
|
28
39
|
typedef int GIT_CALLBACK(git_odb_foreach_cb)(const git_oid *id, void *payload);
|
29
40
|
|
41
|
+
/** Options for configuring a loose object backend. */
|
42
|
+
typedef struct {
|
43
|
+
unsigned int version; /**< version for the struct */
|
44
|
+
|
45
|
+
/**
|
46
|
+
* Type of object IDs to use for this object database, or
|
47
|
+
* 0 for default (currently SHA1).
|
48
|
+
*/
|
49
|
+
git_oid_t oid_type;
|
50
|
+
} git_odb_options;
|
51
|
+
|
52
|
+
/* The current version of the diff options structure */
|
53
|
+
#define GIT_ODB_OPTIONS_VERSION 1
|
54
|
+
|
55
|
+
/* Stack initializer for odb options. Alternatively use
|
56
|
+
* `git_odb_options_init` programmatic initialization.
|
57
|
+
*/
|
58
|
+
#define GIT_ODB_OPTIONS_INIT { GIT_ODB_OPTIONS_VERSION }
|
59
|
+
|
30
60
|
/**
|
31
61
|
* Create a new object database with no backends.
|
32
62
|
*
|
@@ -35,9 +65,14 @@ typedef int GIT_CALLBACK(git_odb_foreach_cb)(const git_oid *id, void *payload);
|
|
35
65
|
*
|
36
66
|
* @param out location to store the database pointer, if opened.
|
37
67
|
* Set to NULL if the open failed.
|
68
|
+
* @param opts the options for this object database or NULL for defaults
|
38
69
|
* @return 0 or an error code
|
39
70
|
*/
|
71
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
72
|
+
GIT_EXTERN(int) git_odb_new(git_odb **out, const git_odb_options *opts);
|
73
|
+
#else
|
40
74
|
GIT_EXTERN(int) git_odb_new(git_odb **out);
|
75
|
+
#endif
|
41
76
|
|
42
77
|
/**
|
43
78
|
* Create a new object database and automatically add
|
@@ -53,9 +88,17 @@ GIT_EXTERN(int) git_odb_new(git_odb **out);
|
|
53
88
|
* @param out location to store the database pointer, if opened.
|
54
89
|
* Set to NULL if the open failed.
|
55
90
|
* @param objects_dir path of the backends' "objects" directory.
|
91
|
+
* @param opts the options for this object database or NULL for defaults
|
56
92
|
* @return 0 or an error code
|
57
93
|
*/
|
94
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
95
|
+
GIT_EXTERN(int) git_odb_open(
|
96
|
+
git_odb **out,
|
97
|
+
const char *objects_dir,
|
98
|
+
const git_odb_options *opts);
|
99
|
+
#else
|
58
100
|
GIT_EXTERN(int) git_odb_open(git_odb **out, const char *objects_dir);
|
101
|
+
#endif
|
59
102
|
|
60
103
|
/**
|
61
104
|
* Add an on-disk alternate to an existing Object DB.
|
@@ -106,7 +149,7 @@ GIT_EXTERN(int) git_odb_read(git_odb_object **out, git_odb *db, const git_oid *i
|
|
106
149
|
* This method queries all available ODB backends
|
107
150
|
* trying to match the 'len' first hexadecimal
|
108
151
|
* characters of the 'short_id'.
|
109
|
-
* The remaining (
|
152
|
+
* The remaining (GIT_OID_SHA1_HEXSIZE-len)*4 bits of
|
110
153
|
* 'short_id' must be 0s.
|
111
154
|
* 'len' must be at least GIT_OID_MINPREFIXLEN,
|
112
155
|
* and the prefix must be long enough to identify
|
@@ -155,6 +198,17 @@ GIT_EXTERN(int) git_odb_read_header(size_t *len_out, git_object_t *type_out, git
|
|
155
198
|
*/
|
156
199
|
GIT_EXTERN(int) git_odb_exists(git_odb *db, const git_oid *id);
|
157
200
|
|
201
|
+
/**
|
202
|
+
* Determine if the given object can be found in the object database, with
|
203
|
+
* extended options.
|
204
|
+
*
|
205
|
+
* @param db database to be searched for the given object.
|
206
|
+
* @param id the object to search for.
|
207
|
+
* @param flags flags affecting the lookup (see `git_odb_lookup_flags_t`)
|
208
|
+
* @return 1 if the object was found, 0 otherwise
|
209
|
+
*/
|
210
|
+
GIT_EXTERN(int) git_odb_exists_ext(git_odb *db, const git_oid *id, unsigned int flags);
|
211
|
+
|
158
212
|
/**
|
159
213
|
* Determine if an object can be found in the object database by an
|
160
214
|
* abbreviated object ID.
|
@@ -192,12 +246,13 @@ typedef struct git_odb_expand_id {
|
|
192
246
|
|
193
247
|
/**
|
194
248
|
* Determine if one or more objects can be found in the object database
|
195
|
-
* by their abbreviated object ID and type.
|
196
|
-
*
|
197
|
-
*
|
198
|
-
*
|
199
|
-
* the
|
200
|
-
* array
|
249
|
+
* by their abbreviated object ID and type.
|
250
|
+
*
|
251
|
+
* The given array will be updated in place: for each abbreviated ID that is
|
252
|
+
* unique in the database, and of the given type (if specified),
|
253
|
+
* the full object ID, object ID length (`GIT_OID_SHA1_HEXSIZE`) and type will be
|
254
|
+
* written back to the array. For IDs that are not found (or are ambiguous),
|
255
|
+
* the array entry will be zeroed.
|
201
256
|
*
|
202
257
|
* Note that since this function operates on multiple objects, the
|
203
258
|
* underlying database will not be asked to be reloaded if an object is
|
@@ -323,6 +378,11 @@ GIT_EXTERN(int) git_odb_stream_finalize_write(git_oid *out, git_odb_stream *stre
|
|
323
378
|
* Read from an odb stream
|
324
379
|
*
|
325
380
|
* Most backends don't implement streaming reads
|
381
|
+
*
|
382
|
+
* @param stream the stream
|
383
|
+
* @param buffer a user-allocated buffer to store the data in.
|
384
|
+
* @param len the buffer's length
|
385
|
+
* @return 0 if the read succeeded, error code otherwise
|
326
386
|
*/
|
327
387
|
GIT_EXTERN(int) git_odb_stream_read(git_odb_stream *stream, char *buffer, size_t len);
|
328
388
|
|
@@ -383,6 +443,7 @@ GIT_EXTERN(int) git_odb_open_rstream(
|
|
383
443
|
* Be aware that this is called inline with network and indexing operations,
|
384
444
|
* so performance may be affected.
|
385
445
|
* @param progress_payload payload for the progress callback
|
446
|
+
* @return 0 or an error code.
|
386
447
|
*/
|
387
448
|
GIT_EXTERN(int) git_odb_write_pack(
|
388
449
|
git_odb_writepack **out,
|
@@ -400,23 +461,34 @@ GIT_EXTERN(int) git_odb_write_pack(
|
|
400
461
|
* exist).
|
401
462
|
*
|
402
463
|
* @param db object database where the `multi-pack-index` file will be written.
|
464
|
+
* @return 0 or an error code.
|
403
465
|
*/
|
404
466
|
GIT_EXTERN(int) git_odb_write_multi_pack_index(
|
405
467
|
git_odb *db);
|
406
468
|
|
407
469
|
/**
|
408
|
-
* Determine the object-ID (sha1 hash) of a data buffer
|
470
|
+
* Determine the object-ID (sha1 or sha256 hash) of a data buffer
|
409
471
|
*
|
410
|
-
* The resulting
|
411
|
-
*
|
472
|
+
* The resulting OID will be the identifier for the data buffer as if
|
473
|
+
* the data buffer it were to written to the ODB.
|
412
474
|
*
|
413
475
|
* @param out the resulting object-ID.
|
414
476
|
* @param data data to hash
|
415
477
|
* @param len size of the data
|
416
|
-
* @param
|
478
|
+
* @param object_type of the data to hash
|
479
|
+
* @param oid_type the oid type to hash to
|
417
480
|
* @return 0 or an error code
|
418
481
|
*/
|
482
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
483
|
+
GIT_EXTERN(int) git_odb_hash(
|
484
|
+
git_oid *out,
|
485
|
+
const void *data,
|
486
|
+
size_t len,
|
487
|
+
git_object_t object_type,
|
488
|
+
git_oid_t oid_type);
|
489
|
+
#else
|
419
490
|
GIT_EXTERN(int) git_odb_hash(git_oid *out, const void *data, size_t len, git_object_t type);
|
491
|
+
#endif
|
420
492
|
|
421
493
|
/**
|
422
494
|
* Read a file from disk and fill a git_oid with the object id
|
@@ -428,10 +500,19 @@ GIT_EXTERN(int) git_odb_hash(git_oid *out, const void *data, size_t len, git_obj
|
|
428
500
|
*
|
429
501
|
* @param out oid structure the result is written into.
|
430
502
|
* @param path file to read and determine object id for
|
431
|
-
* @param
|
503
|
+
* @param object_type of the data to hash
|
504
|
+
* @param oid_type the oid type to hash to
|
432
505
|
* @return 0 or an error code
|
433
506
|
*/
|
507
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
508
|
+
GIT_EXTERN(int) git_odb_hashfile(
|
509
|
+
git_oid *out,
|
510
|
+
const char *path,
|
511
|
+
git_object_t object_type,
|
512
|
+
git_oid_t oid_type);
|
513
|
+
#else
|
434
514
|
GIT_EXTERN(int) git_odb_hashfile(git_oid *out, const char *path, git_object_t type);
|
515
|
+
#endif
|
435
516
|
|
436
517
|
/**
|
437
518
|
* Create a copy of an odb_object
|
@@ -556,7 +637,7 @@ GIT_EXTERN(int) git_odb_get_backend(git_odb_backend **out, git_odb *odb, size_t
|
|
556
637
|
/**
|
557
638
|
* Set the git commit-graph for the ODB.
|
558
639
|
*
|
559
|
-
* After a
|
640
|
+
* After a successful call, the ownership of the cgraph parameter will be
|
560
641
|
* transferred to libgit2, and the caller should not free it.
|
561
642
|
*
|
562
643
|
* The commit-graph can also be unset by explicitly passing NULL as the cgraph
|
@@ -24,6 +24,26 @@ GIT_BEGIN_DECL
|
|
24
24
|
* Constructors for in-box ODB backends.
|
25
25
|
*/
|
26
26
|
|
27
|
+
/** Options for configuring a packfile object backend. */
|
28
|
+
typedef struct {
|
29
|
+
unsigned int version; /**< version for the struct */
|
30
|
+
|
31
|
+
/**
|
32
|
+
* Type of object IDs to use for this object database, or
|
33
|
+
* 0 for default (currently SHA1).
|
34
|
+
*/
|
35
|
+
git_oid_t oid_type;
|
36
|
+
} git_odb_backend_pack_options;
|
37
|
+
|
38
|
+
/* The current version of the diff options structure */
|
39
|
+
#define GIT_ODB_BACKEND_PACK_OPTIONS_VERSION 1
|
40
|
+
|
41
|
+
/* Stack initializer for odb pack backend options. Alternatively use
|
42
|
+
* `git_odb_backend_pack_options_init` programmatic initialization.
|
43
|
+
*/
|
44
|
+
#define GIT_ODB_BACKEND_PACK_OPTIONS_INIT \
|
45
|
+
{ GIT_ODB_BACKEND_PACK_OPTIONS_VERSION }
|
46
|
+
|
27
47
|
/**
|
28
48
|
* Create a backend for the packfiles.
|
29
49
|
*
|
@@ -32,20 +52,96 @@ GIT_BEGIN_DECL
|
|
32
52
|
*
|
33
53
|
* @return 0 or an error code
|
34
54
|
*/
|
35
|
-
|
55
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
56
|
+
GIT_EXTERN(int) git_odb_backend_pack(
|
57
|
+
git_odb_backend **out,
|
58
|
+
const char *objects_dir,
|
59
|
+
const git_odb_backend_pack_options *opts);
|
60
|
+
#else
|
61
|
+
GIT_EXTERN(int) git_odb_backend_pack(
|
62
|
+
git_odb_backend **out,
|
63
|
+
const char *objects_dir);
|
64
|
+
#endif
|
65
|
+
|
66
|
+
/**
|
67
|
+
* Create a backend out of a single packfile
|
68
|
+
*
|
69
|
+
* This can be useful for inspecting the contents of a single
|
70
|
+
* packfile.
|
71
|
+
*
|
72
|
+
* @param out location to store the odb backend pointer
|
73
|
+
* @param index_file path to the packfile's .idx file
|
74
|
+
*
|
75
|
+
* @return 0 or an error code
|
76
|
+
*/
|
77
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
78
|
+
GIT_EXTERN(int) git_odb_backend_one_pack(
|
79
|
+
git_odb_backend **out,
|
80
|
+
const char *index_file,
|
81
|
+
const git_odb_backend_pack_options *opts);
|
82
|
+
#else
|
83
|
+
GIT_EXTERN(int) git_odb_backend_one_pack(
|
84
|
+
git_odb_backend **out,
|
85
|
+
const char *index_file);
|
86
|
+
#endif
|
87
|
+
|
88
|
+
typedef enum {
|
89
|
+
GIT_ODB_BACKEND_LOOSE_FSYNC = (1 << 0)
|
90
|
+
} git_odb_backend_loose_flag_t;
|
91
|
+
|
92
|
+
/** Options for configuring a loose object backend. */
|
93
|
+
typedef struct {
|
94
|
+
unsigned int version; /**< version for the struct */
|
95
|
+
|
96
|
+
/** A combination of the `git_odb_backend_loose_flag_t` types. */
|
97
|
+
uint32_t flags;
|
98
|
+
|
99
|
+
/**
|
100
|
+
* zlib compression level to use (0-9), where 1 is the fastest
|
101
|
+
* at the expense of larger files, and 9 produces the best
|
102
|
+
* compression at the expense of speed. 0 indicates that no
|
103
|
+
* compression should be performed. -1 is the default (currently
|
104
|
+
* optimizing for speed).
|
105
|
+
*/
|
106
|
+
int compression_level;
|
107
|
+
|
108
|
+
/** Permissions to use creating a directory or 0 for defaults */
|
109
|
+
unsigned int dir_mode;
|
110
|
+
|
111
|
+
/** Permissions to use creating a file or 0 for defaults */
|
112
|
+
unsigned int file_mode;
|
113
|
+
|
114
|
+
/**
|
115
|
+
* Type of object IDs to use for this object database, or
|
116
|
+
* 0 for default (currently SHA1).
|
117
|
+
*/
|
118
|
+
git_oid_t oid_type;
|
119
|
+
} git_odb_backend_loose_options;
|
120
|
+
|
121
|
+
/* The current version of the diff options structure */
|
122
|
+
#define GIT_ODB_BACKEND_LOOSE_OPTIONS_VERSION 1
|
123
|
+
|
124
|
+
/* Stack initializer for odb loose backend options. Alternatively use
|
125
|
+
* `git_odb_backend_loose_options_init` programmatic initialization.
|
126
|
+
*/
|
127
|
+
#define GIT_ODB_BACKEND_LOOSE_OPTIONS_INIT \
|
128
|
+
{ GIT_ODB_BACKEND_LOOSE_OPTIONS_VERSION, 0, -1 }
|
36
129
|
|
37
130
|
/**
|
38
131
|
* Create a backend for loose objects
|
39
132
|
*
|
40
133
|
* @param out location to store the odb backend pointer
|
41
134
|
* @param objects_dir the Git repository's objects directory
|
42
|
-
* @param
|
43
|
-
* @param do_fsync whether to do an fsync() after writing
|
44
|
-
* @param dir_mode permissions to use creating a directory or 0 for defaults
|
45
|
-
* @param file_mode permissions to use creating a file or 0 for defaults
|
135
|
+
* @param opts options for the loose object backend or NULL
|
46
136
|
*
|
47
137
|
* @return 0 or an error code
|
48
138
|
*/
|
139
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
140
|
+
GIT_EXTERN(int) git_odb_backend_loose(
|
141
|
+
git_odb_backend **out,
|
142
|
+
const char *objects_dir,
|
143
|
+
git_odb_backend_loose_options *opts);
|
144
|
+
#else
|
49
145
|
GIT_EXTERN(int) git_odb_backend_loose(
|
50
146
|
git_odb_backend **out,
|
51
147
|
const char *objects_dir,
|
@@ -53,25 +149,13 @@ GIT_EXTERN(int) git_odb_backend_loose(
|
|
53
149
|
int do_fsync,
|
54
150
|
unsigned int dir_mode,
|
55
151
|
unsigned int file_mode);
|
56
|
-
|
57
|
-
/**
|
58
|
-
* Create a backend out of a single packfile
|
59
|
-
*
|
60
|
-
* This can be useful for inspecting the contents of a single
|
61
|
-
* packfile.
|
62
|
-
*
|
63
|
-
* @param out location to store the odb backend pointer
|
64
|
-
* @param index_file path to the packfile's .idx file
|
65
|
-
*
|
66
|
-
* @return 0 or an error code
|
67
|
-
*/
|
68
|
-
GIT_EXTERN(int) git_odb_backend_one_pack(git_odb_backend **out, const char *index_file);
|
152
|
+
#endif
|
69
153
|
|
70
154
|
/** Streaming mode */
|
71
155
|
typedef enum {
|
72
156
|
GIT_STREAM_RDONLY = (1 << 1),
|
73
157
|
GIT_STREAM_WRONLY = (1 << 2),
|
74
|
-
GIT_STREAM_RW = (GIT_STREAM_RDONLY | GIT_STREAM_WRONLY)
|
158
|
+
GIT_STREAM_RW = (GIT_STREAM_RDONLY | GIT_STREAM_WRONLY)
|
75
159
|
} git_odb_stream_t;
|
76
160
|
|
77
161
|
/**
|
@@ -87,6 +171,10 @@ struct git_odb_stream {
|
|
87
171
|
unsigned int mode;
|
88
172
|
void *hash_ctx;
|
89
173
|
|
174
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
175
|
+
git_oid_t oid_type;
|
176
|
+
#endif
|
177
|
+
|
90
178
|
git_object_size_t declared_size;
|
91
179
|
git_object_size_t received_bytes;
|
92
180
|
|
@@ -9,6 +9,7 @@
|
|
9
9
|
|
10
10
|
#include "common.h"
|
11
11
|
#include "types.h"
|
12
|
+
#include "experimental.h"
|
12
13
|
|
13
14
|
/**
|
14
15
|
* @file git2/oid.h
|
@@ -19,11 +20,76 @@
|
|
19
20
|
*/
|
20
21
|
GIT_BEGIN_DECL
|
21
22
|
|
22
|
-
/**
|
23
|
-
|
23
|
+
/** The type of object id. */
|
24
|
+
typedef enum {
|
24
25
|
|
25
|
-
|
26
|
-
|
26
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
27
|
+
GIT_OID_SHA1 = 1, /**< SHA1 */
|
28
|
+
GIT_OID_SHA256 = 2 /**< SHA256 */
|
29
|
+
#else
|
30
|
+
GIT_OID_SHA1 = 1 /**< SHA1 */
|
31
|
+
#endif
|
32
|
+
|
33
|
+
} git_oid_t;
|
34
|
+
|
35
|
+
/*
|
36
|
+
* SHA1 is currently the only supported object ID type.
|
37
|
+
*/
|
38
|
+
|
39
|
+
/** SHA1 is currently libgit2's default oid type. */
|
40
|
+
#define GIT_OID_DEFAULT GIT_OID_SHA1
|
41
|
+
|
42
|
+
/** Size (in bytes) of a raw/binary sha1 oid */
|
43
|
+
#define GIT_OID_SHA1_SIZE 20
|
44
|
+
/** Size (in bytes) of a hex formatted sha1 oid */
|
45
|
+
#define GIT_OID_SHA1_HEXSIZE (GIT_OID_SHA1_SIZE * 2)
|
46
|
+
|
47
|
+
/**
|
48
|
+
* The binary representation of the null sha1 object ID.
|
49
|
+
*/
|
50
|
+
#ifndef GIT_EXPERIMENTAL_SHA256
|
51
|
+
# define GIT_OID_SHA1_ZERO { { 0 } }
|
52
|
+
#else
|
53
|
+
# define GIT_OID_SHA1_ZERO { GIT_OID_SHA1, { 0 } }
|
54
|
+
#endif
|
55
|
+
|
56
|
+
/**
|
57
|
+
* The string representation of the null sha1 object ID.
|
58
|
+
*/
|
59
|
+
#define GIT_OID_SHA1_HEXZERO "0000000000000000000000000000000000000000"
|
60
|
+
|
61
|
+
/*
|
62
|
+
* Experimental SHA256 support is a breaking change to the API.
|
63
|
+
* This exists for application compatibility testing.
|
64
|
+
*/
|
65
|
+
|
66
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
67
|
+
|
68
|
+
/** Size (in bytes) of a raw/binary sha256 oid */
|
69
|
+
# define GIT_OID_SHA256_SIZE 32
|
70
|
+
/** Size (in bytes) of a hex formatted sha256 oid */
|
71
|
+
# define GIT_OID_SHA256_HEXSIZE (GIT_OID_SHA256_SIZE * 2)
|
72
|
+
|
73
|
+
/**
|
74
|
+
* The binary representation of the null sha256 object ID.
|
75
|
+
*/
|
76
|
+
# define GIT_OID_SHA256_ZERO { GIT_OID_SHA256, { 0 } }
|
77
|
+
|
78
|
+
/**
|
79
|
+
* The string representation of the null sha256 object ID.
|
80
|
+
*/
|
81
|
+
# define GIT_OID_SHA256_HEXZERO "0000000000000000000000000000000000000000000000000000000000000000"
|
82
|
+
|
83
|
+
#endif
|
84
|
+
|
85
|
+
/* Maximum possible object ID size in raw / hex string format. */
|
86
|
+
#ifndef GIT_EXPERIMENTAL_SHA256
|
87
|
+
# define GIT_OID_MAX_SIZE GIT_OID_SHA1_SIZE
|
88
|
+
# define GIT_OID_MAX_HEXSIZE GIT_OID_SHA1_HEXSIZE
|
89
|
+
#else
|
90
|
+
# define GIT_OID_MAX_SIZE GIT_OID_SHA256_SIZE
|
91
|
+
# define GIT_OID_MAX_HEXSIZE GIT_OID_SHA256_HEXSIZE
|
92
|
+
#endif
|
27
93
|
|
28
94
|
/** Minimum length (in number of hex characters,
|
29
95
|
* i.e. packets of 4 bits) of an oid prefix */
|
@@ -31,29 +97,50 @@ GIT_BEGIN_DECL
|
|
31
97
|
|
32
98
|
/** Unique identity of any object (commit, tree, blob, tag). */
|
33
99
|
typedef struct git_oid {
|
100
|
+
|
101
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
102
|
+
/** type of object id */
|
103
|
+
unsigned char type;
|
104
|
+
#endif
|
105
|
+
|
34
106
|
/** raw binary formatted id */
|
35
|
-
unsigned char id[
|
107
|
+
unsigned char id[GIT_OID_MAX_SIZE];
|
36
108
|
} git_oid;
|
37
109
|
|
38
110
|
/**
|
39
111
|
* Parse a hex formatted object id into a git_oid.
|
40
112
|
*
|
113
|
+
* The appropriate number of bytes for the given object ID type will
|
114
|
+
* be read from the string - 40 bytes for SHA1, 64 bytes for SHA256.
|
115
|
+
* The given string need not be NUL terminated.
|
116
|
+
*
|
41
117
|
* @param out oid structure the result is written into.
|
42
118
|
* @param str input hex string; must be pointing at the start of
|
43
119
|
* the hex sequence and have at least the number of bytes
|
44
|
-
* needed for an oid encoded in hex (40 bytes
|
120
|
+
* needed for an oid encoded in hex (40 bytes for sha1,
|
121
|
+
* 256 bytes for sha256).
|
122
|
+
* @param type the type of object id
|
45
123
|
* @return 0 or an error code
|
46
124
|
*/
|
125
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
126
|
+
GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str, git_oid_t type);
|
127
|
+
#else
|
47
128
|
GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str);
|
129
|
+
#endif
|
48
130
|
|
49
131
|
/**
|
50
|
-
* Parse a hex formatted
|
132
|
+
* Parse a hex formatted NUL-terminated string into a git_oid.
|
51
133
|
*
|
52
134
|
* @param out oid structure the result is written into.
|
53
135
|
* @param str input hex string; must be null-terminated.
|
136
|
+
* @param type the type of object id
|
54
137
|
* @return 0 or an error code
|
55
138
|
*/
|
139
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
140
|
+
GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str, git_oid_t type);
|
141
|
+
#else
|
56
142
|
GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str);
|
143
|
+
#endif
|
57
144
|
|
58
145
|
/**
|
59
146
|
* Parse N characters of a hex formatted object id into a git_oid.
|
@@ -64,9 +151,14 @@ GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str);
|
|
64
151
|
* @param out oid structure the result is written into.
|
65
152
|
* @param str input hex string of at least size `length`
|
66
153
|
* @param length length of the input string
|
154
|
+
* @param type the type of object id
|
67
155
|
* @return 0 or an error code
|
68
156
|
*/
|
157
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
158
|
+
GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length, git_oid_t type);
|
159
|
+
#else
|
69
160
|
GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length);
|
161
|
+
#endif
|
70
162
|
|
71
163
|
/**
|
72
164
|
* Copy an already raw oid into a git_oid structure.
|
@@ -75,16 +167,21 @@ GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length);
|
|
75
167
|
* @param raw the raw input bytes to be copied.
|
76
168
|
* @return 0 on success or error code
|
77
169
|
*/
|
170
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
171
|
+
GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw, git_oid_t type);
|
172
|
+
#else
|
78
173
|
GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw);
|
174
|
+
#endif
|
79
175
|
|
80
176
|
/**
|
81
177
|
* Format a git_oid into a hex string.
|
82
178
|
*
|
83
179
|
* @param out output hex string; must be pointing at the start of
|
84
180
|
* the hex sequence and have at least the number of bytes
|
85
|
-
* needed for an oid encoded in hex (40 bytes
|
86
|
-
*
|
87
|
-
* by the caller if it is
|
181
|
+
* needed for an oid encoded in hex (40 bytes for SHA1,
|
182
|
+
* 64 bytes for SHA256). Only the oid digits are written;
|
183
|
+
* a '\\0' terminator must be added by the caller if it is
|
184
|
+
* required.
|
88
185
|
* @param id oid structure to format.
|
89
186
|
* @return 0 on success or error code
|
90
187
|
*/
|
@@ -94,7 +191,7 @@ GIT_EXTERN(int) git_oid_fmt(char *out, const git_oid *id);
|
|
94
191
|
* Format a git_oid into a partial hex string.
|
95
192
|
*
|
96
193
|
* @param out output hex string; you say how many bytes to write.
|
97
|
-
* If the number of bytes is >
|
194
|
+
* If the number of bytes is > GIT_OID_SHA1_HEXSIZE, extra bytes
|
98
195
|
* will be zeroed; if not, a '\0' terminator is NOT added.
|
99
196
|
* @param n number of characters to write into out string
|
100
197
|
* @param id oid structure to format.
|
@@ -110,9 +207,10 @@ GIT_EXTERN(int) git_oid_nfmt(char *out, size_t n, const git_oid *id);
|
|
110
207
|
*
|
111
208
|
* @param out output hex string; must be pointing at the start of
|
112
209
|
* the hex sequence and have at least the number of bytes
|
113
|
-
* needed for an oid encoded in hex (41 bytes
|
114
|
-
*
|
115
|
-
* by the caller if it
|
210
|
+
* needed for an oid encoded in hex (41 bytes for SHA1,
|
211
|
+
* 65 bytes for SHA256). Only the oid digits are written;
|
212
|
+
* a '\\0' terminator must be added by the caller if it
|
213
|
+
* is required.
|
116
214
|
* @param id oid structure to format.
|
117
215
|
* @return 0 on success, non-zero callback return value, or error code
|
118
216
|
*/
|
@@ -134,7 +232,9 @@ GIT_EXTERN(char *) git_oid_tostr_s(const git_oid *oid);
|
|
134
232
|
/**
|
135
233
|
* Format a git_oid into a buffer as a hex format c-string.
|
136
234
|
*
|
137
|
-
* If the buffer is smaller than
|
235
|
+
* If the buffer is smaller than the size of a hex-formatted oid string
|
236
|
+
* plus an additional byte (GIT_OID_SHA_HEXSIZE + 1 for SHA1 or
|
237
|
+
* GIT_OID_SHA256_HEXSIZE + 1 for SHA256), then the resulting
|
138
238
|
* oid c-string will be truncated to n-1 characters (but will still be
|
139
239
|
* NUL-byte terminated).
|
140
240
|
*
|
@@ -51,7 +51,7 @@ GIT_BEGIN_DECL
|
|
51
51
|
*/
|
52
52
|
typedef enum {
|
53
53
|
GIT_PACKBUILDER_ADDING_OBJECTS = 0,
|
54
|
-
GIT_PACKBUILDER_DELTAFICATION = 1
|
54
|
+
GIT_PACKBUILDER_DELTAFICATION = 1
|
55
55
|
} git_packbuilder_stage_t;
|
56
56
|
|
57
57
|
/**
|
@@ -148,6 +148,7 @@ GIT_EXTERN(int) git_packbuilder_insert_recur(git_packbuilder *pb, const git_oid
|
|
148
148
|
*
|
149
149
|
* @param buf Buffer where to write the packfile
|
150
150
|
* @param pb The packbuilder
|
151
|
+
* @return 0 or an error code
|
151
152
|
*/
|
152
153
|
GIT_EXTERN(int) git_packbuilder_write_buf(git_buf *buf, git_packbuilder *pb);
|
153
154
|
|
@@ -169,15 +170,30 @@ GIT_EXTERN(int) git_packbuilder_write(
|
|
169
170
|
git_indexer_progress_cb progress_cb,
|
170
171
|
void *progress_cb_payload);
|
171
172
|
|
173
|
+
#ifndef GIT_DEPRECATE_HARD
|
172
174
|
/**
|
173
|
-
* Get the packfile's hash
|
174
|
-
*
|
175
|
-
* A packfile's name is derived from the sorted hashing of all object
|
176
|
-
* names. This is only correct after the packfile has been written.
|
177
|
-
*
|
178
|
-
* @
|
179
|
-
|
175
|
+
* Get the packfile's hash
|
176
|
+
*
|
177
|
+
* A packfile's name is derived from the sorted hashing of all object
|
178
|
+
* names. This is only correct after the packfile has been written.
|
179
|
+
*
|
180
|
+
* @deprecated use git_packbuilder_name
|
181
|
+
* @param pb The packbuilder object
|
182
|
+
* @return 0 or an error code
|
183
|
+
*/
|
180
184
|
GIT_EXTERN(const git_oid *) git_packbuilder_hash(git_packbuilder *pb);
|
185
|
+
#endif
|
186
|
+
|
187
|
+
/**
|
188
|
+
* Get the unique name for the resulting packfile.
|
189
|
+
*
|
190
|
+
* The packfile's name is derived from the packfile's content.
|
191
|
+
* This is only correct after the packfile has been written.
|
192
|
+
*
|
193
|
+
* @param pb the packbuilder instance
|
194
|
+
* @return a NUL terminated string for the packfile name
|
195
|
+
*/
|
196
|
+
GIT_EXTERN(const char *) git_packbuilder_name(git_packbuilder *pb);
|
181
197
|
|
182
198
|
/**
|
183
199
|
* Callback used to iterate over packed objects
|
@@ -139,17 +139,25 @@ GIT_EXTERN(int) git_patch_from_buffers(
|
|
139
139
|
|
140
140
|
/**
|
141
141
|
* Free a git_patch object.
|
142
|
+
*
|
143
|
+
* @param patch The patch to free.
|
142
144
|
*/
|
143
145
|
GIT_EXTERN(void) git_patch_free(git_patch *patch);
|
144
146
|
|
145
147
|
/**
|
146
148
|
* Get the delta associated with a patch. This delta points to internal
|
147
149
|
* data and you do not have to release it when you are done with it.
|
150
|
+
*
|
151
|
+
* @param patch The patch in which to get the delta.
|
152
|
+
* @return The delta associated with the patch.
|
148
153
|
*/
|
149
154
|
GIT_EXTERN(const git_diff_delta *) git_patch_get_delta(const git_patch *patch);
|
150
155
|
|
151
156
|
/**
|
152
157
|
* Get the number of hunks in a patch
|
158
|
+
*
|
159
|
+
* @param patch The patch in which to get the number of hunks.
|
160
|
+
* @return The number of hunks of the patch.
|
153
161
|
*/
|
154
162
|
GIT_EXTERN(size_t) git_patch_num_hunks(const git_patch *patch);
|
155
163
|
|
@@ -69,7 +69,7 @@ typedef enum {
|
|
69
69
|
* just test if there were any matches at all or in combination with
|
70
70
|
* GIT_PATHSPEC_FIND_FAILURES to validate a pathspec.
|
71
71
|
*/
|
72
|
-
GIT_PATHSPEC_FAILURES_ONLY = (1u << 5)
|
72
|
+
GIT_PATHSPEC_FAILURES_ONLY = (1u << 5)
|
73
73
|
} git_pathspec_flag_t;
|
74
74
|
|
75
75
|
/**
|