rugged 1.4.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +34 -2
- data/ext/rugged/extconf.rb +1 -0
- data/ext/rugged/rugged.c +16 -0
- data/ext/rugged/rugged.h +4 -0
- data/ext/rugged/rugged_remote.c +10 -10
- data/ext/rugged/rugged_repo.c +2 -7
- data/ext/rugged/rugged_settings.c +5 -0
- data/lib/rugged/tree.rb +4 -0
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +16 -3
- data/vendor/libgit2/COPYING +40 -0
- data/vendor/libgit2/cmake/AddClarTest.cmake +7 -0
- data/vendor/libgit2/cmake/FindPCRE.cmake +3 -4
- data/vendor/libgit2/cmake/FindPCRE2.cmake +1 -1
- data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +1 -1
- data/vendor/libgit2/cmake/SelectHashes.cmake +62 -14
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +3 -1
- 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/branch.h +2 -2
- data/vendor/libgit2/include/git2/common.h +22 -1
- data/vendor/libgit2/include/git2/config.h +6 -6
- data/vendor/libgit2/include/git2/deprecated.h +2 -0
- data/vendor/libgit2/include/git2/errors.h +19 -4
- data/vendor/libgit2/include/git2/merge.h +1 -1
- data/vendor/libgit2/include/git2/status.h +5 -2
- data/vendor/libgit2/include/git2/sys/remote.h +15 -0
- data/vendor/libgit2/include/git2/sys/transport.h +9 -5
- data/vendor/libgit2/include/git2/version.h +27 -6
- data/vendor/libgit2/src/CMakeLists.txt +104 -214
- data/vendor/libgit2/src/README.md +12 -0
- data/vendor/libgit2/src/cli/CMakeLists.txt +53 -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 +135 -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/{win32 → cli/win32}/precompiled.c +0 -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/features.h.in +9 -0
- data/vendor/libgit2/src/libgit2/CMakeLists.txt +131 -0
- data/vendor/libgit2/src/{annotated_commit.c → libgit2/annotated_commit.c} +0 -0
- data/vendor/libgit2/src/{annotated_commit.h → libgit2/annotated_commit.h} +0 -0
- data/vendor/libgit2/src/{apply.c → libgit2/apply.c} +0 -0
- data/vendor/libgit2/src/{apply.h → libgit2/apply.h} +0 -0
- data/vendor/libgit2/src/{attr.c → libgit2/attr.c} +0 -0
- data/vendor/libgit2/src/{attr.h → libgit2/attr.h} +0 -0
- data/vendor/libgit2/src/{attr_file.c → libgit2/attr_file.c} +0 -0
- data/vendor/libgit2/src/{attr_file.h → libgit2/attr_file.h} +0 -0
- data/vendor/libgit2/src/{attrcache.c → libgit2/attrcache.c} +0 -0
- data/vendor/libgit2/src/{attrcache.h → libgit2/attrcache.h} +0 -0
- data/vendor/libgit2/src/{blame.c → libgit2/blame.c} +0 -0
- data/vendor/libgit2/src/{blame.h → libgit2/blame.h} +0 -0
- data/vendor/libgit2/src/{blame_git.c → libgit2/blame_git.c} +0 -0
- data/vendor/libgit2/src/{blame_git.h → libgit2/blame_git.h} +0 -0
- data/vendor/libgit2/src/{blob.c → libgit2/blob.c} +1 -1
- data/vendor/libgit2/src/{blob.h → libgit2/blob.h} +0 -0
- data/vendor/libgit2/src/{branch.c → libgit2/branch.c} +14 -9
- data/vendor/libgit2/src/{branch.h → libgit2/branch.h} +0 -0
- data/vendor/libgit2/src/{buf.c → libgit2/buf.c} +0 -0
- data/vendor/libgit2/src/{buf.h → libgit2/buf.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.c → libgit2/checkout.c} +0 -0
- data/vendor/libgit2/src/{checkout.h → libgit2/checkout.h} +0 -0
- data/vendor/libgit2/src/{cherrypick.c → libgit2/cherrypick.c} +0 -0
- data/vendor/libgit2/src/{clone.c → libgit2/clone.c} +0 -0
- data/vendor/libgit2/src/{clone.h → libgit2/clone.h} +0 -0
- data/vendor/libgit2/src/{commit.c → libgit2/commit.c} +0 -0
- data/vendor/libgit2/src/{commit.h → libgit2/commit.h} +0 -0
- data/vendor/libgit2/src/{commit_graph.c → libgit2/commit_graph.c} +20 -17
- data/vendor/libgit2/src/{commit_graph.h → libgit2/commit_graph.h} +1 -1
- data/vendor/libgit2/src/{commit_list.c → libgit2/commit_list.c} +0 -0
- data/vendor/libgit2/src/{commit_list.h → libgit2/commit_list.h} +0 -0
- data/vendor/libgit2/src/libgit2/common.h +55 -0
- data/vendor/libgit2/src/{config.c → libgit2/config.c} +14 -7
- data/vendor/libgit2/src/{config.h → libgit2/config.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_file.c → libgit2/config_file.c} +0 -0
- data/vendor/libgit2/src/{config_mem.c → libgit2/config_mem.c} +0 -0
- data/vendor/libgit2/src/{config_parse.c → libgit2/config_parse.c} +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/{crlf.c → libgit2/crlf.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/{describe.c → libgit2/describe.c} +0 -0
- data/vendor/libgit2/src/{diff.c → libgit2/diff.c} +0 -0
- data/vendor/libgit2/src/{diff.h → libgit2/diff.h} +0 -0
- data/vendor/libgit2/src/{diff_driver.c → libgit2/diff_driver.c} +0 -0
- data/vendor/libgit2/src/{diff_driver.h → libgit2/diff_driver.h} +0 -0
- data/vendor/libgit2/src/{diff_file.c → libgit2/diff_file.c} +0 -0
- data/vendor/libgit2/src/{diff_file.h → libgit2/diff_file.h} +0 -0
- data/vendor/libgit2/src/{diff_generate.c → libgit2/diff_generate.c} +0 -0
- data/vendor/libgit2/src/{diff_generate.h → libgit2/diff_generate.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_print.c → libgit2/diff_print.c} +5 -0
- data/vendor/libgit2/src/{diff_stats.c → libgit2/diff_stats.c} +0 -0
- data/vendor/libgit2/src/{diff_stats.h → libgit2/diff_stats.h} +0 -0
- data/vendor/libgit2/src/{diff_tform.c → libgit2/diff_tform.c} +0 -0
- data/vendor/libgit2/src/{diff_tform.h → libgit2/diff_tform.h} +0 -0
- data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +1 -0
- data/vendor/libgit2/src/{diff_xdiff.h → libgit2/diff_xdiff.h} +0 -0
- data/vendor/libgit2/src/{email.c → libgit2/email.c} +0 -0
- data/vendor/libgit2/src/{email.h → libgit2/email.h} +0 -0
- data/vendor/libgit2/src/{errors.c → libgit2/errors.c} +0 -0
- data/vendor/libgit2/src/{errors.h → libgit2/errors.h} +1 -2
- data/vendor/libgit2/src/{fetch.c → libgit2/fetch.c} +5 -2
- data/vendor/libgit2/src/{fetch.h → libgit2/fetch.h} +0 -0
- data/vendor/libgit2/src/{fetchhead.c → libgit2/fetchhead.c} +0 -0
- data/vendor/libgit2/src/{fetchhead.h → libgit2/fetchhead.h} +0 -0
- data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +31 -1
- data/vendor/libgit2/src/{filter.h → libgit2/filter.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/{ident.c → libgit2/ident.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/{ignore.c → libgit2/ignore.c} +0 -0
- data/vendor/libgit2/src/{ignore.h → libgit2/ignore.h} +0 -0
- data/vendor/libgit2/src/{index.c → libgit2/index.c} +6 -6
- data/vendor/libgit2/src/{index.h → libgit2/index.h} +0 -0
- data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +2 -2
- data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
- data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +3 -3
- data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +0 -0
- data/vendor/libgit2/src/{libgit2.c → libgit2/libgit2.c} +13 -0
- data/vendor/libgit2/src/{libgit2.h → libgit2/libgit2.h} +0 -0
- data/vendor/libgit2/src/{mailmap.c → libgit2/mailmap.c} +0 -0
- data/vendor/libgit2/src/{mailmap.h → libgit2/mailmap.h} +0 -0
- data/vendor/libgit2/src/{merge.c → libgit2/merge.c} +0 -0
- data/vendor/libgit2/src/{merge.h → libgit2/merge.h} +0 -0
- data/vendor/libgit2/src/{merge_driver.c → libgit2/merge_driver.c} +0 -0
- data/vendor/libgit2/src/{merge_driver.h → libgit2/merge_driver.h} +0 -0
- data/vendor/libgit2/src/{merge_file.c → libgit2/merge_file.c} +0 -0
- data/vendor/libgit2/src/{message.c → libgit2/message.c} +0 -0
- data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +28 -26
- data/vendor/libgit2/src/{midx.h → libgit2/midx.h} +2 -1
- data/vendor/libgit2/src/{mwindow.c → libgit2/mwindow.c} +9 -9
- data/vendor/libgit2/src/{mwindow.h → libgit2/mwindow.h} +1 -1
- data/vendor/libgit2/src/{netops.c → libgit2/netops.c} +0 -1
- data/vendor/libgit2/src/{netops.h → libgit2/netops.h} +0 -0
- data/vendor/libgit2/src/{notes.c → libgit2/notes.c} +0 -0
- data/vendor/libgit2/src/{notes.h → libgit2/notes.h} +0 -0
- data/vendor/libgit2/src/{object.c → libgit2/object.c} +1 -0
- data/vendor/libgit2/src/{object.h → libgit2/object.h} +0 -0
- data/vendor/libgit2/src/{object_api.c → libgit2/object_api.c} +0 -0
- data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +2 -2
- data/vendor/libgit2/src/{odb.h → libgit2/odb.h} +0 -0
- data/vendor/libgit2/src/{odb_loose.c → libgit2/odb_loose.c} +0 -0
- data/vendor/libgit2/src/{odb_mempack.c → libgit2/odb_mempack.c} +0 -0
- data/vendor/libgit2/src/{odb_pack.c → libgit2/odb_pack.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/{oid.c → libgit2/oid.c} +2 -21
- data/vendor/libgit2/src/{oid.h → libgit2/oid.h} +35 -2
- 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.c → libgit2/oidmap.c} +1 -1
- data/vendor/libgit2/src/{oidmap.h → libgit2/oidmap.h} +0 -0
- data/vendor/libgit2/src/{pack-objects.c → libgit2/pack-objects.c} +0 -0
- data/vendor/libgit2/src/{pack-objects.h → libgit2/pack-objects.h} +0 -0
- data/vendor/libgit2/src/{pack.c → libgit2/pack.c} +24 -18
- data/vendor/libgit2/src/{pack.h → libgit2/pack.h} +3 -2
- data/vendor/libgit2/src/{parse.c → libgit2/parse.c} +0 -0
- data/vendor/libgit2/src/{parse.h → libgit2/parse.h} +0 -0
- data/vendor/libgit2/src/{patch.c → libgit2/patch.c} +0 -0
- data/vendor/libgit2/src/{patch.h → libgit2/patch.h} +0 -0
- data/vendor/libgit2/src/{patch_generate.c → libgit2/patch_generate.c} +0 -0
- data/vendor/libgit2/src/{patch_generate.h → libgit2/patch_generate.h} +0 -0
- data/vendor/libgit2/src/{patch_parse.c → libgit2/patch_parse.c} +0 -0
- data/vendor/libgit2/src/{patch_parse.h → libgit2/patch_parse.h} +0 -0
- data/vendor/libgit2/src/{path.c → libgit2/path.c} +1 -0
- data/vendor/libgit2/src/{path.h → libgit2/path.h} +0 -0
- data/vendor/libgit2/src/{pathspec.c → libgit2/pathspec.c} +0 -0
- data/vendor/libgit2/src/{pathspec.h → libgit2/pathspec.h} +0 -0
- data/vendor/libgit2/src/{proxy.c → libgit2/proxy.c} +0 -0
- data/vendor/libgit2/src/{proxy.h → libgit2/proxy.h} +0 -0
- data/vendor/libgit2/src/{push.c → libgit2/push.c} +0 -0
- data/vendor/libgit2/src/{push.h → libgit2/push.h} +0 -0
- data/vendor/libgit2/src/{reader.c → libgit2/reader.c} +0 -0
- data/vendor/libgit2/src/{reader.h → libgit2/reader.h} +0 -0
- data/vendor/libgit2/src/{rebase.c → libgit2/rebase.c} +11 -1
- 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/{refdb_fs.c → libgit2/refdb_fs.c} +6 -2
- data/vendor/libgit2/src/{reflog.c → libgit2/reflog.c} +0 -0
- data/vendor/libgit2/src/{reflog.h → libgit2/reflog.h} +0 -0
- data/vendor/libgit2/src/{refs.c → libgit2/refs.c} +0 -0
- data/vendor/libgit2/src/{refs.h → libgit2/refs.h} +0 -0
- data/vendor/libgit2/src/{refspec.c → libgit2/refspec.c} +0 -0
- data/vendor/libgit2/src/{refspec.h → libgit2/refspec.h} +0 -0
- data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +6 -3
- data/vendor/libgit2/src/{remote.h → libgit2/remote.h} +1 -1
- data/vendor/libgit2/src/{repo_template.h → libgit2/repo_template.h} +0 -0
- data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +155 -22
- data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +1 -0
- data/vendor/libgit2/src/{reset.c → libgit2/reset.c} +0 -0
- data/vendor/libgit2/src/{revert.c → libgit2/revert.c} +0 -0
- data/vendor/libgit2/src/{revparse.c → libgit2/revparse.c} +0 -0
- data/vendor/libgit2/src/{revwalk.c → libgit2/revwalk.c} +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/{signature.c → libgit2/signature.c} +0 -0
- data/vendor/libgit2/src/{signature.h → libgit2/signature.h} +0 -0
- data/vendor/libgit2/src/{stash.c → libgit2/stash.c} +0 -0
- data/vendor/libgit2/src/{status.c → libgit2/status.c} +0 -0
- data/vendor/libgit2/src/{status.h → libgit2/status.h} +0 -0
- data/vendor/libgit2/src/{strarray.c → libgit2/strarray.c} +0 -0
- data/vendor/libgit2/src/{stream.h → libgit2/stream.h} +0 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.c +0 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.h +0 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.c +0 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.h +0 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.c +0 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.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.c +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/{submodule.c → libgit2/submodule.c} +0 -0
- data/vendor/libgit2/src/{submodule.h → libgit2/submodule.h} +0 -0
- data/vendor/libgit2/src/{sysdir.c → libgit2/sysdir.c} +0 -0
- data/vendor/libgit2/src/{sysdir.h → libgit2/sysdir.h} +0 -0
- data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +15 -5
- data/vendor/libgit2/src/{tag.h → libgit2/tag.h} +0 -0
- data/vendor/libgit2/src/{threadstate.c → libgit2/threadstate.c} +0 -0
- data/vendor/libgit2/src/{threadstate.h → libgit2/threadstate.h} +0 -0
- data/vendor/libgit2/src/{trace.c → libgit2/trace.c} +0 -0
- data/vendor/libgit2/src/{trace.h → libgit2/trace.h} +0 -0
- data/vendor/libgit2/src/{trailer.c → libgit2/trailer.c} +0 -0
- data/vendor/libgit2/src/{transaction.c → libgit2/transaction.c} +0 -0
- data/vendor/libgit2/src/{transaction.h → libgit2/transaction.h} +0 -0
- data/vendor/libgit2/src/{transport.c → libgit2/transport.c} +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth.c +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth.h +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.c +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.h +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.c +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.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}/git.c +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/http.c +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/http.h +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +1 -1
- data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.h +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +12 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart.h +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart_pkt.c +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart_protocol.c +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.c +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.h +0 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +0 -0
- data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +1 -1
- data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +0 -0
- data/vendor/libgit2/src/{tree.c → libgit2/tree.c} +16 -23
- data/vendor/libgit2/src/{tree.h → libgit2/tree.h} +1 -1
- data/vendor/libgit2/src/{userdiff.h → libgit2/userdiff.h} +0 -0
- data/vendor/libgit2/src/{worktree.c → libgit2/worktree.c} +0 -0
- data/vendor/libgit2/src/{worktree.h → libgit2/worktree.h} +0 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/git-xdiff.h +0 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiff.h +0 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.c +0 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.h +0 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.c +0 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.h +0 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xhistogram.c +0 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xinclude.h +0 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmacros.h +0 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmerge.c +0 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xpatience.c +0 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xprepare.c +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.c +0 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xutils.h +0 -0
- data/vendor/libgit2/src/util/CMakeLists.txt +74 -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}/failalloc.h +1 -1
- data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.c +0 -0
- data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.h +1 -1
- data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.c +0 -0
- 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/{bitvec.h → util/bitvec.h} +0 -0
- data/vendor/libgit2/src/{cc-compat.h → util/cc-compat.h} +0 -0
- data/vendor/libgit2/src/{date.c → util/date.c} +4 -3
- data/vendor/libgit2/src/{date.h → util/date.h} +0 -0
- data/vendor/libgit2/src/{filebuf.c → util/filebuf.c} +1 -1
- data/vendor/libgit2/src/{filebuf.h → util/filebuf.h} +1 -1
- data/vendor/libgit2/src/{fs_path.c → util/fs_path.c} +219 -65
- data/vendor/libgit2/src/{fs_path.h → util/fs_path.h} +47 -9
- data/vendor/libgit2/src/{futils.c → util/futils.c} +44 -2
- data/vendor/libgit2/src/{futils.h → util/futils.h} +2 -1
- data/vendor/libgit2/src/{common.h → util/git2_util.h} +13 -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 +1 -1
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.h +3 -3
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/common_crypto.c +55 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/common_crypto.h +11 -3
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/mbedtls.c +46 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/mbedtls.h +14 -4
- data/vendor/libgit2/src/util/hash/openssl.c +194 -0
- data/vendor/libgit2/src/util/hash/openssl.h +45 -0
- data/vendor/libgit2/src/util/hash/rfc6234/sha.h +355 -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 +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/util/hash/win32.c +549 -0
- data/vendor/libgit2/src/util/hash/win32.h +60 -0
- data/vendor/libgit2/src/{hash.c → util/hash.c} +17 -1
- data/vendor/libgit2/src/{hash.h → util/hash.h} +5 -3
- data/vendor/libgit2/src/{integer.h → util/integer.h} +0 -0
- data/vendor/libgit2/src/{khash.h → util/khash.h} +0 -0
- data/vendor/libgit2/src/{map.h → util/map.h} +1 -1
- data/vendor/libgit2/src/{net.c → util/net.c} +0 -1
- data/vendor/libgit2/src/{net.h → util/net.h} +1 -1
- data/vendor/libgit2/src/{pool.c → util/pool.c} +0 -0
- data/vendor/libgit2/src/{pool.h → util/pool.h} +1 -1
- data/vendor/libgit2/src/{posix.c → util/posix.c} +0 -0
- data/vendor/libgit2/src/{posix.h → util/posix.h} +1 -1
- data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
- data/vendor/libgit2/src/{pqueue.h → util/pqueue.h} +1 -1
- data/vendor/libgit2/src/{rand.c → util/rand.c} +7 -3
- data/vendor/libgit2/src/{rand.h → util/rand.h} +1 -1
- data/vendor/libgit2/src/{regexp.c → util/regexp.c} +0 -0
- 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} +0 -0
- data/vendor/libgit2/src/{sortedcache.h → util/sortedcache.h} +1 -1
- data/vendor/libgit2/src/{str.c → util/str.c} +0 -0
- data/vendor/libgit2/src/{str.h → util/str.h} +1 -1
- data/vendor/libgit2/src/{strmap.c → util/strmap.c} +0 -0
- data/vendor/libgit2/src/{strmap.h → util/strmap.h} +1 -1
- data/vendor/libgit2/src/{strnlen.h → util/strnlen.h} +0 -0
- data/vendor/libgit2/src/{thread.c → util/thread.c} +1 -1
- data/vendor/libgit2/src/{thread.h → util/thread.h} +0 -0
- data/vendor/libgit2/src/{tsort.c → util/tsort.c} +1 -1
- data/vendor/libgit2/src/{unix → util/unix}/map.c +1 -1
- data/vendor/libgit2/src/{unix → util/unix}/posix.h +1 -1
- data/vendor/libgit2/src/{unix → util/unix}/pthread.h +0 -0
- data/vendor/libgit2/src/{unix → util/unix}/realpath.c +1 -1
- 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} +1 -1
- data/vendor/libgit2/src/{util.h → util/util.h} +1 -1
- data/vendor/libgit2/src/{varint.c → util/varint.c} +0 -0
- data/vendor/libgit2/src/{varint.h → util/varint.h} +1 -1
- data/vendor/libgit2/src/{vector.c → util/vector.c} +0 -0
- data/vendor/libgit2/src/{vector.h → util/vector.h} +1 -1
- data/vendor/libgit2/src/{wildmatch.c → util/wildmatch.c} +0 -0
- data/vendor/libgit2/src/{wildmatch.h → util/wildmatch.h} +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/dir.c +0 -0
- data/vendor/libgit2/src/{win32 → util/win32}/dir.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/error.c +0 -0
- data/vendor/libgit2/src/{win32 → util/win32}/error.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/findfile.c +0 -0
- data/vendor/libgit2/src/{win32 → util/win32}/findfile.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
- 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}/path_w32.c +0 -0
- data/vendor/libgit2/src/{win32 → util/win32}/path_w32.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/posix.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/posix_w32.c +1 -1
- 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}/reparse.h +0 -0
- data/vendor/libgit2/src/{win32 → util/win32}/thread.c +0 -0
- data/vendor/libgit2/src/{win32 → util/win32}/thread.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/utf-conv.c +0 -0
- data/vendor/libgit2/src/{win32 → util/win32}/utf-conv.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/version.h +0 -0
- data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.c +0 -0
- data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_common.h +0 -0
- data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.c +0 -0
- data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_util.c +0 -0
- data/vendor/libgit2/src/{win32 → util/win32}/w32_util.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.h +0 -0
- data/vendor/libgit2/src/{zstream.c → util/zstream.c} +0 -0
- data/vendor/libgit2/src/{zstream.h → util/zstream.h} +1 -1
- metadata +394 -365
- 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/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 -40
|
File without changes
|
|
@@ -244,6 +244,15 @@ on_error:
|
|
|
244
244
|
return -1;
|
|
245
245
|
}
|
|
246
246
|
|
|
247
|
+
static bool tag_name_is_valid(const char *tag_name)
|
|
248
|
+
{
|
|
249
|
+
/*
|
|
250
|
+
* Discourage tag name starting with dash,
|
|
251
|
+
* https://github.com/git/git/commit/4f0accd638b8d2
|
|
252
|
+
*/
|
|
253
|
+
return tag_name[0] != '-';
|
|
254
|
+
}
|
|
255
|
+
|
|
247
256
|
static int git_tag_create__internal(
|
|
248
257
|
git_oid *oid,
|
|
249
258
|
git_repository *repo,
|
|
@@ -269,6 +278,11 @@ static int git_tag_create__internal(
|
|
|
269
278
|
return -1;
|
|
270
279
|
}
|
|
271
280
|
|
|
281
|
+
if (!tag_name_is_valid(tag_name)) {
|
|
282
|
+
git_error_set(GIT_ERROR_TAG, "'%s' is not a valid tag name", tag_name);
|
|
283
|
+
return -1;
|
|
284
|
+
}
|
|
285
|
+
|
|
272
286
|
error = retrieve_tag_reference_oid(oid, &ref_name, repo, tag_name);
|
|
273
287
|
if (error < 0 && error != GIT_ENOTFOUND)
|
|
274
288
|
goto cleanup;
|
|
@@ -542,11 +556,7 @@ int git_tag_name_is_valid(int *valid, const char *name)
|
|
|
542
556
|
|
|
543
557
|
*valid = 0;
|
|
544
558
|
|
|
545
|
-
|
|
546
|
-
* Discourage tag name starting with dash,
|
|
547
|
-
* https://github.com/git/git/commit/4f0accd638b8d2
|
|
548
|
-
*/
|
|
549
|
-
if (!name || name[0] == '-')
|
|
559
|
+
if (!name || !tag_name_is_valid(name))
|
|
550
560
|
goto done;
|
|
551
561
|
|
|
552
562
|
if ((error = git_str_puts(&ref_name, GIT_REFS_TAGS_DIR)) < 0 ||
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -395,7 +395,7 @@ static int on_body(http_parser *parser, const char *buf, size_t len)
|
|
|
395
395
|
size_t max_len;
|
|
396
396
|
|
|
397
397
|
/* Saw data when we expected not to (eg, in consume_response_body) */
|
|
398
|
-
if (ctx->output_buf == NULL
|
|
398
|
+
if (ctx->output_buf == NULL || ctx->output_size == 0) {
|
|
399
399
|
ctx->parse_status = PARSE_STATUS_NO_OUTPUT;
|
|
400
400
|
return 0;
|
|
401
401
|
}
|
|
File without changes
|
|
File without changes
|
|
@@ -425,6 +425,18 @@ int git_transport_smart_credentials(git_credential **out, git_transport *transpo
|
|
|
425
425
|
return connect_opts->callbacks.credentials(out, t->url, user, methods, connect_opts->callbacks.payload);
|
|
426
426
|
}
|
|
427
427
|
|
|
428
|
+
int git_transport_remote_connect_options(
|
|
429
|
+
git_remote_connect_options *out,
|
|
430
|
+
git_transport *transport)
|
|
431
|
+
{
|
|
432
|
+
transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
|
|
433
|
+
|
|
434
|
+
GIT_ASSERT_ARG(out);
|
|
435
|
+
GIT_ASSERT_ARG(transport);
|
|
436
|
+
|
|
437
|
+
return git_remote_connect_options_dup(out, &t->connect_opts);
|
|
438
|
+
}
|
|
439
|
+
|
|
428
440
|
int git_transport_smart(git_transport **out, git_remote *owner, void *param)
|
|
429
441
|
{
|
|
430
442
|
transport_smart *t;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -263,7 +263,7 @@ static void write_tree(git_str *out, git_tree_cache *tree)
|
|
|
263
263
|
git_str_printf(out, "%s%c%"PRIdZ" %"PRIuZ"\n", tree->name, 0, tree->entry_count, tree->children_count);
|
|
264
264
|
|
|
265
265
|
if (tree->entry_count != -1)
|
|
266
|
-
git_str_put(out, (
|
|
266
|
+
git_str_put(out, (char *)&tree->oid.id, GIT_OID_RAWSZ);
|
|
267
267
|
|
|
268
268
|
for (i = 0; i < tree->children_count; i++)
|
|
269
269
|
write_tree(out, tree->children[i]);
|
|
File without changes
|
|
@@ -82,6 +82,7 @@ int git_tree_entry_cmp(const git_tree_entry *e1, const git_tree_entry *e2)
|
|
|
82
82
|
static git_tree_entry *alloc_entry(const char *filename, size_t filename_len, const git_oid *id)
|
|
83
83
|
{
|
|
84
84
|
git_tree_entry *entry = NULL;
|
|
85
|
+
char *filename_ptr;
|
|
85
86
|
size_t tree_len;
|
|
86
87
|
|
|
87
88
|
TREE_ENTRY_CHECK_NAMELEN(filename_len);
|
|
@@ -95,21 +96,13 @@ static git_tree_entry *alloc_entry(const char *filename, size_t filename_len, co
|
|
|
95
96
|
if (!entry)
|
|
96
97
|
return NULL;
|
|
97
98
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
filename_ptr = ((char *) entry) + sizeof(git_tree_entry);
|
|
103
|
-
memcpy(filename_ptr, filename, filename_len);
|
|
104
|
-
entry->filename = filename_ptr;
|
|
105
|
-
|
|
106
|
-
id_ptr = filename_ptr + filename_len + 1;
|
|
107
|
-
git_oid_cpy(id_ptr, id);
|
|
108
|
-
entry->oid = id_ptr;
|
|
109
|
-
}
|
|
110
|
-
|
|
99
|
+
filename_ptr = ((char *) entry) + sizeof(git_tree_entry);
|
|
100
|
+
memcpy(filename_ptr, filename, filename_len);
|
|
101
|
+
entry->filename = filename_ptr;
|
|
111
102
|
entry->filename_len = (uint16_t)filename_len;
|
|
112
103
|
|
|
104
|
+
git_oid_cpy(&entry->oid, id);
|
|
105
|
+
|
|
113
106
|
return entry;
|
|
114
107
|
}
|
|
115
108
|
|
|
@@ -231,7 +224,7 @@ int git_tree_entry_dup(git_tree_entry **dest, const git_tree_entry *source)
|
|
|
231
224
|
|
|
232
225
|
GIT_ASSERT_ARG(source);
|
|
233
226
|
|
|
234
|
-
cpy = alloc_entry(source->filename, source->filename_len, source->oid);
|
|
227
|
+
cpy = alloc_entry(source->filename, source->filename_len, &source->oid);
|
|
235
228
|
if (cpy == NULL)
|
|
236
229
|
return -1;
|
|
237
230
|
|
|
@@ -269,7 +262,7 @@ const char *git_tree_entry_name(const git_tree_entry *entry)
|
|
|
269
262
|
const git_oid *git_tree_entry_id(const git_tree_entry *entry)
|
|
270
263
|
{
|
|
271
264
|
GIT_ASSERT_ARG_WITH_RETVAL(entry, NULL);
|
|
272
|
-
return entry->oid;
|
|
265
|
+
return &entry->oid;
|
|
273
266
|
}
|
|
274
267
|
|
|
275
268
|
git_object_t git_tree_entry_type(const git_tree_entry *entry)
|
|
@@ -292,7 +285,7 @@ int git_tree_entry_to_object(
|
|
|
292
285
|
GIT_ASSERT_ARG(entry);
|
|
293
286
|
GIT_ASSERT_ARG(object_out);
|
|
294
287
|
|
|
295
|
-
return git_object_lookup(object_out, repo, entry->oid, GIT_OBJECT_ANY);
|
|
288
|
+
return git_object_lookup(object_out, repo, &entry->oid, GIT_OBJECT_ANY);
|
|
296
289
|
}
|
|
297
290
|
|
|
298
291
|
static const git_tree_entry *entry_fromname(
|
|
@@ -331,7 +324,7 @@ const git_tree_entry *git_tree_entry_byid(
|
|
|
331
324
|
GIT_ASSERT_ARG_WITH_RETVAL(tree, NULL);
|
|
332
325
|
|
|
333
326
|
git_array_foreach(tree->entries, i, e) {
|
|
334
|
-
if (
|
|
327
|
+
if (git_oid_equal(&e->oid, id))
|
|
335
328
|
return e;
|
|
336
329
|
}
|
|
337
330
|
|
|
@@ -432,7 +425,7 @@ int git_tree__parse_raw(void *_tree, const char *data, size_t size)
|
|
|
432
425
|
entry->attr = attr;
|
|
433
426
|
entry->filename_len = (uint16_t)filename_len;
|
|
434
427
|
entry->filename = buffer;
|
|
435
|
-
entry->oid
|
|
428
|
+
git_oid_fromraw(&entry->oid, ((unsigned char *) buffer + filename_len + 1));
|
|
436
429
|
}
|
|
437
430
|
|
|
438
431
|
buffer += filename_len + 1;
|
|
@@ -536,7 +529,7 @@ static int git_treebuilder__write_with_buffer(
|
|
|
536
529
|
|
|
537
530
|
git_str_printf(buf, "%o ", entry->attr);
|
|
538
531
|
git_str_put(buf, entry->filename, entry->filename_len + 1);
|
|
539
|
-
git_str_put(buf, (char *)entry->oid
|
|
532
|
+
git_str_put(buf, (char *)entry->oid.id, GIT_OID_RAWSZ);
|
|
540
533
|
|
|
541
534
|
if (git_str_oom(buf)) {
|
|
542
535
|
error = -1;
|
|
@@ -765,7 +758,7 @@ int git_treebuilder_new(
|
|
|
765
758
|
git_array_foreach(source->entries, i, entry_src) {
|
|
766
759
|
if (append_entry(
|
|
767
760
|
bld, entry_src->filename,
|
|
768
|
-
entry_src->oid,
|
|
761
|
+
&entry_src->oid,
|
|
769
762
|
entry_src->attr,
|
|
770
763
|
false) < 0)
|
|
771
764
|
goto on_error;
|
|
@@ -798,7 +791,7 @@ int git_treebuilder_insert(
|
|
|
798
791
|
return error;
|
|
799
792
|
|
|
800
793
|
if ((entry = git_strmap_get(bld->map, filename)) != NULL) {
|
|
801
|
-
git_oid_cpy(
|
|
794
|
+
git_oid_cpy(&entry->oid, id);
|
|
802
795
|
} else {
|
|
803
796
|
entry = alloc_entry(filename, strlen(filename), id);
|
|
804
797
|
GIT_ERROR_CHECK_ALLOC(entry);
|
|
@@ -954,7 +947,7 @@ int git_tree_entry_bypath(
|
|
|
954
947
|
return git_tree_entry_dup(entry_out, entry);
|
|
955
948
|
}
|
|
956
949
|
|
|
957
|
-
if (git_tree_lookup(&subtree, root->object.repo, entry->oid) < 0)
|
|
950
|
+
if (git_tree_lookup(&subtree, root->object.repo, &entry->oid) < 0)
|
|
958
951
|
return -1;
|
|
959
952
|
|
|
960
953
|
error = git_tree_entry_bypath(
|
|
@@ -995,7 +988,7 @@ static int tree_walk(
|
|
|
995
988
|
git_tree *subtree;
|
|
996
989
|
size_t path_len = git_str_len(path);
|
|
997
990
|
|
|
998
|
-
error = git_tree_lookup(&subtree, tree->object.repo, entry->oid);
|
|
991
|
+
error = git_tree_lookup(&subtree, tree->object.repo, &entry->oid);
|
|
999
992
|
if (error < 0)
|
|
1000
993
|
break;
|
|
1001
994
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# util: a shared library for common utility functions for libgit2 projects
|
|
2
|
+
|
|
3
|
+
add_library(util OBJECT)
|
|
4
|
+
set_target_properties(util PROPERTIES C_STANDARD 90)
|
|
5
|
+
set_target_properties(util PROPERTIES C_EXTENSIONS OFF)
|
|
6
|
+
|
|
7
|
+
set(UTIL_INCLUDES
|
|
8
|
+
"${PROJECT_BINARY_DIR}/src"
|
|
9
|
+
"${PROJECT_SOURCE_DIR}/src/util"
|
|
10
|
+
"${PROJECT_SOURCE_DIR}/include")
|
|
11
|
+
|
|
12
|
+
file(GLOB UTIL_SRC *.c *.h allocators/*.c allocators/*.h hash.h)
|
|
13
|
+
list(SORT UTIL_SRC)
|
|
14
|
+
|
|
15
|
+
#
|
|
16
|
+
# Platform specific sources
|
|
17
|
+
#
|
|
18
|
+
|
|
19
|
+
if(WIN32 AND NOT CYGWIN)
|
|
20
|
+
file(GLOB UTIL_SRC_OS win32/*.c win32/*.h)
|
|
21
|
+
list(SORT UTIL_SRC_OS)
|
|
22
|
+
elseif(NOT AMIGA)
|
|
23
|
+
file(GLOB UTIL_SRC_OS unix/*.c unix/*.h)
|
|
24
|
+
list(SORT UTIL_SRC_OS)
|
|
25
|
+
endif()
|
|
26
|
+
|
|
27
|
+
#
|
|
28
|
+
# Hash backend selection
|
|
29
|
+
#
|
|
30
|
+
|
|
31
|
+
if(USE_SHA1 STREQUAL "CollisionDetection")
|
|
32
|
+
file(GLOB UTIL_SRC_SHA1 hash/collisiondetect.* hash/sha1dc/*)
|
|
33
|
+
target_compile_definitions(util PRIVATE SHA1DC_NO_STANDARD_INCLUDES=1)
|
|
34
|
+
target_compile_definitions(util PRIVATE SHA1DC_CUSTOM_INCLUDE_SHA1_C=\"git2_util.h\")
|
|
35
|
+
target_compile_definitions(util PRIVATE SHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C=\"git2_util.h\")
|
|
36
|
+
elseif(USE_SHA1 STREQUAL "OpenSSL" OR USE_SHA1 STREQUAL "OpenSSL-Dynamic")
|
|
37
|
+
file(GLOB UTIL_SRC_SHA1 hash/openssl.*)
|
|
38
|
+
elseif(USE_SHA1 STREQUAL "CommonCrypto")
|
|
39
|
+
file(GLOB UTIL_SRC_SHA1 hash/common_crypto.*)
|
|
40
|
+
elseif(USE_SHA1 STREQUAL "mbedTLS")
|
|
41
|
+
file(GLOB UTIL_SRC_SHA1 hash/mbedtls.*)
|
|
42
|
+
elseif(USE_SHA1 STREQUAL "Win32")
|
|
43
|
+
file(GLOB UTIL_SRC_SHA1 hash/win32.*)
|
|
44
|
+
else()
|
|
45
|
+
message(FATAL_ERROR "Asked for unknown SHA1 backend: ${USE_SHA1}")
|
|
46
|
+
endif()
|
|
47
|
+
|
|
48
|
+
list(SORT UTIL_SRC_SHA1)
|
|
49
|
+
|
|
50
|
+
if(USE_SHA256 STREQUAL "Builtin")
|
|
51
|
+
file(GLOB UTIL_SRC_SHA256 hash/builtin.* hash/rfc6234/*)
|
|
52
|
+
elseif(USE_SHA256 STREQUAL "OpenSSL" OR USE_SHA256 STREQUAL "OpenSSL-Dynamic")
|
|
53
|
+
file(GLOB UTIL_SRC_SHA256 hash/openssl.*)
|
|
54
|
+
elseif(USE_SHA256 STREQUAL "CommonCrypto")
|
|
55
|
+
file(GLOB UTIL_SRC_SHA256 hash/common_crypto.*)
|
|
56
|
+
elseif(USE_SHA256 STREQUAL "mbedTLS")
|
|
57
|
+
file(GLOB UTIL_SRC_SHA256 hash/mbedtls.*)
|
|
58
|
+
elseif(USE_SHA256 STREQUAL "Win32")
|
|
59
|
+
file(GLOB UTIL_SRC_SHA256 hash/win32.*)
|
|
60
|
+
else()
|
|
61
|
+
message(FATAL_ERROR "Asked for unknown SHA256 backend: ${USE_SHA256}")
|
|
62
|
+
endif()
|
|
63
|
+
|
|
64
|
+
list(SORT UTIL_SRC_SHA256)
|
|
65
|
+
|
|
66
|
+
#
|
|
67
|
+
# Build the library
|
|
68
|
+
#
|
|
69
|
+
|
|
70
|
+
target_sources(util PRIVATE ${UTIL_SRC} ${UTIL_SRC_OS} ${UTIL_SRC_SHA1} ${UTIL_SRC_SHA256})
|
|
71
|
+
ide_split_sources(util)
|
|
72
|
+
|
|
73
|
+
target_include_directories(util PRIVATE ${UTIL_INCLUDES} ${LIBGIT2_DEPENDENCY_INCLUDES} PUBLIC ${libgit2_SOURCE_DIR}/include)
|
|
74
|
+
target_include_directories(util SYSTEM PRIVATE ${LIBGIT2_SYSTEM_INCLUDES})
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
#ifndef INCLUDE_allocators_failalloc_h__
|
|
9
9
|
#define INCLUDE_allocators_failalloc_h__
|
|
10
10
|
|
|
11
|
-
#include "
|
|
11
|
+
#include "git2_util.h"
|
|
12
12
|
|
|
13
13
|
extern void *git_failalloc_malloc(size_t len, const char *file, int line);
|
|
14
14
|
extern void *git_failalloc_calloc(size_t nelem, size_t elsize, const char *file, int line);
|
|
File without changes
|
|
File without changes
|
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
|
|
25
25
|
# define GIT_ASSERT_WITH_RETVAL(expr, fail) assert(expr)
|
|
26
26
|
# define GIT_ASSERT_ARG_WITH_RETVAL(expr, fail) assert(expr)
|
|
27
|
+
|
|
28
|
+
# define GIT_ASSERT_WITH_CLEANUP(expr, cleanup) assert(expr)
|
|
27
29
|
#else
|
|
28
30
|
|
|
29
31
|
/** Internal consistency check to stop the function. */
|
|
@@ -53,6 +55,20 @@
|
|
|
53
55
|
} \
|
|
54
56
|
} while(0)
|
|
55
57
|
|
|
58
|
+
/**
|
|
59
|
+
* Go to to the given label on assertion failures; useful when you have
|
|
60
|
+
* taken a lock or otherwise need to release a resource.
|
|
61
|
+
*/
|
|
62
|
+
# define GIT_ASSERT_WITH_CLEANUP(expr, cleanup) \
|
|
63
|
+
GIT_ASSERT__WITH_CLEANUP(expr, GIT_ERROR_INTERNAL, "unrecoverable internal error", cleanup)
|
|
64
|
+
|
|
65
|
+
# define GIT_ASSERT__WITH_CLEANUP(expr, code, msg, cleanup) do { \
|
|
66
|
+
if (!(expr)) { \
|
|
67
|
+
git_error_set(code, "%s: '%s'", msg, #expr); \
|
|
68
|
+
cleanup; \
|
|
69
|
+
} \
|
|
70
|
+
} while(0)
|
|
71
|
+
|
|
56
72
|
#endif /* GIT_ASSERT_HARD */
|
|
57
73
|
|
|
58
74
|
#endif
|
|
File without changes
|
|
File without changes
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
|
-
*
|
|
2
|
+
* Copyright (C) the libgit2 contributors. All rights reserved.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
|
5
|
+
* a Linking Exception. For full terms see the included COPYING file.
|
|
5
6
|
*/
|
|
6
7
|
|
|
7
|
-
#include "
|
|
8
|
+
#include "git2_util.h"
|
|
8
9
|
|
|
9
10
|
#ifndef GIT_WIN32
|
|
10
11
|
#include <sys/time.h>
|
|
File without changes
|
|
@@ -65,7 +65,7 @@ static int lock_file(git_filebuf *file, int flags, mode_t mode)
|
|
|
65
65
|
|
|
66
66
|
if ((flags & GIT_FILEBUF_APPEND) && git_fs_path_exists(file->path_original) == true) {
|
|
67
67
|
git_file source;
|
|
68
|
-
char buffer[
|
|
68
|
+
char buffer[GIT_BUFSIZE_FILEIO];
|
|
69
69
|
ssize_t read_bytes;
|
|
70
70
|
int error = 0;
|
|
71
71
|
|