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,16 +7,12 @@
|
|
|
7
7
|
#ifndef INCLUDE_util_h__
|
|
8
8
|
#define INCLUDE_util_h__
|
|
9
9
|
|
|
10
|
-
#include "common.h"
|
|
11
|
-
|
|
12
10
|
#ifndef GIT_WIN32
|
|
13
11
|
# include <ctype.h>
|
|
14
12
|
#endif
|
|
15
13
|
|
|
16
|
-
#include "
|
|
17
|
-
|
|
18
|
-
#include "buffer.h"
|
|
19
|
-
#include "common.h"
|
|
14
|
+
#include "str.h"
|
|
15
|
+
#include "git2_util.h"
|
|
20
16
|
#include "strnlen.h"
|
|
21
17
|
#include "thread.h"
|
|
22
18
|
|
|
@@ -41,8 +37,6 @@
|
|
|
41
37
|
# define GIT_CONTAINER_OF(ptr, type, member) (type *)(ptr)
|
|
42
38
|
#endif
|
|
43
39
|
|
|
44
|
-
#define GIT_DATE_RFC2822_SZ 32
|
|
45
|
-
|
|
46
40
|
/**
|
|
47
41
|
* Return the length of a constant string.
|
|
48
42
|
* We are aware that `strlen` performs the same task and is usually
|
|
@@ -298,26 +292,6 @@ GIT_INLINE(bool) git__isxdigit(int c)
|
|
|
298
292
|
*/
|
|
299
293
|
extern int git__parse_bool(int *out, const char *value);
|
|
300
294
|
|
|
301
|
-
/*
|
|
302
|
-
* Parse a string into a value as a git_time_t.
|
|
303
|
-
*
|
|
304
|
-
* Sample valid input:
|
|
305
|
-
* - "yesterday"
|
|
306
|
-
* - "July 17, 2003"
|
|
307
|
-
* - "2003-7-17 08:23"
|
|
308
|
-
*/
|
|
309
|
-
extern int git__date_parse(git_time_t *out, const char *date);
|
|
310
|
-
|
|
311
|
-
/*
|
|
312
|
-
* Format a git_time as a RFC2822 string
|
|
313
|
-
*
|
|
314
|
-
* @param out buffer to store formatted date; a '\\0' terminator will automatically be added.
|
|
315
|
-
* @param len size of the buffer; should be atleast `GIT_DATE_RFC2822_SZ` in size;
|
|
316
|
-
* @param date the date to be formatted
|
|
317
|
-
* @return 0 if successful; -1 on error
|
|
318
|
-
*/
|
|
319
|
-
extern int git__date_rfc2822_fmt(char *out, size_t len, const git_time *date);
|
|
320
|
-
|
|
321
295
|
/*
|
|
322
296
|
* Unescapes a string in-place.
|
|
323
297
|
*
|
|
@@ -402,11 +376,12 @@ GIT_INLINE(double) git__timer(void)
|
|
|
402
376
|
|
|
403
377
|
#endif
|
|
404
378
|
|
|
405
|
-
extern int git__getenv(
|
|
379
|
+
extern int git__getenv(git_str *out, const char *name);
|
|
406
380
|
|
|
407
381
|
extern int git__online_cpus(void);
|
|
408
382
|
|
|
409
383
|
GIT_INLINE(int) git__noop(void) { return 0; }
|
|
384
|
+
GIT_INLINE(int) git__noop_args(void *a, ...) { GIT_UNUSED(a); return 0; }
|
|
410
385
|
|
|
411
386
|
#include "alloc.h"
|
|
412
387
|
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
#ifndef INCLUDE_vector_h__
|
|
8
8
|
#define INCLUDE_vector_h__
|
|
9
9
|
|
|
10
|
-
#include "
|
|
10
|
+
#include "git2_util.h"
|
|
11
11
|
|
|
12
12
|
typedef int (*git_vector_cmp)(const void *, const void *);
|
|
13
13
|
|
|
14
14
|
enum {
|
|
15
15
|
GIT_VECTOR_SORTED = (1u << 0),
|
|
16
|
-
GIT_VECTOR_FLAG_MAX = (1u << 1)
|
|
16
|
+
GIT_VECTOR_FLAG_MAX = (1u << 1)
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
typedef struct git_vector {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
#include "path_w32.h"
|
|
9
9
|
|
|
10
|
-
#include "
|
|
10
|
+
#include "fs_path.h"
|
|
11
11
|
#include "utf-conv.h"
|
|
12
12
|
#include "posix.h"
|
|
13
13
|
#include "reparse.h"
|
|
@@ -41,7 +41,7 @@ GIT_INLINE(int) path__cwd(wchar_t *path, int size)
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
/* The Win32 APIs may return "\\?\" once you've used it first.
|
|
44
|
-
* But it may not. What a gloriously
|
|
44
|
+
* But it may not. What a gloriously predictable API!
|
|
45
45
|
*/
|
|
46
46
|
if (wcsncmp(path, PATH__NT_NAMESPACE, PATH__NT_NAMESPACE_LEN))
|
|
47
47
|
return len;
|
|
@@ -57,7 +57,7 @@ static wchar_t *path__skip_server(wchar_t *path)
|
|
|
57
57
|
wchar_t *c;
|
|
58
58
|
|
|
59
59
|
for (c = path; *c; c++) {
|
|
60
|
-
if (
|
|
60
|
+
if (git_fs_path_is_dirsep(*c))
|
|
61
61
|
return c + 1;
|
|
62
62
|
}
|
|
63
63
|
|
|
@@ -71,9 +71,9 @@ static wchar_t *path__skip_prefix(wchar_t *path)
|
|
|
71
71
|
|
|
72
72
|
if (wcsncmp(path, L"UNC\\", 4) == 0)
|
|
73
73
|
path = path__skip_server(path + 4);
|
|
74
|
-
else if (
|
|
74
|
+
else if (git_fs_path_is_absolute(path))
|
|
75
75
|
path += PATH__ABSOLUTE_LEN;
|
|
76
|
-
} else if (
|
|
76
|
+
} else if (git_fs_path_is_absolute(path)) {
|
|
77
77
|
path += PATH__ABSOLUTE_LEN;
|
|
78
78
|
} else if (path__is_unc(path)) {
|
|
79
79
|
path = path__skip_server(path + 2);
|
|
@@ -151,6 +151,137 @@ int git_win32_path_canonicalize(git_win32_path path)
|
|
|
151
151
|
return (int)(to - path);
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
+
static int git_win32_path_join(
|
|
155
|
+
git_win32_path dest,
|
|
156
|
+
const wchar_t *one,
|
|
157
|
+
size_t one_len,
|
|
158
|
+
const wchar_t *two,
|
|
159
|
+
size_t two_len)
|
|
160
|
+
{
|
|
161
|
+
size_t backslash = 0;
|
|
162
|
+
|
|
163
|
+
if (one_len && two_len && one[one_len - 1] != L'\\')
|
|
164
|
+
backslash = 1;
|
|
165
|
+
|
|
166
|
+
if (one_len + two_len + backslash > MAX_PATH) {
|
|
167
|
+
git_error_set(GIT_ERROR_INVALID, "path too long");
|
|
168
|
+
return -1;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
memmove(dest, one, one_len * sizeof(wchar_t));
|
|
172
|
+
|
|
173
|
+
if (backslash)
|
|
174
|
+
dest[one_len] = L'\\';
|
|
175
|
+
|
|
176
|
+
memcpy(dest + one_len + backslash, two, two_len * sizeof(wchar_t));
|
|
177
|
+
dest[one_len + backslash + two_len] = L'\0';
|
|
178
|
+
|
|
179
|
+
return 0;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
struct win32_path_iter {
|
|
183
|
+
wchar_t *env;
|
|
184
|
+
const wchar_t *current_dir;
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
static int win32_path_iter_init(struct win32_path_iter *iter)
|
|
188
|
+
{
|
|
189
|
+
DWORD len = GetEnvironmentVariableW(L"PATH", NULL, 0);
|
|
190
|
+
|
|
191
|
+
if (!len && GetLastError() == ERROR_ENVVAR_NOT_FOUND) {
|
|
192
|
+
iter->env = NULL;
|
|
193
|
+
iter->current_dir = NULL;
|
|
194
|
+
return 0;
|
|
195
|
+
} else if (!len) {
|
|
196
|
+
git_error_set(GIT_ERROR_OS, "could not load PATH");
|
|
197
|
+
return -1;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
iter->env = git__malloc(len * sizeof(wchar_t));
|
|
201
|
+
GIT_ERROR_CHECK_ALLOC(iter->env);
|
|
202
|
+
|
|
203
|
+
len = GetEnvironmentVariableW(L"PATH", iter->env, len);
|
|
204
|
+
|
|
205
|
+
if (len == 0) {
|
|
206
|
+
git_error_set(GIT_ERROR_OS, "could not load PATH");
|
|
207
|
+
return -1;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
iter->current_dir = iter->env;
|
|
211
|
+
return 0;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
static int win32_path_iter_next(
|
|
215
|
+
const wchar_t **out,
|
|
216
|
+
size_t *out_len,
|
|
217
|
+
struct win32_path_iter *iter)
|
|
218
|
+
{
|
|
219
|
+
const wchar_t *start;
|
|
220
|
+
wchar_t term;
|
|
221
|
+
size_t len = 0;
|
|
222
|
+
|
|
223
|
+
if (!iter->current_dir || !*iter->current_dir)
|
|
224
|
+
return GIT_ITEROVER;
|
|
225
|
+
|
|
226
|
+
term = (*iter->current_dir == L'"') ? *iter->current_dir++ : L';';
|
|
227
|
+
start = iter->current_dir;
|
|
228
|
+
|
|
229
|
+
while (*iter->current_dir && *iter->current_dir != term) {
|
|
230
|
+
iter->current_dir++;
|
|
231
|
+
len++;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
*out = start;
|
|
235
|
+
*out_len = len;
|
|
236
|
+
|
|
237
|
+
if (term == L'"' && *iter->current_dir)
|
|
238
|
+
iter->current_dir++;
|
|
239
|
+
|
|
240
|
+
while (*iter->current_dir == L';')
|
|
241
|
+
iter->current_dir++;
|
|
242
|
+
|
|
243
|
+
return 0;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
static void win32_path_iter_dispose(struct win32_path_iter *iter)
|
|
247
|
+
{
|
|
248
|
+
if (!iter)
|
|
249
|
+
return;
|
|
250
|
+
|
|
251
|
+
git__free(iter->env);
|
|
252
|
+
iter->env = NULL;
|
|
253
|
+
iter->current_dir = NULL;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
int git_win32_path_find_executable(git_win32_path fullpath, wchar_t *exe)
|
|
257
|
+
{
|
|
258
|
+
struct win32_path_iter path_iter;
|
|
259
|
+
const wchar_t *dir;
|
|
260
|
+
size_t dir_len, exe_len = wcslen(exe);
|
|
261
|
+
bool found = false;
|
|
262
|
+
|
|
263
|
+
if (win32_path_iter_init(&path_iter) < 0)
|
|
264
|
+
return -1;
|
|
265
|
+
|
|
266
|
+
while (win32_path_iter_next(&dir, &dir_len, &path_iter) != GIT_ITEROVER) {
|
|
267
|
+
if (git_win32_path_join(fullpath, dir, dir_len, exe, exe_len) < 0)
|
|
268
|
+
continue;
|
|
269
|
+
|
|
270
|
+
if (_waccess(fullpath, 0) == 0) {
|
|
271
|
+
found = true;
|
|
272
|
+
break;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
win32_path_iter_dispose(&path_iter);
|
|
277
|
+
|
|
278
|
+
if (found)
|
|
279
|
+
return 0;
|
|
280
|
+
|
|
281
|
+
fullpath[0] = L'\0';
|
|
282
|
+
return GIT_ENOTFOUND;
|
|
283
|
+
}
|
|
284
|
+
|
|
154
285
|
static int win32_path_cwd(wchar_t *out, size_t len)
|
|
155
286
|
{
|
|
156
287
|
int cwd_len;
|
|
@@ -204,7 +335,7 @@ int git_win32_path_from_utf8(git_win32_path out, const char *src)
|
|
|
204
335
|
dest += PATH__NT_NAMESPACE_LEN;
|
|
205
336
|
|
|
206
337
|
/* See if this is an absolute path (beginning with a drive letter) */
|
|
207
|
-
if (
|
|
338
|
+
if (git_fs_path_is_absolute(src)) {
|
|
208
339
|
if (git__utf8_to_16(dest, GIT_WIN_PATH_MAX, src) < 0)
|
|
209
340
|
goto on_error;
|
|
210
341
|
}
|
|
@@ -228,7 +359,7 @@ int git_win32_path_from_utf8(git_win32_path out, const char *src)
|
|
|
228
359
|
if (path__cwd(dest, GIT_WIN_PATH_MAX) < 0)
|
|
229
360
|
goto on_error;
|
|
230
361
|
|
|
231
|
-
if (!
|
|
362
|
+
if (!git_fs_path_is_absolute(dest)) {
|
|
232
363
|
errno = ENOENT;
|
|
233
364
|
goto on_error;
|
|
234
365
|
}
|
|
@@ -266,7 +397,7 @@ int git_win32_path_relative_from_utf8(git_win32_path out, const char *src)
|
|
|
266
397
|
int len;
|
|
267
398
|
|
|
268
399
|
/* Handle absolute paths */
|
|
269
|
-
if (
|
|
400
|
+
if (git_fs_path_is_absolute(src) ||
|
|
270
401
|
path__is_nt_namespace(src) ||
|
|
271
402
|
path__is_unc(src) ||
|
|
272
403
|
path__startswith_slash(src)) {
|
|
@@ -305,7 +436,7 @@ int git_win32_path_to_utf8(git_win32_utf8_path dest, const wchar_t *src)
|
|
|
305
436
|
if ((len = git__utf16_to_8(out, GIT_WIN_PATH_UTF8, src)) < 0)
|
|
306
437
|
return len;
|
|
307
438
|
|
|
308
|
-
|
|
439
|
+
git_fs_path_mkposix(dest);
|
|
309
440
|
|
|
310
441
|
return len;
|
|
311
442
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
#ifndef INCLUDE_win32_path_w32_h__
|
|
8
8
|
#define INCLUDE_win32_path_w32_h__
|
|
9
9
|
|
|
10
|
-
#include "
|
|
10
|
+
#include "git2_util.h"
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Create a Win32 path (in UCS-2 format) from a UTF-8 string. If the given
|
|
@@ -86,4 +86,6 @@ size_t git_win32_path_trim_end(wchar_t *str, size_t len);
|
|
|
86
86
|
*/
|
|
87
87
|
size_t git_win32_path_remove_namespace(wchar_t *str, size_t len);
|
|
88
88
|
|
|
89
|
+
int git_win32_path_find_executable(git_win32_path fullpath, wchar_t* exe);
|
|
90
|
+
|
|
89
91
|
#endif
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
#ifndef INCLUDE_win32_posix_h__
|
|
8
8
|
#define INCLUDE_win32_posix_h__
|
|
9
9
|
|
|
10
|
-
#include "
|
|
10
|
+
#include "git2_util.h"
|
|
11
11
|
#include "../posix.h"
|
|
12
12
|
#include "win32-compat.h"
|
|
13
13
|
#include "path_w32.h"
|
|
@@ -42,7 +42,6 @@ extern int p_inet_pton(int af, const char *src, void* dst);
|
|
|
42
42
|
|
|
43
43
|
extern int p_vsnprintf(char *buffer, size_t count, const char *format, va_list argptr);
|
|
44
44
|
extern int p_snprintf(char *buffer, size_t count, const char *format, ...) GIT_FORMAT_PRINTF(3, 4);
|
|
45
|
-
extern int p_mkstemp(char *tmp_path);
|
|
46
45
|
extern int p_chdir(const char *path);
|
|
47
46
|
extern int p_chmod(const char *path, mode_t mode);
|
|
48
47
|
extern int p_rmdir(const char *path);
|
|
@@ -5,16 +5,14 @@
|
|
|
5
5
|
* a Linking Exception. For full terms see the included COPYING file.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
#include "
|
|
8
|
+
#include "git2_util.h"
|
|
9
9
|
|
|
10
10
|
#include "../posix.h"
|
|
11
11
|
#include "../futils.h"
|
|
12
|
-
#include "
|
|
12
|
+
#include "fs_path.h"
|
|
13
13
|
#include "path_w32.h"
|
|
14
14
|
#include "utf-conv.h"
|
|
15
|
-
#include "repository.h"
|
|
16
15
|
#include "reparse.h"
|
|
17
|
-
#include "buffer.h"
|
|
18
16
|
#include <errno.h>
|
|
19
17
|
#include <io.h>
|
|
20
18
|
#include <fcntl.h>
|
|
@@ -415,21 +413,21 @@ int p_readlink(const char *path, char *buf, size_t bufsiz)
|
|
|
415
413
|
|
|
416
414
|
static bool target_is_dir(const char *target, const char *path)
|
|
417
415
|
{
|
|
418
|
-
|
|
416
|
+
git_str resolved = GIT_STR_INIT;
|
|
419
417
|
git_win32_path resolved_w;
|
|
420
418
|
bool isdir = true;
|
|
421
419
|
|
|
422
|
-
if (
|
|
420
|
+
if (git_fs_path_is_absolute(target))
|
|
423
421
|
git_win32_path_from_utf8(resolved_w, target);
|
|
424
|
-
else if (
|
|
425
|
-
|
|
422
|
+
else if (git_fs_path_dirname_r(&resolved, path) < 0 ||
|
|
423
|
+
git_fs_path_apply_relative(&resolved, target) < 0 ||
|
|
426
424
|
git_win32_path_from_utf8(resolved_w, resolved.ptr) < 0)
|
|
427
425
|
goto out;
|
|
428
426
|
|
|
429
427
|
isdir = GetFileAttributesW(resolved_w) & FILE_ATTRIBUTE_DIRECTORY;
|
|
430
428
|
|
|
431
429
|
out:
|
|
432
|
-
|
|
430
|
+
git_str_dispose(&resolved);
|
|
433
431
|
return isdir;
|
|
434
432
|
}
|
|
435
433
|
|
|
@@ -443,7 +441,7 @@ int p_symlink(const char *target, const char *path)
|
|
|
443
441
|
* not want to use `git_win32_path_from_utf8` for converting the target,
|
|
444
442
|
* as that function will automatically pre-pend the current working
|
|
445
443
|
* directory in case the path is not absolute. As Git will instead use
|
|
446
|
-
* relative symlinks, this is not
|
|
444
|
+
* relative symlinks, this is not something we want.
|
|
447
445
|
*/
|
|
448
446
|
if (git_win32_path_from_utf8(path_w, path) < 0 ||
|
|
449
447
|
git_win32_path_relative_from_utf8(target_w, target) < 0)
|
|
@@ -662,7 +660,7 @@ int p_getcwd(char *buffer_out, size_t size)
|
|
|
662
660
|
return -1;
|
|
663
661
|
}
|
|
664
662
|
|
|
665
|
-
|
|
663
|
+
git_fs_path_mkposix(buffer_out);
|
|
666
664
|
return 0;
|
|
667
665
|
}
|
|
668
666
|
|
|
@@ -822,7 +820,7 @@ char *p_realpath(const char *orig_path, char *buffer)
|
|
|
822
820
|
if (git_win32_path_to_utf8(buffer, buffer_w) < 0)
|
|
823
821
|
return NULL;
|
|
824
822
|
|
|
825
|
-
|
|
823
|
+
git_fs_path_mkposix(buffer);
|
|
826
824
|
|
|
827
825
|
return buffer;
|
|
828
826
|
}
|
|
@@ -862,20 +860,6 @@ int p_snprintf(char *buffer, size_t count, const char *format, ...)
|
|
|
862
860
|
return r;
|
|
863
861
|
}
|
|
864
862
|
|
|
865
|
-
/* TODO: wut? */
|
|
866
|
-
int p_mkstemp(char *tmp_path)
|
|
867
|
-
{
|
|
868
|
-
#if defined(_MSC_VER) && _MSC_VER >= 1500
|
|
869
|
-
if (_mktemp_s(tmp_path, strlen(tmp_path) + 1) != 0)
|
|
870
|
-
return -1;
|
|
871
|
-
#else
|
|
872
|
-
if (_mktemp(tmp_path) == NULL)
|
|
873
|
-
return -1;
|
|
874
|
-
#endif
|
|
875
|
-
|
|
876
|
-
return p_open(tmp_path, O_RDWR | O_CREAT | O_EXCL, 0744); /* -V536 */
|
|
877
|
-
}
|
|
878
|
-
|
|
879
863
|
int p_access(const char *path, mode_t mode)
|
|
880
864
|
{
|
|
881
865
|
git_win32_path buf;
|
|
@@ -1003,7 +987,7 @@ ssize_t p_pread(int fd, void *data, size_t size, off64_t offset)
|
|
|
1003
987
|
/* Fail if the final offset would have overflowed to match POSIX semantics. */
|
|
1004
988
|
if (!git__is_ssizet(size) || git__add_int64_overflow(&final_offset, offset, (int64_t)size)) {
|
|
1005
989
|
errno = EINVAL;
|
|
1006
|
-
return -1;
|
|
990
|
+
return -1;
|
|
1007
991
|
}
|
|
1008
992
|
|
|
1009
993
|
/*
|
|
@@ -1038,7 +1022,7 @@ ssize_t p_pwrite(int fd, const void *data, size_t size, off64_t offset)
|
|
|
1038
1022
|
/* Fail if the final offset would have overflowed to match POSIX semantics. */
|
|
1039
1023
|
if (!git__is_ssizet(size) || git__add_int64_overflow(&final_offset, offset, (int64_t)size)) {
|
|
1040
1024
|
errno = EINVAL;
|
|
1041
|
-
return -1;
|
|
1025
|
+
return -1;
|
|
1042
1026
|
}
|
|
1043
1027
|
|
|
1044
1028
|
/*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#include "precompiled.h"
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
|
|
8
8
|
#include "w32_buffer.h"
|
|
9
9
|
|
|
10
|
-
#include "../buffer.h"
|
|
11
10
|
#include "utf-conv.h"
|
|
12
11
|
|
|
13
12
|
GIT_INLINE(int) handle_wc_error(void)
|
|
@@ -20,7 +19,7 @@ GIT_INLINE(int) handle_wc_error(void)
|
|
|
20
19
|
return -1;
|
|
21
20
|
}
|
|
22
21
|
|
|
23
|
-
int
|
|
22
|
+
int git_str_put_w(git_str *buf, const wchar_t *string_w, size_t len_w)
|
|
24
23
|
{
|
|
25
24
|
int utf8_len, utf8_write_len;
|
|
26
25
|
size_t new_size;
|
|
@@ -43,7 +42,7 @@ int git_buf_put_w(git_buf *buf, const wchar_t *string_w, size_t len_w)
|
|
|
43
42
|
GIT_ERROR_CHECK_ALLOC_ADD(&new_size, buf->size, (size_t)utf8_len);
|
|
44
43
|
GIT_ERROR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
|
|
45
44
|
|
|
46
|
-
if (
|
|
45
|
+
if (git_str_grow(buf, new_size) < 0)
|
|
47
46
|
return -1;
|
|
48
47
|
|
|
49
48
|
if ((utf8_write_len = WideCharToMultiByte(
|
|
@@ -7,14 +7,13 @@
|
|
|
7
7
|
#ifndef INCLUDE_win32_w32_buffer_h__
|
|
8
8
|
#define INCLUDE_win32_w32_buffer_h__
|
|
9
9
|
|
|
10
|
-
#include "
|
|
11
|
-
|
|
12
|
-
#include "../buffer.h"
|
|
10
|
+
#include "git2_util.h"
|
|
11
|
+
#include "str.h"
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* Convert a wide character string to UTF-8 and append the results to the
|
|
16
15
|
* buffer.
|
|
17
16
|
*/
|
|
18
|
-
int
|
|
17
|
+
int git_str_put_w(git_str *buf, const wchar_t *string_w, size_t len_w);
|
|
19
18
|
|
|
20
19
|
#endif
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
#include <zlib.h>
|
|
11
11
|
|
|
12
|
-
#include "
|
|
12
|
+
#include "str.h"
|
|
13
13
|
|
|
14
14
|
#define ZSTREAM_BUFFER_SIZE (1024 * 1024)
|
|
15
15
|
#define ZSTREAM_BUFFER_MIN_EXTRA 8
|
|
@@ -164,7 +164,7 @@ int git_zstream_get_output(void *out, size_t *out_len, git_zstream *zstream)
|
|
|
164
164
|
return 0;
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
-
static int zstream_buf(
|
|
167
|
+
static int zstream_buf(git_str *out, const void *in, size_t in_len, git_zstream_t type)
|
|
168
168
|
{
|
|
169
169
|
git_zstream zs = GIT_ZSTREAM_INIT;
|
|
170
170
|
int error = 0;
|
|
@@ -178,7 +178,7 @@ static int zstream_buf(git_buf *out, const void *in, size_t in_len, git_zstream_
|
|
|
178
178
|
while (!git_zstream_done(&zs)) {
|
|
179
179
|
size_t step = git_zstream_suggest_output_len(&zs), written;
|
|
180
180
|
|
|
181
|
-
if ((error =
|
|
181
|
+
if ((error = git_str_grow_by(out, step)) < 0)
|
|
182
182
|
goto done;
|
|
183
183
|
|
|
184
184
|
written = out->asize - out->size;
|
|
@@ -199,12 +199,12 @@ done:
|
|
|
199
199
|
return error;
|
|
200
200
|
}
|
|
201
201
|
|
|
202
|
-
int git_zstream_deflatebuf(
|
|
202
|
+
int git_zstream_deflatebuf(git_str *out, const void *in, size_t in_len)
|
|
203
203
|
{
|
|
204
204
|
return zstream_buf(out, in, in_len, GIT_ZSTREAM_DEFLATE);
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
-
int git_zstream_inflatebuf(
|
|
207
|
+
int git_zstream_inflatebuf(git_str *out, const void *in, size_t in_len)
|
|
208
208
|
{
|
|
209
209
|
return zstream_buf(out, in, in_len, GIT_ZSTREAM_INFLATE);
|
|
210
210
|
}
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
#ifndef INCLUDE_zstream_h__
|
|
8
8
|
#define INCLUDE_zstream_h__
|
|
9
9
|
|
|
10
|
-
#include "
|
|
10
|
+
#include "git2_util.h"
|
|
11
11
|
|
|
12
12
|
#include <zlib.h>
|
|
13
13
|
|
|
14
|
-
#include "
|
|
14
|
+
#include "str.h"
|
|
15
15
|
|
|
16
16
|
typedef enum {
|
|
17
17
|
GIT_ZSTREAM_INFLATE,
|
|
18
|
-
GIT_ZSTREAM_DEFLATE
|
|
18
|
+
GIT_ZSTREAM_DEFLATE
|
|
19
19
|
} git_zstream_t;
|
|
20
20
|
|
|
21
21
|
typedef struct {
|
|
@@ -48,7 +48,7 @@ bool git_zstream_eos(git_zstream *zstream);
|
|
|
48
48
|
|
|
49
49
|
void git_zstream_reset(git_zstream *zstream);
|
|
50
50
|
|
|
51
|
-
int git_zstream_deflatebuf(
|
|
52
|
-
int git_zstream_inflatebuf(
|
|
51
|
+
int git_zstream_deflatebuf(git_str *out, const void *in, size_t in_len);
|
|
52
|
+
int git_zstream_inflatebuf(git_str *out, const void *in, size_t in_len);
|
|
53
53
|
|
|
54
54
|
#endif
|