rugged 1.4.5 → 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/include/git2/branch.h +2 -2
- data/vendor/libgit2/include/git2/common.h +11 -0
- 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 +17 -3
- 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/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/{blob.c → libgit2/blob.c} +1 -1
- data/vendor/libgit2/src/{branch.c → libgit2/branch.c} +14 -9
- 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/libgit2/common.h +55 -0
- data/vendor/libgit2/src/{config.c → libgit2/config.c} +2 -2
- data/vendor/libgit2/src/{describe.c → libgit2/describe.c} +1 -1
- data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +1 -0
- data/vendor/libgit2/src/{errors.h → libgit2/errors.h} +1 -2
- data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +31 -1
- data/vendor/libgit2/src/{index.c → libgit2/index.c} +6 -6
- data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +2 -2
- data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +3 -3
- data/vendor/libgit2/src/{libgit2.c → libgit2/libgit2.c} +5 -0
- data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +20 -23
- 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/{object.c → libgit2/object.c} +1 -0
- data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +2 -2
- 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/{oidmap.c → libgit2/oidmap.c} +1 -1
- 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/{path.c → libgit2/path.c} +1 -0
- data/vendor/libgit2/src/{rebase.c → libgit2/rebase.c} +11 -1
- data/vendor/libgit2/src/{refdb_fs.c → libgit2/refdb_fs.c} +6 -2
- data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +1 -1
- data/vendor/libgit2/src/{remote.h → libgit2/remote.h} +1 -1
- data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +1 -0
- data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +15 -5
- data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +1 -1
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +12 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.c +91 -326
- data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +1 -1
- 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/util/CMakeLists.txt +74 -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/{date.c → util/date.c} +4 -3
- 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} +17 -11
- data/vendor/libgit2/src/{fs_path.h → util/fs_path.h} +1 -1
- 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/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/{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.h → util/pool.h} +1 -1
- data/vendor/libgit2/src/{posix.h → util/posix.h} +1 -1
- 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.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.h → util/sortedcache.h} +1 -1
- data/vendor/libgit2/src/{str.h → util/str.h} +1 -1
- 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/{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}/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.h → util/varint.h} +1 -1
- data/vendor/libgit2/src/{vector.h → util/vector.h} +1 -1
- 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}/findfile.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
- 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}/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.h +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.h → util/zstream.h} +1 -1
- metadata +390 -361
- 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
- /data/vendor/libgit2/src/{win32 → cli/win32}/precompiled.c +0 -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.h → libgit2/blob.h} +0 -0
- /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_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/{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/{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} +0 -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.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/{fetch.c → libgit2/fetch.c} +0 -0
- /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.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.h → libgit2/index.h} +0 -0
- /data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
- /data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +0 -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/{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.h → libgit2/object.h} +0 -0
- /data/vendor/libgit2/src/{object_api.c → libgit2/object_api.c} +0 -0
- /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/{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/{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/{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.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/{refdb.c → libgit2/refdb.c} +0 -0
- /data/vendor/libgit2/src/{refdb.h → libgit2/refdb.h} +0 -0
- /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/{repo_template.h → libgit2/repo_template.h} +0 -0
- /data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +0 -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.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.h +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +0 -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.h +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +0 -0
- /data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +0 -0
- /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/{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/{cc-compat.h → util/cc-compat.h} +0 -0
- /data/vendor/libgit2/src/{date.h → util/date.h} +0 -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/{integer.h → util/integer.h} +0 -0
- /data/vendor/libgit2/src/{khash.h → util/khash.h} +0 -0
- /data/vendor/libgit2/src/{pool.c → util/pool.c} +0 -0
- /data/vendor/libgit2/src/{posix.c → util/posix.c} +0 -0
- /data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
- /data/vendor/libgit2/src/{regexp.c → util/regexp.c} +0 -0
- /data/vendor/libgit2/src/{sortedcache.c → util/sortedcache.c} +0 -0
- /data/vendor/libgit2/src/{str.c → util/str.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/{thread.h → util/thread.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}/findfile.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}/path_w32.c +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_buffer.c +0 -0
- /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_util.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.h +0 -0
- /data/vendor/libgit2/src/{zstream.c → util/zstream.c} +0 -0
@@ -0,0 +1,345 @@
|
|
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
|
+
|
8
|
+
#include <stdio.h>
|
9
|
+
#include <stdarg.h>
|
10
|
+
#include <stdint.h>
|
11
|
+
|
12
|
+
#include "progress.h"
|
13
|
+
#include "error.h"
|
14
|
+
|
15
|
+
/*
|
16
|
+
* Show updates to the percentage and number of objects received
|
17
|
+
* separately from the throughput to give an accurate progress while
|
18
|
+
* avoiding too much noise on the screen.
|
19
|
+
*/
|
20
|
+
#define PROGRESS_UPDATE_TIME 0.10
|
21
|
+
#define THROUGHPUT_UPDATE_TIME 1.00
|
22
|
+
|
23
|
+
#define is_nl(c) ((c) == '\r' || (c) == '\n')
|
24
|
+
|
25
|
+
#define return_os_error(msg) do { \
|
26
|
+
git_error_set(GIT_ERROR_OS, "%s", msg); return -1; } while(0)
|
27
|
+
|
28
|
+
GIT_INLINE(size_t) no_nl_len(const char *str, size_t len)
|
29
|
+
{
|
30
|
+
size_t i = 0;
|
31
|
+
|
32
|
+
while (i < len && !is_nl(str[i]))
|
33
|
+
i++;
|
34
|
+
|
35
|
+
return i;
|
36
|
+
}
|
37
|
+
|
38
|
+
GIT_INLINE(size_t) nl_len(bool *has_nl, const char *str, size_t len)
|
39
|
+
{
|
40
|
+
size_t i = no_nl_len(str, len);
|
41
|
+
|
42
|
+
*has_nl = false;
|
43
|
+
|
44
|
+
while (i < len && is_nl(str[i])) {
|
45
|
+
*has_nl = true;
|
46
|
+
i++;
|
47
|
+
}
|
48
|
+
|
49
|
+
return i;
|
50
|
+
}
|
51
|
+
|
52
|
+
static int progress_write(cli_progress *progress, bool force, git_str *line)
|
53
|
+
{
|
54
|
+
bool has_nl;
|
55
|
+
size_t no_nl = no_nl_len(line->ptr, line->size);
|
56
|
+
size_t nl = nl_len(&has_nl, line->ptr + no_nl, line->size - no_nl);
|
57
|
+
double now = git__timer();
|
58
|
+
size_t i;
|
59
|
+
|
60
|
+
/* Avoid spamming the console with progress updates */
|
61
|
+
if (!force && line->ptr[line->size - 1] != '\n' && progress->last_update) {
|
62
|
+
if (now - progress->last_update < PROGRESS_UPDATE_TIME) {
|
63
|
+
git_str_clear(&progress->deferred);
|
64
|
+
git_str_put(&progress->deferred, line->ptr, line->size);
|
65
|
+
return git_str_oom(&progress->deferred) ? -1 : 0;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
|
69
|
+
/*
|
70
|
+
* If there's something on this line already (eg, a progress line
|
71
|
+
* with only a trailing `\r` that we'll print over) then we need
|
72
|
+
* to really print over it in case we're writing a shorter line.
|
73
|
+
*/
|
74
|
+
if (printf("%.*s", (int)no_nl, line->ptr) < 0)
|
75
|
+
return_os_error("could not print status");
|
76
|
+
|
77
|
+
if (progress->onscreen.size) {
|
78
|
+
for (i = no_nl; i < progress->onscreen.size; i++) {
|
79
|
+
if (printf(" ") < 0)
|
80
|
+
return_os_error("could not print status");
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
if (printf("%.*s", (int)nl, line->ptr + no_nl) < 0 ||
|
85
|
+
fflush(stdout) != 0)
|
86
|
+
return_os_error("could not print status");
|
87
|
+
|
88
|
+
git_str_clear(&progress->onscreen);
|
89
|
+
|
90
|
+
if (line->ptr[line->size - 1] == '\n') {
|
91
|
+
progress->last_update = 0;
|
92
|
+
} else {
|
93
|
+
git_str_put(&progress->onscreen, line->ptr, line->size);
|
94
|
+
progress->last_update = now;
|
95
|
+
}
|
96
|
+
|
97
|
+
git_str_clear(&progress->deferred);
|
98
|
+
return git_str_oom(&progress->onscreen) ? -1 : 0;
|
99
|
+
}
|
100
|
+
|
101
|
+
static int progress_printf(cli_progress *progress, bool force, const char *fmt, ...)
|
102
|
+
GIT_FORMAT_PRINTF(3, 4);
|
103
|
+
|
104
|
+
int progress_printf(cli_progress *progress, bool force, const char *fmt, ...)
|
105
|
+
{
|
106
|
+
git_str buf = GIT_BUF_INIT;
|
107
|
+
va_list ap;
|
108
|
+
int error;
|
109
|
+
|
110
|
+
va_start(ap, fmt);
|
111
|
+
error = git_str_vprintf(&buf, fmt, ap);
|
112
|
+
va_end(ap);
|
113
|
+
|
114
|
+
if (error < 0)
|
115
|
+
return error;
|
116
|
+
|
117
|
+
error = progress_write(progress, force, &buf);
|
118
|
+
|
119
|
+
git_str_dispose(&buf);
|
120
|
+
return error;
|
121
|
+
}
|
122
|
+
|
123
|
+
static int progress_complete(cli_progress *progress)
|
124
|
+
{
|
125
|
+
if (progress->deferred.size)
|
126
|
+
progress_write(progress, true, &progress->deferred);
|
127
|
+
|
128
|
+
if (progress->onscreen.size)
|
129
|
+
if (printf("\n") < 0)
|
130
|
+
return_os_error("could not print status");
|
131
|
+
|
132
|
+
git_str_clear(&progress->deferred);
|
133
|
+
git_str_clear(&progress->onscreen);
|
134
|
+
progress->last_update = 0;
|
135
|
+
progress->action_start = 0;
|
136
|
+
progress->action_finish = 0;
|
137
|
+
|
138
|
+
return 0;
|
139
|
+
}
|
140
|
+
|
141
|
+
GIT_INLINE(int) percent(size_t completed, size_t total)
|
142
|
+
{
|
143
|
+
if (total == 0)
|
144
|
+
return (completed == 0) ? 100 : 0;
|
145
|
+
|
146
|
+
return (int)(((double)completed / (double)total) * 100);
|
147
|
+
}
|
148
|
+
|
149
|
+
int cli_progress_fetch_sideband(const char *str, int len, void *payload)
|
150
|
+
{
|
151
|
+
cli_progress *progress = (cli_progress *)payload;
|
152
|
+
size_t remain;
|
153
|
+
|
154
|
+
if (len <= 0)
|
155
|
+
return 0;
|
156
|
+
|
157
|
+
/* Accumulate the sideband data, then print it line-at-a-time. */
|
158
|
+
if (git_str_put(&progress->sideband, str, len) < 0)
|
159
|
+
return -1;
|
160
|
+
|
161
|
+
str = progress->sideband.ptr;
|
162
|
+
remain = progress->sideband.size;
|
163
|
+
|
164
|
+
while (remain) {
|
165
|
+
bool has_nl;
|
166
|
+
size_t line_len = nl_len(&has_nl, str, remain);
|
167
|
+
|
168
|
+
if (!has_nl)
|
169
|
+
break;
|
170
|
+
|
171
|
+
if (line_len < INT_MAX) {
|
172
|
+
int error = progress_printf(progress, true,
|
173
|
+
"remote: %.*s", (int)line_len, str);
|
174
|
+
|
175
|
+
if (error < 0)
|
176
|
+
return error;
|
177
|
+
}
|
178
|
+
|
179
|
+
str += line_len;
|
180
|
+
remain -= line_len;
|
181
|
+
}
|
182
|
+
|
183
|
+
git_str_consume_bytes(&progress->sideband, (progress->sideband.size - remain));
|
184
|
+
|
185
|
+
return 0;
|
186
|
+
}
|
187
|
+
|
188
|
+
static int fetch_receiving(
|
189
|
+
cli_progress *progress,
|
190
|
+
const git_indexer_progress *stats)
|
191
|
+
{
|
192
|
+
char *recv_units[] = { "B", "KiB", "MiB", "GiB", "TiB", NULL };
|
193
|
+
char *rate_units[] = { "B/s", "KiB/s", "MiB/s", "GiB/s", "TiB/s", NULL };
|
194
|
+
|
195
|
+
double now, recv_len, rate, elapsed;
|
196
|
+
size_t recv_unit_idx = 0, rate_unit_idx = 0;
|
197
|
+
bool done = (stats->received_objects == stats->total_objects);
|
198
|
+
|
199
|
+
if (!progress->action_start)
|
200
|
+
progress->action_start = git__timer();
|
201
|
+
|
202
|
+
if (done && progress->action_finish)
|
203
|
+
now = progress->action_finish;
|
204
|
+
else if (done)
|
205
|
+
progress->action_finish = now = git__timer();
|
206
|
+
else
|
207
|
+
now = git__timer();
|
208
|
+
|
209
|
+
if (progress->throughput_update &&
|
210
|
+
now - progress->throughput_update < THROUGHPUT_UPDATE_TIME) {
|
211
|
+
elapsed = progress->throughput_update -
|
212
|
+
progress->action_start;
|
213
|
+
recv_len = progress->throughput_bytes;
|
214
|
+
} else {
|
215
|
+
elapsed = now - progress->action_start;
|
216
|
+
recv_len = (double)stats->received_bytes;
|
217
|
+
|
218
|
+
progress->throughput_update = now;
|
219
|
+
progress->throughput_bytes = recv_len;
|
220
|
+
}
|
221
|
+
|
222
|
+
rate = elapsed ? recv_len / elapsed : 0;
|
223
|
+
|
224
|
+
while (recv_len > 1024 && recv_units[recv_unit_idx+1]) {
|
225
|
+
recv_len /= 1024;
|
226
|
+
recv_unit_idx++;
|
227
|
+
}
|
228
|
+
|
229
|
+
while (rate > 1024 && rate_units[rate_unit_idx+1]) {
|
230
|
+
rate /= 1024;
|
231
|
+
rate_unit_idx++;
|
232
|
+
}
|
233
|
+
|
234
|
+
return progress_printf(progress, false,
|
235
|
+
"Receiving objects: %3d%% (%d/%d), %.2f %s | %.2f %s%s\r",
|
236
|
+
percent(stats->received_objects, stats->total_objects),
|
237
|
+
stats->received_objects,
|
238
|
+
stats->total_objects,
|
239
|
+
recv_len, recv_units[recv_unit_idx],
|
240
|
+
rate, rate_units[rate_unit_idx],
|
241
|
+
done ? ", done." : "");
|
242
|
+
}
|
243
|
+
|
244
|
+
static int fetch_resolving(
|
245
|
+
cli_progress *progress,
|
246
|
+
const git_indexer_progress *stats)
|
247
|
+
{
|
248
|
+
bool done = (stats->indexed_deltas == stats->total_deltas);
|
249
|
+
|
250
|
+
return progress_printf(progress, false,
|
251
|
+
"Resolving deltas: %3d%% (%d/%d)%s\r",
|
252
|
+
percent(stats->indexed_deltas, stats->total_deltas),
|
253
|
+
stats->indexed_deltas, stats->total_deltas,
|
254
|
+
done ? ", done." : "");
|
255
|
+
}
|
256
|
+
|
257
|
+
int cli_progress_fetch_transfer(const git_indexer_progress *stats, void *payload)
|
258
|
+
{
|
259
|
+
cli_progress *progress = (cli_progress *)payload;
|
260
|
+
int error = 0;
|
261
|
+
|
262
|
+
switch (progress->action) {
|
263
|
+
case CLI_PROGRESS_NONE:
|
264
|
+
progress->action = CLI_PROGRESS_RECEIVING;
|
265
|
+
/* fall through */
|
266
|
+
|
267
|
+
case CLI_PROGRESS_RECEIVING:
|
268
|
+
if ((error = fetch_receiving(progress, stats)) < 0)
|
269
|
+
break;
|
270
|
+
|
271
|
+
/*
|
272
|
+
* Upgrade from receiving to resolving; do this after the
|
273
|
+
* final call to cli_progress_fetch_receiving (above) to
|
274
|
+
* ensure that we've printed a final "done" string after
|
275
|
+
* any sideband data.
|
276
|
+
*/
|
277
|
+
if (!stats->indexed_deltas)
|
278
|
+
break;
|
279
|
+
|
280
|
+
progress_complete(progress);
|
281
|
+
progress->action = CLI_PROGRESS_RESOLVING;
|
282
|
+
/* fall through */
|
283
|
+
|
284
|
+
case CLI_PROGRESS_RESOLVING:
|
285
|
+
error = fetch_resolving(progress, stats);
|
286
|
+
break;
|
287
|
+
|
288
|
+
default:
|
289
|
+
/* should not be reached */
|
290
|
+
GIT_ASSERT(!"unexpected progress state");
|
291
|
+
}
|
292
|
+
|
293
|
+
return error;
|
294
|
+
}
|
295
|
+
|
296
|
+
void cli_progress_checkout(
|
297
|
+
const char *path,
|
298
|
+
size_t completed_steps,
|
299
|
+
size_t total_steps,
|
300
|
+
void *payload)
|
301
|
+
{
|
302
|
+
cli_progress *progress = (cli_progress *)payload;
|
303
|
+
bool done = (completed_steps == total_steps);
|
304
|
+
|
305
|
+
GIT_UNUSED(path);
|
306
|
+
|
307
|
+
if (progress->action != CLI_PROGRESS_CHECKING_OUT) {
|
308
|
+
progress_complete(progress);
|
309
|
+
progress->action = CLI_PROGRESS_CHECKING_OUT;
|
310
|
+
}
|
311
|
+
|
312
|
+
progress_printf(progress, false,
|
313
|
+
"Checking out files: %3d%% (%" PRIuZ "/%" PRIuZ ")%s\r",
|
314
|
+
percent(completed_steps, total_steps),
|
315
|
+
completed_steps, total_steps,
|
316
|
+
done ? ", done." : "");
|
317
|
+
}
|
318
|
+
|
319
|
+
int cli_progress_abort(cli_progress *progress)
|
320
|
+
{
|
321
|
+
if (progress->onscreen.size > 0 && printf("\n") < 0)
|
322
|
+
return_os_error("could not print status");
|
323
|
+
|
324
|
+
return 0;
|
325
|
+
}
|
326
|
+
|
327
|
+
int cli_progress_finish(cli_progress *progress)
|
328
|
+
{
|
329
|
+
int error = progress->action ? progress_complete(progress) : 0;
|
330
|
+
|
331
|
+
progress->action = 0;
|
332
|
+
return error;
|
333
|
+
}
|
334
|
+
|
335
|
+
void cli_progress_dispose(cli_progress *progress)
|
336
|
+
{
|
337
|
+
if (progress == NULL)
|
338
|
+
return;
|
339
|
+
|
340
|
+
git_str_dispose(&progress->sideband);
|
341
|
+
git_str_dispose(&progress->onscreen);
|
342
|
+
git_str_dispose(&progress->deferred);
|
343
|
+
|
344
|
+
memset(progress, 0, sizeof(cli_progress));
|
345
|
+
}
|
@@ -0,0 +1,117 @@
|
|
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
|
+
|
8
|
+
#ifndef CLI_progress_h__
|
9
|
+
#define CLI_progress_h__
|
10
|
+
|
11
|
+
#include <git2.h>
|
12
|
+
#include "str.h"
|
13
|
+
|
14
|
+
/*
|
15
|
+
* A general purpose set of progress printing functions. An individual
|
16
|
+
* `cli_progress` object is capable of displaying progress for a single
|
17
|
+
* function, even if that function displays multiple pieces of progress
|
18
|
+
* (like `git_clone`). `cli_progress_finish` should be called after
|
19
|
+
* any function invocation to re-set state.
|
20
|
+
*/
|
21
|
+
|
22
|
+
typedef enum {
|
23
|
+
CLI_PROGRESS_NONE,
|
24
|
+
CLI_PROGRESS_RECEIVING,
|
25
|
+
CLI_PROGRESS_RESOLVING,
|
26
|
+
CLI_PROGRESS_CHECKING_OUT
|
27
|
+
} cli_progress_t;
|
28
|
+
|
29
|
+
typedef struct {
|
30
|
+
cli_progress_t action;
|
31
|
+
|
32
|
+
/* Actions may time themselves (eg fetch) but are not required to */
|
33
|
+
double action_start;
|
34
|
+
double action_finish;
|
35
|
+
|
36
|
+
/* Last console update, avoid too frequent updates. */
|
37
|
+
double last_update;
|
38
|
+
|
39
|
+
/* Accumulators for partial output and deferred updates. */
|
40
|
+
git_str sideband;
|
41
|
+
git_str onscreen;
|
42
|
+
git_str deferred;
|
43
|
+
|
44
|
+
/* Last update about throughput */
|
45
|
+
double throughput_update;
|
46
|
+
double throughput_bytes;
|
47
|
+
} cli_progress;
|
48
|
+
|
49
|
+
#define CLI_PROGRESS_INIT { 0 }
|
50
|
+
|
51
|
+
/**
|
52
|
+
* Prints sideband data from fetch to the console. Suitable for a
|
53
|
+
* `sideband_progress` callback for `git_fetch_options`.
|
54
|
+
*
|
55
|
+
* @param str The sideband string
|
56
|
+
* @param len The length of the sideband string
|
57
|
+
* @param payload A pointer to the cli_progress
|
58
|
+
* @return 0 on success, -1 on failure
|
59
|
+
*/
|
60
|
+
extern int cli_progress_fetch_sideband(
|
61
|
+
const char *str,
|
62
|
+
int len,
|
63
|
+
void *payload);
|
64
|
+
|
65
|
+
/**
|
66
|
+
* Prints fetch transfer statistics to the console. Suitable for a
|
67
|
+
* `transfer_progress` callback for `git_fetch_options`.
|
68
|
+
*
|
69
|
+
* @param stats The indexer stats
|
70
|
+
* @param payload A pointer to the cli_progress
|
71
|
+
* @return 0 on success, -1 on failure
|
72
|
+
*/
|
73
|
+
extern int cli_progress_fetch_transfer(
|
74
|
+
const git_indexer_progress *stats,
|
75
|
+
void *payload);
|
76
|
+
|
77
|
+
/**
|
78
|
+
* Prints checkout progress to the console. Suitable for a
|
79
|
+
* `progress_cb` callback for `git_checkout_options`.
|
80
|
+
*
|
81
|
+
* @param path The path being written
|
82
|
+
* @param completed_steps The completed checkout steps
|
83
|
+
* @param total_steps The total number of checkout steps
|
84
|
+
* @param payload A pointer to the cli_progress
|
85
|
+
*/
|
86
|
+
extern void cli_progress_checkout(
|
87
|
+
const char *path,
|
88
|
+
size_t completed_steps,
|
89
|
+
size_t total_steps,
|
90
|
+
void *payload);
|
91
|
+
|
92
|
+
/**
|
93
|
+
* Stop displaying progress quickly; suitable for stopping an application
|
94
|
+
* quickly. Does not display any lines that were buffered, just gets the
|
95
|
+
* console back to a sensible place.
|
96
|
+
*
|
97
|
+
* @param progress The progress information
|
98
|
+
* @return 0 on success, -1 on failure
|
99
|
+
*/
|
100
|
+
extern int cli_progress_abort(cli_progress *progress);
|
101
|
+
|
102
|
+
/**
|
103
|
+
* Finishes displaying progress; flushes any buffered output.
|
104
|
+
*
|
105
|
+
* @param progress The progress information
|
106
|
+
* @return 0 on success, -1 on failure
|
107
|
+
*/
|
108
|
+
extern int cli_progress_finish(cli_progress *progress);
|
109
|
+
|
110
|
+
/**
|
111
|
+
* Disposes the progress information.
|
112
|
+
*
|
113
|
+
* @param progress The progress information
|
114
|
+
*/
|
115
|
+
extern void cli_progress_dispose(cli_progress *progress);
|
116
|
+
|
117
|
+
#endif /* CLI_progress_h__ */
|
@@ -0,0 +1,20 @@
|
|
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
|
+
|
8
|
+
#ifndef CLI_sighandler_h__
|
9
|
+
#define CLI_sighandler_h__
|
10
|
+
|
11
|
+
/**
|
12
|
+
* Sets up a signal handler that will run when the process is interrupted
|
13
|
+
* (via SIGINT on POSIX or Control-C or Control-Break on Windows).
|
14
|
+
*
|
15
|
+
* @param handler The function to run on interrupt
|
16
|
+
* @return 0 on success, -1 on failure
|
17
|
+
*/
|
18
|
+
int cli_sighandler_set_interrupt(void (*handler)(void));
|
19
|
+
|
20
|
+
#endif /* CLI_sighandler_h__ */
|
@@ -0,0 +1,36 @@
|
|
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
|
+
|
8
|
+
#include <stdint.h>
|
9
|
+
#include <signal.h>
|
10
|
+
#include "git2_util.h"
|
11
|
+
#include "cli.h"
|
12
|
+
|
13
|
+
static void (*interrupt_handler)(void) = NULL;
|
14
|
+
|
15
|
+
static void interrupt_proxy(int signal)
|
16
|
+
{
|
17
|
+
GIT_UNUSED(signal);
|
18
|
+
interrupt_handler();
|
19
|
+
}
|
20
|
+
|
21
|
+
int cli_sighandler_set_interrupt(void (*handler)(void))
|
22
|
+
{
|
23
|
+
void (*result)(int);
|
24
|
+
|
25
|
+
if ((interrupt_handler = handler) != NULL)
|
26
|
+
result = signal(SIGINT, interrupt_proxy);
|
27
|
+
else
|
28
|
+
result = signal(SIGINT, SIG_DFL);
|
29
|
+
|
30
|
+
if (result == SIG_ERR) {
|
31
|
+
git_error_set(GIT_ERROR_OS, "could not set signal handler");
|
32
|
+
return -1;
|
33
|
+
}
|
34
|
+
|
35
|
+
return 0;
|
36
|
+
}
|
@@ -0,0 +1,37 @@
|
|
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
|
+
|
8
|
+
#include "git2_util.h"
|
9
|
+
#include <windows.h>
|
10
|
+
|
11
|
+
#include "cli.h"
|
12
|
+
|
13
|
+
static void (*interrupt_handler)(void) = NULL;
|
14
|
+
|
15
|
+
static BOOL WINAPI interrupt_proxy(DWORD signal)
|
16
|
+
{
|
17
|
+
GIT_UNUSED(signal);
|
18
|
+
interrupt_handler();
|
19
|
+
return TRUE;
|
20
|
+
}
|
21
|
+
|
22
|
+
int cli_sighandler_set_interrupt(void (*handler)(void))
|
23
|
+
{
|
24
|
+
BOOL result;
|
25
|
+
|
26
|
+
if ((interrupt_handler = handler) != NULL)
|
27
|
+
result = SetConsoleCtrlHandler(interrupt_proxy, FALSE);
|
28
|
+
else
|
29
|
+
result = SetConsoleCtrlHandler(NULL, FALSE);
|
30
|
+
|
31
|
+
if (!result) {
|
32
|
+
git_error_set(GIT_ERROR_OS, "could not set control control handler");
|
33
|
+
return -1;
|
34
|
+
}
|
35
|
+
|
36
|
+
return 0;
|
37
|
+
}
|
@@ -46,8 +46,17 @@
|
|
46
46
|
#cmakedefine GIT_SHA1_WIN32 1
|
47
47
|
#cmakedefine GIT_SHA1_COMMON_CRYPTO 1
|
48
48
|
#cmakedefine GIT_SHA1_OPENSSL 1
|
49
|
+
#cmakedefine GIT_SHA1_OPENSSL_DYNAMIC 1
|
49
50
|
#cmakedefine GIT_SHA1_MBEDTLS 1
|
50
51
|
|
52
|
+
#cmakedefine GIT_SHA256_BUILTIN 1
|
53
|
+
#cmakedefine GIT_SHA256_WIN32 1
|
54
|
+
#cmakedefine GIT_SHA256_COMMON_CRYPTO 1
|
55
|
+
#cmakedefine GIT_SHA256_OPENSSL 1
|
56
|
+
#cmakedefine GIT_SHA256_OPENSSL_DYNAMIC 1
|
57
|
+
#cmakedefine GIT_SHA256_MBEDTLS 1
|
58
|
+
|
51
59
|
#cmakedefine GIT_RAND_GETENTROPY 1
|
60
|
+
#cmakedefine GIT_RAND_GETLOADAVG 1
|
52
61
|
|
53
62
|
#endif
|
@@ -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})
|