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
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# libgit2: the shared library: this CMakeLists.txt compiles the core
|
|
2
|
+
# git library functionality.
|
|
3
|
+
|
|
4
|
+
add_library(libgit2 OBJECT)
|
|
5
|
+
set_target_properties(libgit2 PROPERTIES C_STANDARD 90)
|
|
6
|
+
set_target_properties(libgit2 PROPERTIES C_EXTENSIONS OFF)
|
|
7
|
+
|
|
8
|
+
include(PkgBuildConfig)
|
|
9
|
+
|
|
10
|
+
set(LIBGIT2_INCLUDES
|
|
11
|
+
"${PROJECT_BINARY_DIR}/src"
|
|
12
|
+
"${PROJECT_SOURCE_DIR}/src/libgit2"
|
|
13
|
+
"${PROJECT_SOURCE_DIR}/src/util"
|
|
14
|
+
"${PROJECT_SOURCE_DIR}/include")
|
|
15
|
+
|
|
16
|
+
if(WIN32 AND EMBED_SSH_PATH)
|
|
17
|
+
file(GLOB SRC_SSH "${EMBED_SSH_PATH}/src/*.c")
|
|
18
|
+
list(SORT SRC_SSH)
|
|
19
|
+
target_sources(libgit2 PRIVATE ${SRC_SSH})
|
|
20
|
+
|
|
21
|
+
list(APPEND LIBGIT2_SYSTEM_INCLUDES "${EMBED_SSH_PATH}/include")
|
|
22
|
+
file(WRITE "${EMBED_SSH_PATH}/src/libssh2_config.h" "#define HAVE_WINCNG\n#define LIBSSH2_WINCNG\n#include \"../win32/libssh2_config.h\"")
|
|
23
|
+
set(GIT_SSH 1)
|
|
24
|
+
endif()
|
|
25
|
+
|
|
26
|
+
# Collect sourcefiles
|
|
27
|
+
file(GLOB SRC_H
|
|
28
|
+
"${PROJECT_SOURCE_DIR}/include/git2.h"
|
|
29
|
+
"${PROJECT_SOURCE_DIR}/include/git2/*.h"
|
|
30
|
+
"${PROJECT_SOURCE_DIR}/include/git2/sys/*.h")
|
|
31
|
+
list(SORT SRC_H)
|
|
32
|
+
target_sources(libgit2 PRIVATE ${SRC_H})
|
|
33
|
+
|
|
34
|
+
file(GLOB SRC_GIT2 *.c *.h
|
|
35
|
+
streams/*.c streams/*.h
|
|
36
|
+
transports/*.c transports/*.h
|
|
37
|
+
xdiff/*.c xdiff/*.h)
|
|
38
|
+
list(SORT SRC_GIT2)
|
|
39
|
+
target_sources(libgit2 PRIVATE ${SRC_GIT2})
|
|
40
|
+
|
|
41
|
+
if(WIN32 AND NOT CYGWIN)
|
|
42
|
+
# Add resource information on Windows
|
|
43
|
+
set(SRC_RC "git2.rc")
|
|
44
|
+
endif()
|
|
45
|
+
|
|
46
|
+
if(APPLE)
|
|
47
|
+
# The old Secure Transport API has been deprecated in macOS 10.15.
|
|
48
|
+
set_source_files_properties(streams/stransport.c PROPERTIES COMPILE_FLAGS -Wno-deprecated)
|
|
49
|
+
endif()
|
|
50
|
+
|
|
51
|
+
# the xdiff dependency is not (yet) warning-free, disable warnings
|
|
52
|
+
# as errors for the xdiff sources until we've sorted them out
|
|
53
|
+
if(MSVC)
|
|
54
|
+
set_source_files_properties(xdiff/xdiffi.c PROPERTIES COMPILE_FLAGS -WX-)
|
|
55
|
+
set_source_files_properties(xdiff/xemit.c PROPERTIES COMPILE_FLAGS -WX-)
|
|
56
|
+
set_source_files_properties(xdiff/xhistogram.c PROPERTIES COMPILE_FLAGS -WX-)
|
|
57
|
+
set_source_files_properties(xdiff/xmerge.c PROPERTIES COMPILE_FLAGS -WX-)
|
|
58
|
+
set_source_files_properties(xdiff/xutils.c PROPERTIES COMPILE_FLAGS -WX-)
|
|
59
|
+
set_source_files_properties(xdiff/xpatience.c PROPERTIES COMPILE_FLAGS -WX-)
|
|
60
|
+
else()
|
|
61
|
+
set_source_files_properties(xdiff/xdiffi.c PROPERTIES COMPILE_FLAGS "-Wno-sign-compare -Wno-unused-parameter")
|
|
62
|
+
set_source_files_properties(xdiff/xemit.c PROPERTIES COMPILE_FLAGS "-Wno-sign-compare -Wno-unused-parameter")
|
|
63
|
+
set_source_files_properties(xdiff/xhistogram.c PROPERTIES COMPILE_FLAGS "-Wno-sign-compare")
|
|
64
|
+
set_source_files_properties(xdiff/xutils.c PROPERTIES COMPILE_FLAGS "-Wno-sign-compare")
|
|
65
|
+
set_source_files_properties(xdiff/xpatience.c PROPERTIES COMPILE_FLAGS "-Wno-sign-compare")
|
|
66
|
+
endif()
|
|
67
|
+
|
|
68
|
+
ide_split_sources(libgit2)
|
|
69
|
+
list(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:util> $<TARGET_OBJECTS:libgit2> ${LIBGIT2_DEPENDENCY_OBJECTS})
|
|
70
|
+
|
|
71
|
+
target_include_directories(libgit2 PRIVATE ${LIBGIT2_INCLUDES} ${LIBGIT2_DEPENDENCY_INCLUDES} PUBLIC ${PROJECT_SOURCE_DIR}/include)
|
|
72
|
+
target_include_directories(libgit2 SYSTEM PRIVATE ${LIBGIT2_SYSTEM_INCLUDES})
|
|
73
|
+
|
|
74
|
+
set(LIBGIT2_INCLUDES ${LIBGIT2_INCLUDES} PARENT_SCOPE)
|
|
75
|
+
set(LIBGIT2_OBJECTS ${LIBGIT2_OBJECTS} PARENT_SCOPE)
|
|
76
|
+
set(LIBGIT2_DEPENDENCY_INCLUDES ${LIBGIT2_DEPENDENCY_INCLUDES} PARENT_SCOPE)
|
|
77
|
+
set(LIBGIT2_DEPENDENCY_OBJECTS ${LIBGIT2_DEPENDENCY_OBJECTS} PARENT_SCOPE)
|
|
78
|
+
set(LIBGIT2_SYSTEM_INCLUDES ${LIBGIT2_SYSTEM_INCLUDES} PARENT_SCOPE)
|
|
79
|
+
set(LIBGIT2_SYSTEM_LIBS ${LIBGIT2_SYSTEM_LIBS} PARENT_SCOPE)
|
|
80
|
+
|
|
81
|
+
#
|
|
82
|
+
# Compile and link libgit2
|
|
83
|
+
#
|
|
84
|
+
|
|
85
|
+
add_library(libgit2package ${SRC_RC} ${LIBGIT2_OBJECTS})
|
|
86
|
+
target_link_libraries(libgit2package ${LIBGIT2_SYSTEM_LIBS})
|
|
87
|
+
|
|
88
|
+
set_target_properties(libgit2package PROPERTIES C_STANDARD 90)
|
|
89
|
+
set_target_properties(libgit2package PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
|
|
90
|
+
set_target_properties(libgit2package PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
|
|
91
|
+
set_target_properties(libgit2package PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
|
|
92
|
+
|
|
93
|
+
# Workaround for Cmake bug #0011240 (see http://public.kitware.com/Bug/view.php?id=11240)
|
|
94
|
+
# Win64+MSVC+static libs = linker error
|
|
95
|
+
if(MSVC AND GIT_ARCH_64 AND NOT BUILD_SHARED_LIBS)
|
|
96
|
+
set_target_properties(libgit2package PROPERTIES STATIC_LIBRARY_FLAGS "/MACHINE:x64")
|
|
97
|
+
endif()
|
|
98
|
+
|
|
99
|
+
ide_split_sources(libgit2package)
|
|
100
|
+
|
|
101
|
+
if(SONAME)
|
|
102
|
+
set_target_properties(libgit2package PROPERTIES VERSION ${libgit2_VERSION})
|
|
103
|
+
set_target_properties(libgit2package PROPERTIES SOVERSION "${libgit2_VERSION_MAJOR}.${libgit2_VERSION_MINOR}")
|
|
104
|
+
if(LIBGIT2_FILENAME)
|
|
105
|
+
target_compile_definitions(libgit2package PRIVATE LIBGIT2_FILENAME=\"${LIBGIT2_FILENAME}\")
|
|
106
|
+
set_target_properties(libgit2package PROPERTIES OUTPUT_NAME ${LIBGIT2_FILENAME})
|
|
107
|
+
elseif(DEFINED LIBGIT2_PREFIX)
|
|
108
|
+
set_target_properties(libgit2package PROPERTIES PREFIX "${LIBGIT2_PREFIX}")
|
|
109
|
+
endif()
|
|
110
|
+
endif()
|
|
111
|
+
|
|
112
|
+
pkg_build_config(NAME libgit2
|
|
113
|
+
VERSION ${libgit2_VERSION}
|
|
114
|
+
DESCRIPTION "The git library, take 2"
|
|
115
|
+
LIBS_SELF git2
|
|
116
|
+
PRIVATE_LIBS ${LIBGIT2_PC_LIBS}
|
|
117
|
+
REQUIRES ${LIBGIT2_PC_REQUIRES})
|
|
118
|
+
|
|
119
|
+
if(MSVC_IDE)
|
|
120
|
+
# Precompiled headers
|
|
121
|
+
set_target_properties(libgit2package PROPERTIES COMPILE_FLAGS "/Yuprecompiled.h /FIprecompiled.h")
|
|
122
|
+
set_source_files_properties(win32/precompiled.c COMPILE_FLAGS "/Ycprecompiled.h")
|
|
123
|
+
endif()
|
|
124
|
+
|
|
125
|
+
# Install
|
|
126
|
+
install(TARGETS libgit2package
|
|
127
|
+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
128
|
+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
129
|
+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
130
|
+
install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/git2 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
131
|
+
install(FILES ${PROJECT_SOURCE_DIR}/include/git2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
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
|
|
@@ -101,7 +101,7 @@ static int write_file_stream(
|
|
|
101
101
|
git_oid *id, git_odb *odb, const char *path, git_object_size_t file_size)
|
|
102
102
|
{
|
|
103
103
|
int fd, error;
|
|
104
|
-
char buffer[
|
|
104
|
+
char buffer[GIT_BUFSIZE_FILEIO];
|
|
105
105
|
git_odb_stream *stream = NULL;
|
|
106
106
|
ssize_t read_len = -1;
|
|
107
107
|
git_object_size_t written = 0;
|
|
File without changes
|
|
@@ -53,6 +53,17 @@ static int not_a_local_branch(const char *reference_name)
|
|
|
53
53
|
return -1;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
+
static bool branch_name_is_valid(const char *branch_name)
|
|
57
|
+
{
|
|
58
|
+
/*
|
|
59
|
+
* Discourage branch name starting with dash,
|
|
60
|
+
* https://github.com/git/git/commit/6348624010888b
|
|
61
|
+
* and discourage HEAD as branch name,
|
|
62
|
+
* https://github.com/git/git/commit/a625b092cc5994
|
|
63
|
+
*/
|
|
64
|
+
return branch_name[0] != '-' && git__strcmp(branch_name, "HEAD");
|
|
65
|
+
}
|
|
66
|
+
|
|
56
67
|
static int create_branch(
|
|
57
68
|
git_reference **ref_out,
|
|
58
69
|
git_repository *repository,
|
|
@@ -73,8 +84,8 @@ static int create_branch(
|
|
|
73
84
|
GIT_ASSERT_ARG(ref_out);
|
|
74
85
|
GIT_ASSERT_ARG(git_commit_owner(commit) == repository);
|
|
75
86
|
|
|
76
|
-
if (!
|
|
77
|
-
git_error_set(GIT_ERROR_REFERENCE, "'
|
|
87
|
+
if (!branch_name_is_valid(branch_name)) {
|
|
88
|
+
git_error_set(GIT_ERROR_REFERENCE, "'%s' is not a valid branch name", branch_name);
|
|
78
89
|
error = -1;
|
|
79
90
|
goto cleanup;
|
|
80
91
|
}
|
|
@@ -797,13 +808,7 @@ int git_branch_name_is_valid(int *valid, const char *name)
|
|
|
797
808
|
|
|
798
809
|
*valid = 0;
|
|
799
810
|
|
|
800
|
-
|
|
801
|
-
* Discourage branch name starting with dash,
|
|
802
|
-
* https://github.com/git/git/commit/6348624010888b
|
|
803
|
-
* and discourage HEAD as branch name,
|
|
804
|
-
* https://github.com/git/git/commit/a625b092cc5994
|
|
805
|
-
*/
|
|
806
|
-
if (!name || name[0] == '-' || !git__strcmp(name, "HEAD"))
|
|
811
|
+
if (!name || !branch_name_is_valid(name))
|
|
807
812
|
goto done;
|
|
808
813
|
|
|
809
814
|
if ((error = git_str_puts(&ref_name, GIT_REFS_HEADS_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
|
|
@@ -138,7 +138,7 @@ static int commit_graph_parse_oid_lookup(
|
|
|
138
138
|
struct git_commit_graph_chunk *chunk_oid_lookup)
|
|
139
139
|
{
|
|
140
140
|
uint32_t i;
|
|
141
|
-
|
|
141
|
+
unsigned char *oid, *prev_oid, zero_oid[GIT_OID_RAWSZ] = {0};
|
|
142
142
|
|
|
143
143
|
if (chunk_oid_lookup->offset == 0)
|
|
144
144
|
return commit_graph_error("missing OID Lookup chunk");
|
|
@@ -147,10 +147,10 @@ static int commit_graph_parse_oid_lookup(
|
|
|
147
147
|
if (chunk_oid_lookup->length != file->num_commits * GIT_OID_RAWSZ)
|
|
148
148
|
return commit_graph_error("OID Lookup chunk has wrong length");
|
|
149
149
|
|
|
150
|
-
file->oid_lookup = oid = (
|
|
151
|
-
prev_oid =
|
|
152
|
-
for (i = 0; i < file->num_commits; ++i,
|
|
153
|
-
if (
|
|
150
|
+
file->oid_lookup = oid = (unsigned char *)(data + chunk_oid_lookup->offset);
|
|
151
|
+
prev_oid = zero_oid;
|
|
152
|
+
for (i = 0; i < file->num_commits; ++i, oid += GIT_OID_RAWSZ) {
|
|
153
|
+
if (git_oid_raw_cmp(prev_oid, oid) >= 0)
|
|
154
154
|
return commit_graph_error("OID Lookup index is non-monotonic");
|
|
155
155
|
prev_oid = oid;
|
|
156
156
|
}
|
|
@@ -437,7 +437,7 @@ static int git_commit_graph_entry_get_byindex(
|
|
|
437
437
|
}
|
|
438
438
|
|
|
439
439
|
commit_data = file->commit_data + pos * (GIT_OID_RAWSZ + 4 * sizeof(uint32_t));
|
|
440
|
-
|
|
440
|
+
git_oid_fromraw(&e->tree_oid, commit_data);
|
|
441
441
|
e->parent_indices[0] = ntohl(*((uint32_t *)(commit_data + GIT_OID_RAWSZ)));
|
|
442
442
|
e->parent_indices[1] = ntohl(
|
|
443
443
|
*((uint32_t *)(commit_data + GIT_OID_RAWSZ + sizeof(uint32_t))));
|
|
@@ -470,7 +470,8 @@ static int git_commit_graph_entry_get_byindex(
|
|
|
470
470
|
e->parent_count++;
|
|
471
471
|
}
|
|
472
472
|
}
|
|
473
|
-
|
|
473
|
+
|
|
474
|
+
git_oid_fromraw(&e->sha1, &file->oid_lookup[pos * GIT_OID_RAWSZ]);
|
|
474
475
|
return 0;
|
|
475
476
|
}
|
|
476
477
|
|
|
@@ -514,7 +515,7 @@ int git_commit_graph_entry_find(
|
|
|
514
515
|
{
|
|
515
516
|
int pos, found = 0;
|
|
516
517
|
uint32_t hi, lo;
|
|
517
|
-
const
|
|
518
|
+
const unsigned char *current = NULL;
|
|
518
519
|
|
|
519
520
|
GIT_ASSERT_ARG(e);
|
|
520
521
|
GIT_ASSERT_ARG(file);
|
|
@@ -528,26 +529,25 @@ int git_commit_graph_entry_find(
|
|
|
528
529
|
if (pos >= 0) {
|
|
529
530
|
/* An object matching exactly the oid was found */
|
|
530
531
|
found = 1;
|
|
531
|
-
current = file->oid_lookup + pos;
|
|
532
|
+
current = file->oid_lookup + (pos * GIT_OID_RAWSZ);
|
|
532
533
|
} else {
|
|
533
534
|
/* No object was found */
|
|
534
535
|
/* pos refers to the object with the "closest" oid to short_oid */
|
|
535
536
|
pos = -1 - pos;
|
|
536
537
|
if (pos < (int)file->num_commits) {
|
|
537
|
-
current = file->oid_lookup + pos;
|
|
538
|
+
current = file->oid_lookup + (pos * GIT_OID_RAWSZ);
|
|
538
539
|
|
|
539
|
-
if (!
|
|
540
|
+
if (!git_oid_raw_ncmp(short_oid->id, current, len))
|
|
540
541
|
found = 1;
|
|
541
542
|
}
|
|
542
543
|
}
|
|
543
544
|
|
|
544
545
|
if (found && len != GIT_OID_HEXSZ && pos + 1 < (int)file->num_commits) {
|
|
545
546
|
/* Check for ambiguousity */
|
|
546
|
-
const
|
|
547
|
+
const unsigned char *next = current + GIT_OID_RAWSZ;
|
|
547
548
|
|
|
548
|
-
if (!
|
|
549
|
+
if (!git_oid_raw_ncmp(short_oid->id, next, len))
|
|
549
550
|
found = 2;
|
|
550
|
-
}
|
|
551
551
|
}
|
|
552
552
|
|
|
553
553
|
if (!found)
|
|
@@ -1019,7 +1019,9 @@ static int commit_graph_write(
|
|
|
1019
1019
|
/* Fill the OID Lookup table. */
|
|
1020
1020
|
git_vector_foreach (&w->commits, i, packed_commit) {
|
|
1021
1021
|
error = git_str_put(&oid_lookup,
|
|
1022
|
-
(const char *)&packed_commit->sha1,
|
|
1022
|
+
(const char *)&packed_commit->sha1.id,
|
|
1023
|
+
GIT_OID_RAWSZ);
|
|
1024
|
+
|
|
1023
1025
|
if (error < 0)
|
|
1024
1026
|
goto cleanup;
|
|
1025
1027
|
}
|
|
@@ -1034,8 +1036,9 @@ static int commit_graph_write(
|
|
|
1034
1036
|
unsigned int parentcount = (unsigned int)git_array_size(packed_commit->parents);
|
|
1035
1037
|
|
|
1036
1038
|
error = git_str_put(&commit_data,
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
+
(const char *)&packed_commit->tree_oid.id,
|
|
1040
|
+
GIT_OID_RAWSZ);
|
|
1041
|
+
|
|
1039
1042
|
if (error < 0)
|
|
1040
1043
|
goto cleanup;
|
|
1041
1044
|
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) the libgit2 contributors. All rights reserved.
|
|
3
|
+
*
|
|
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.
|
|
6
|
+
*/
|
|
7
|
+
#ifndef INCLUDE_common_h__
|
|
8
|
+
#define INCLUDE_common_h__
|
|
9
|
+
|
|
10
|
+
#include "git2_util.h"
|
|
11
|
+
#include "errors.h"
|
|
12
|
+
|
|
13
|
+
/*
|
|
14
|
+
* Include the declarations for deprecated functions; this ensures
|
|
15
|
+
* that they're decorated with the proper extern/visibility attributes.
|
|
16
|
+
*/
|
|
17
|
+
#include "git2/deprecated.h"
|
|
18
|
+
|
|
19
|
+
#include "posix.h"
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Initialize a structure with a version.
|
|
23
|
+
*/
|
|
24
|
+
GIT_INLINE(void) git__init_structure(void *structure, size_t len, unsigned int version)
|
|
25
|
+
{
|
|
26
|
+
memset(structure, 0, len);
|
|
27
|
+
*((int*)structure) = version;
|
|
28
|
+
}
|
|
29
|
+
#define GIT_INIT_STRUCTURE(S,V) git__init_structure(S, sizeof(*S), V)
|
|
30
|
+
|
|
31
|
+
#define GIT_INIT_STRUCTURE_FROM_TEMPLATE(PTR,VERSION,TYPE,TPL) do { \
|
|
32
|
+
TYPE _tmpl = TPL; \
|
|
33
|
+
GIT_ERROR_CHECK_VERSION(&(VERSION), _tmpl.version, #TYPE); \
|
|
34
|
+
memcpy((PTR), &_tmpl, sizeof(_tmpl)); } while (0)
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Check a versioned structure for validity
|
|
38
|
+
*/
|
|
39
|
+
GIT_INLINE(int) git_error__check_version(const void *structure, unsigned int expected_max, const char *name)
|
|
40
|
+
{
|
|
41
|
+
unsigned int actual;
|
|
42
|
+
|
|
43
|
+
if (!structure)
|
|
44
|
+
return 0;
|
|
45
|
+
|
|
46
|
+
actual = *(const unsigned int*)structure;
|
|
47
|
+
if (actual > 0 && actual <= expected_max)
|
|
48
|
+
return 0;
|
|
49
|
+
|
|
50
|
+
git_error_set(GIT_ERROR_INVALID, "invalid version %d on %s", actual, name);
|
|
51
|
+
return -1;
|
|
52
|
+
}
|
|
53
|
+
#define GIT_ERROR_CHECK_VERSION(S,V,N) if (git_error__check_version(S,V,N) < 0) return -1
|
|
54
|
+
|
|
55
|
+
#endif
|
|
@@ -1137,7 +1137,7 @@ int git_config__find_global(git_str *path)
|
|
|
1137
1137
|
|
|
1138
1138
|
int git_config_find_xdg(git_buf *path)
|
|
1139
1139
|
{
|
|
1140
|
-
GIT_BUF_WRAP_PRIVATE(path,
|
|
1140
|
+
GIT_BUF_WRAP_PRIVATE(path, git_sysdir_find_xdg_file, GIT_CONFIG_FILENAME_XDG);
|
|
1141
1141
|
}
|
|
1142
1142
|
|
|
1143
1143
|
int git_config__find_xdg(git_str *path)
|
|
@@ -1147,7 +1147,7 @@ int git_config__find_xdg(git_str *path)
|
|
|
1147
1147
|
|
|
1148
1148
|
int git_config_find_system(git_buf *path)
|
|
1149
1149
|
{
|
|
1150
|
-
GIT_BUF_WRAP_PRIVATE(path,
|
|
1150
|
+
GIT_BUF_WRAP_PRIVATE(path, git_sysdir_find_system_file, GIT_CONFIG_FILENAME_SYSTEM);
|
|
1151
1151
|
}
|
|
1152
1152
|
|
|
1153
1153
|
int git_config__find_system(git_str *path)
|
|
@@ -1170,14 +1170,21 @@ int git_config_find_programdata(git_buf *path)
|
|
|
1170
1170
|
|
|
1171
1171
|
int git_config__find_programdata(git_str *path)
|
|
1172
1172
|
{
|
|
1173
|
-
|
|
1173
|
+
git_fs_path_owner_t owner_level =
|
|
1174
|
+
GIT_FS_PATH_OWNER_CURRENT_USER |
|
|
1175
|
+
GIT_FS_PATH_OWNER_ADMINISTRATOR;
|
|
1176
|
+
bool is_safe;
|
|
1174
1177
|
|
|
1175
|
-
|
|
1178
|
+
if (git_sysdir_find_programdata_file(path, GIT_CONFIG_FILENAME_PROGRAMDATA) < 0 ||
|
|
1179
|
+
git_fs_path_owner_is(&is_safe, path->ptr, owner_level) < 0)
|
|
1180
|
+
return -1;
|
|
1176
1181
|
|
|
1177
|
-
if (
|
|
1178
|
-
|
|
1182
|
+
if (!is_safe) {
|
|
1183
|
+
git_error_set(GIT_ERROR_CONFIG, "programdata path has invalid ownership");
|
|
1184
|
+
return -1;
|
|
1185
|
+
}
|
|
1179
1186
|
|
|
1180
|
-
return
|
|
1187
|
+
return 0;
|
|
1181
1188
|
}
|
|
1182
1189
|
|
|
1183
1190
|
int git_config__global_location(git_str *buf)
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -316,6 +316,11 @@ static int diff_print_oid_range(
|
|
|
316
316
|
static int diff_delta_format_path(
|
|
317
317
|
git_str *out, const char *prefix, const char *filename)
|
|
318
318
|
{
|
|
319
|
+
if (!filename) {
|
|
320
|
+
/* don't prefix "/dev/null" */
|
|
321
|
+
return git_str_puts(out, "/dev/null");
|
|
322
|
+
}
|
|
323
|
+
|
|
319
324
|
if (git_str_joinpath(out, prefix, filename) < 0)
|
|
320
325
|
return -1;
|
|
321
326
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -11,9 +11,8 @@
|
|
|
11
11
|
#include "common.h"
|
|
12
12
|
|
|
13
13
|
/*
|
|
14
|
-
*
|
|
14
|
+
* `vprintf`-style formatting for the error message for this thread.
|
|
15
15
|
*/
|
|
16
|
-
void git_error_set(int error_class, const char *fmt, ...) GIT_FORMAT_PRINTF(2, 3);
|
|
17
16
|
void git_error_vset(int error_class, const char *fmt, va_list ap);
|
|
18
17
|
|
|
19
18
|
/**
|
|
@@ -76,8 +76,11 @@ static int maybe_want_oid(git_remote *remote, git_refspec *spec)
|
|
|
76
76
|
GIT_ERROR_CHECK_ALLOC(oid_head);
|
|
77
77
|
|
|
78
78
|
git_oid_fromstr(&oid_head->oid, spec->src);
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
|
|
80
|
+
if (spec->dst) {
|
|
81
|
+
oid_head->name = git__strdup(spec->dst);
|
|
82
|
+
GIT_ERROR_CHECK_ALLOC(oid_head->name);
|
|
83
|
+
}
|
|
81
84
|
|
|
82
85
|
if (git_vector_insert(&remote->local_heads, oid_head) < 0 ||
|
|
83
86
|
git_vector_insert(&remote->refs, oid_head) < 0)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|