rugged 1.7.2 → 1.9.4
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/ext/rugged/extconf.rb +4 -4
- data/ext/rugged/rugged.c +12 -1
- data/ext/rugged/rugged_blame.c +22 -6
- data/ext/rugged/rugged_blob.c +24 -9
- data/ext/rugged/rugged_branch.c +10 -7
- data/ext/rugged/rugged_branch_collection.c +8 -6
- data/ext/rugged/rugged_commit.c +7 -6
- data/ext/rugged/rugged_config.c +20 -11
- data/ext/rugged/rugged_diff.c +26 -12
- data/ext/rugged/rugged_diff_hunk.c +2 -1
- data/ext/rugged/rugged_index.c +39 -29
- data/ext/rugged/rugged_note.c +7 -6
- data/ext/rugged/rugged_object.c +3 -2
- data/ext/rugged/rugged_patch.c +23 -9
- data/ext/rugged/rugged_rebase.c +22 -10
- data/ext/rugged/rugged_reference.c +22 -13
- data/ext/rugged/rugged_reference_collection.c +9 -7
- data/ext/rugged/rugged_remote.c +23 -12
- data/ext/rugged/rugged_remote_collection.c +11 -9
- data/ext/rugged/rugged_repo.c +60 -45
- data/ext/rugged/rugged_revwalk.c +22 -12
- data/ext/rugged/rugged_submodule.c +23 -20
- data/ext/rugged/rugged_submodule_collection.c +20 -9
- data/ext/rugged/rugged_tag.c +6 -4
- data/ext/rugged/rugged_tag_collection.c +7 -5
- data/ext/rugged/rugged_tree.c +27 -15
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +3 -0
- data/vendor/libgit2/CMakeLists.txt +23 -10
- data/vendor/libgit2/COPYING +195 -1
- data/vendor/libgit2/cmake/DefaultCFlags.cmake +4 -1
- data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
- data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
- data/vendor/libgit2/cmake/SelectGSSAPI.cmake +1 -1
- data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
- data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +17 -8
- data/vendor/libgit2/cmake/SelectHashes.cmake +28 -11
- data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
- data/vendor/libgit2/cmake/SelectSSH.cmake +30 -19
- data/vendor/libgit2/cmake/SelectZlib.cmake +4 -0
- data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
- data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
- data/vendor/libgit2/deps/llhttp/api.c +510 -0
- data/vendor/libgit2/deps/llhttp/http.c +170 -0
- data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
- data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -1
- data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +4 -4
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +21 -21
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
- data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
- data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +3 -3
- data/vendor/libgit2/deps/xdiff/CMakeLists.txt +1 -1
- data/vendor/libgit2/deps/xdiff/xmerge.c +16 -12
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
- data/vendor/libgit2/deps/zlib/LICENSE +22 -0
- data/vendor/libgit2/deps/zlib/adler32.c +5 -27
- data/vendor/libgit2/deps/zlib/crc32.c +94 -167
- data/vendor/libgit2/deps/zlib/deflate.c +358 -435
- data/vendor/libgit2/deps/zlib/deflate.h +41 -10
- data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
- data/vendor/libgit2/deps/zlib/infback.c +17 -30
- data/vendor/libgit2/deps/zlib/inffast.c +1 -4
- data/vendor/libgit2/deps/zlib/inffast.h +1 -1
- data/vendor/libgit2/deps/zlib/inflate.c +36 -102
- data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
- data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
- data/vendor/libgit2/deps/zlib/trees.c +287 -352
- data/vendor/libgit2/deps/zlib/zconf.h +23 -14
- data/vendor/libgit2/deps/zlib/zlib.h +202 -202
- data/vendor/libgit2/deps/zlib/zutil.c +18 -44
- data/vendor/libgit2/deps/zlib/zutil.h +13 -33
- data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
- data/vendor/libgit2/include/git2/apply.h +27 -6
- data/vendor/libgit2/include/git2/attr.h +17 -4
- data/vendor/libgit2/include/git2/blame.h +133 -28
- data/vendor/libgit2/include/git2/blob.h +71 -28
- data/vendor/libgit2/include/git2/branch.h +22 -15
- data/vendor/libgit2/include/git2/buffer.h +6 -4
- data/vendor/libgit2/include/git2/cert.h +2 -1
- data/vendor/libgit2/include/git2/checkout.h +83 -32
- data/vendor/libgit2/include/git2/cherrypick.h +10 -3
- data/vendor/libgit2/include/git2/clone.h +25 -9
- data/vendor/libgit2/include/git2/commit.h +132 -3
- data/vendor/libgit2/include/git2/common.h +120 -63
- data/vendor/libgit2/include/git2/config.h +93 -23
- data/vendor/libgit2/include/git2/credential.h +30 -2
- data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
- data/vendor/libgit2/include/git2/deprecated.h +134 -4
- data/vendor/libgit2/include/git2/describe.h +13 -1
- data/vendor/libgit2/include/git2/diff.h +38 -8
- data/vendor/libgit2/include/git2/email.h +9 -29
- data/vendor/libgit2/include/git2/errors.h +46 -73
- data/vendor/libgit2/include/git2/filter.h +14 -7
- data/vendor/libgit2/include/git2/global.h +8 -1
- data/vendor/libgit2/include/git2/graph.h +3 -2
- data/vendor/libgit2/include/git2/ignore.h +10 -0
- data/vendor/libgit2/include/git2/index.h +100 -15
- data/vendor/libgit2/include/git2/indexer.h +21 -4
- data/vendor/libgit2/include/git2/mailmap.h +7 -1
- data/vendor/libgit2/include/git2/merge.h +50 -3
- data/vendor/libgit2/include/git2/message.h +2 -2
- data/vendor/libgit2/include/git2/net.h +3 -1
- data/vendor/libgit2/include/git2/notes.h +9 -6
- data/vendor/libgit2/include/git2/object.h +9 -8
- data/vendor/libgit2/include/git2/odb.h +91 -49
- data/vendor/libgit2/include/git2/odb_backend.h +80 -52
- data/vendor/libgit2/include/git2/oid.h +23 -25
- data/vendor/libgit2/include/git2/oidarray.h +7 -1
- data/vendor/libgit2/include/git2/pack.h +13 -1
- data/vendor/libgit2/include/git2/patch.h +2 -3
- data/vendor/libgit2/include/git2/pathspec.h +9 -0
- data/vendor/libgit2/include/git2/proxy.h +12 -3
- data/vendor/libgit2/include/git2/rebase.h +9 -6
- data/vendor/libgit2/include/git2/refdb.h +2 -2
- data/vendor/libgit2/include/git2/reflog.h +3 -2
- data/vendor/libgit2/include/git2/refs.h +9 -6
- data/vendor/libgit2/include/git2/refspec.h +14 -4
- data/vendor/libgit2/include/git2/remote.h +113 -25
- data/vendor/libgit2/include/git2/repository.h +57 -21
- data/vendor/libgit2/include/git2/reset.h +16 -3
- data/vendor/libgit2/include/git2/revert.h +9 -4
- data/vendor/libgit2/include/git2/revparse.h +3 -3
- data/vendor/libgit2/include/git2/revwalk.h +3 -2
- data/vendor/libgit2/include/git2/signature.h +46 -1
- data/vendor/libgit2/include/git2/stash.h +17 -3
- data/vendor/libgit2/include/git2/status.h +10 -6
- data/vendor/libgit2/include/git2/stdint.h +87 -85
- data/vendor/libgit2/include/git2/strarray.h +2 -3
- data/vendor/libgit2/include/git2/submodule.h +20 -9
- data/vendor/libgit2/include/git2/sys/alloc.h +12 -0
- data/vendor/libgit2/include/git2/sys/commit.h +77 -3
- data/vendor/libgit2/include/git2/sys/commit_graph.h +103 -62
- data/vendor/libgit2/include/git2/sys/config.h +80 -4
- data/vendor/libgit2/include/git2/sys/credential.h +4 -3
- data/vendor/libgit2/include/git2/sys/diff.h +21 -1
- data/vendor/libgit2/include/git2/sys/email.h +7 -0
- data/vendor/libgit2/include/git2/sys/errors.h +76 -0
- data/vendor/libgit2/include/git2/sys/filter.h +66 -3
- data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
- data/vendor/libgit2/include/git2/sys/index.h +3 -2
- data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
- data/vendor/libgit2/include/git2/sys/merge.h +55 -7
- data/vendor/libgit2/include/git2/sys/midx.h +43 -4
- data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
- data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
- data/vendor/libgit2/include/git2/sys/path.h +12 -1
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
- data/vendor/libgit2/include/git2/sys/refs.h +3 -2
- data/vendor/libgit2/include/git2/sys/remote.h +8 -1
- data/vendor/libgit2/include/git2/sys/repository.h +63 -3
- data/vendor/libgit2/include/git2/sys/stream.h +11 -2
- data/vendor/libgit2/include/git2/sys/transport.h +25 -4
- data/vendor/libgit2/include/git2/tag.h +3 -1
- data/vendor/libgit2/include/git2/trace.h +9 -3
- data/vendor/libgit2/include/git2/transaction.h +3 -2
- data/vendor/libgit2/include/git2/transport.h +11 -3
- data/vendor/libgit2/include/git2/tree.h +16 -5
- data/vendor/libgit2/include/git2/types.h +19 -3
- data/vendor/libgit2/include/git2/version.h +46 -8
- data/vendor/libgit2/include/git2/worktree.h +16 -6
- data/vendor/libgit2/src/CMakeLists.txt +6 -4
- data/vendor/libgit2/src/cli/CMakeLists.txt +3 -4
- data/vendor/libgit2/src/cli/cmd.c +1 -1
- data/vendor/libgit2/src/cli/cmd.h +4 -0
- data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
- data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
- data/vendor/libgit2/src/cli/cmd_clone.c +5 -7
- data/vendor/libgit2/src/cli/cmd_config.c +241 -0
- data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
- data/vendor/libgit2/src/cli/cmd_help.c +6 -7
- data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
- data/vendor/libgit2/src/cli/cmd_init.c +102 -0
- data/vendor/libgit2/src/cli/common.c +168 -0
- data/vendor/libgit2/src/cli/common.h +63 -0
- data/vendor/libgit2/src/cli/error.h +1 -1
- data/vendor/libgit2/src/cli/main.c +52 -24
- data/vendor/libgit2/src/cli/opt.c +31 -5
- data/vendor/libgit2/src/cli/opt.h +21 -3
- data/vendor/libgit2/src/cli/opt_usage.c +102 -33
- data/vendor/libgit2/src/cli/opt_usage.h +6 -1
- data/vendor/libgit2/src/cli/progress.c +51 -2
- data/vendor/libgit2/src/cli/progress.h +12 -0
- data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
- data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
- data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
- data/vendor/libgit2/src/libgit2/CMakeLists.txt +55 -21
- data/vendor/libgit2/src/libgit2/apply.c +10 -13
- data/vendor/libgit2/src/libgit2/attr.c +30 -13
- data/vendor/libgit2/src/libgit2/attr_file.c +17 -5
- data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
- data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
- data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
- data/vendor/libgit2/src/libgit2/blame.c +130 -44
- data/vendor/libgit2/src/libgit2/blame.h +1 -0
- data/vendor/libgit2/src/libgit2/cache.c +22 -17
- data/vendor/libgit2/src/libgit2/cache.h +7 -9
- data/vendor/libgit2/src/libgit2/checkout.c +34 -24
- data/vendor/libgit2/src/libgit2/checkout.h +0 -2
- data/vendor/libgit2/src/libgit2/cherrypick.c +1 -2
- data/vendor/libgit2/src/libgit2/clone.c +192 -166
- data/vendor/libgit2/src/libgit2/clone.h +4 -1
- data/vendor/libgit2/src/libgit2/commit.c +93 -1
- data/vendor/libgit2/src/libgit2/commit_graph.c +68 -58
- data/vendor/libgit2/src/libgit2/commit_graph.h +1 -2
- data/vendor/libgit2/src/libgit2/config.c +390 -299
- data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
- data/vendor/libgit2/src/libgit2/config.h +9 -4
- data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
- data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
- data/vendor/libgit2/src/libgit2/config_file.c +101 -89
- data/vendor/libgit2/src/libgit2/config_list.c +285 -0
- data/vendor/libgit2/src/libgit2/config_list.h +32 -0
- data/vendor/libgit2/src/libgit2/config_mem.c +195 -40
- data/vendor/libgit2/src/libgit2/config_parse.c +12 -10
- data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
- data/vendor/libgit2/src/libgit2/delta.c +5 -1
- data/vendor/libgit2/src/libgit2/describe.c +24 -24
- data/vendor/libgit2/src/libgit2/diff.c +1 -1
- data/vendor/libgit2/src/libgit2/diff_driver.c +13 -20
- data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
- data/vendor/libgit2/src/libgit2/diff_generate.c +3 -3
- data/vendor/libgit2/src/libgit2/diff_parse.c +2 -2
- data/vendor/libgit2/src/libgit2/diff_print.c +65 -9
- data/vendor/libgit2/src/libgit2/diff_stats.c +19 -12
- data/vendor/libgit2/src/libgit2/diff_tform.c +36 -8
- data/vendor/libgit2/src/libgit2/email.c +1 -0
- data/vendor/libgit2/src/libgit2/fetch.c +5 -3
- data/vendor/libgit2/src/libgit2/fetchhead.c +1 -1
- data/vendor/libgit2/src/libgit2/filter.c +5 -5
- data/vendor/libgit2/src/libgit2/git2.rc +3 -3
- data/vendor/libgit2/src/libgit2/grafts.c +18 -20
- data/vendor/libgit2/src/libgit2/grafts.h +0 -1
- data/vendor/libgit2/src/libgit2/graph.c +1 -1
- data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
- data/vendor/libgit2/src/libgit2/ignore.c +9 -5
- data/vendor/libgit2/src/libgit2/index.c +76 -98
- data/vendor/libgit2/src/libgit2/index.h +5 -2
- data/vendor/libgit2/src/libgit2/index_map.c +95 -0
- data/vendor/libgit2/src/libgit2/index_map.h +28 -0
- data/vendor/libgit2/src/libgit2/indexer.c +36 -40
- data/vendor/libgit2/src/libgit2/iterator.c +14 -8
- data/vendor/libgit2/src/libgit2/libgit2.c +153 -368
- data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
- data/vendor/libgit2/src/libgit2/merge.c +43 -38
- data/vendor/libgit2/src/libgit2/merge.h +4 -0
- data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
- data/vendor/libgit2/src/libgit2/merge_file.c +43 -30
- data/vendor/libgit2/src/libgit2/message.c +1 -1
- data/vendor/libgit2/src/libgit2/midx.c +30 -18
- data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
- data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
- data/vendor/libgit2/src/libgit2/object.c +6 -5
- data/vendor/libgit2/src/libgit2/odb.c +7 -10
- data/vendor/libgit2/src/libgit2/odb_loose.c +24 -14
- data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
- data/vendor/libgit2/src/libgit2/odb_pack.c +13 -5
- data/vendor/libgit2/src/libgit2/oid.c +36 -10
- data/vendor/libgit2/src/libgit2/oid.h +11 -0
- data/vendor/libgit2/src/libgit2/pack-objects.c +59 -34
- data/vendor/libgit2/src/libgit2/pack-objects.h +12 -4
- data/vendor/libgit2/src/libgit2/pack.c +33 -24
- data/vendor/libgit2/src/libgit2/pack.h +15 -10
- data/vendor/libgit2/src/libgit2/patch_parse.c +2 -2
- data/vendor/libgit2/src/libgit2/path.c +1 -1
- data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
- data/vendor/libgit2/src/libgit2/push.c +79 -28
- data/vendor/libgit2/src/libgit2/push.h +1 -0
- data/vendor/libgit2/src/libgit2/refdb_fs.c +128 -61
- data/vendor/libgit2/src/libgit2/reflog.c +1 -2
- data/vendor/libgit2/src/libgit2/reflog.h +2 -0
- data/vendor/libgit2/src/libgit2/refs.c +41 -13
- data/vendor/libgit2/src/libgit2/refs.h +6 -1
- data/vendor/libgit2/src/libgit2/refspec.c +28 -1
- data/vendor/libgit2/src/libgit2/refspec.h +8 -0
- data/vendor/libgit2/src/libgit2/remote.c +125 -62
- data/vendor/libgit2/src/libgit2/remote.h +0 -1
- data/vendor/libgit2/src/libgit2/repository.c +235 -54
- data/vendor/libgit2/src/libgit2/repository.h +10 -6
- data/vendor/libgit2/src/libgit2/revert.c +1 -2
- data/vendor/libgit2/src/libgit2/revparse.c +2 -2
- data/vendor/libgit2/src/libgit2/revwalk.c +13 -10
- data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
- data/vendor/libgit2/src/libgit2/settings.c +468 -0
- data/vendor/libgit2/src/libgit2/settings.h +6 -2
- data/vendor/libgit2/src/libgit2/signature.c +132 -15
- data/vendor/libgit2/src/libgit2/signature.h +0 -1
- data/vendor/libgit2/src/libgit2/status.c +1 -1
- data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -60
- data/vendor/libgit2/src/libgit2/streams/openssl.c +32 -7
- data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
- data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
- data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
- data/vendor/libgit2/src/libgit2/streams/socket.c +30 -0
- data/vendor/libgit2/src/libgit2/streams/stransport.c +39 -7
- data/vendor/libgit2/src/libgit2/submodule.c +118 -68
- data/vendor/libgit2/src/libgit2/submodule.h +6 -7
- data/vendor/libgit2/src/libgit2/tag.c +4 -2
- data/vendor/libgit2/src/libgit2/trailer.c +6 -6
- data/vendor/libgit2/src/libgit2/transaction.c +26 -20
- data/vendor/libgit2/src/libgit2/transaction.h +4 -1
- data/vendor/libgit2/src/libgit2/transport.c +4 -1
- data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +2 -0
- data/vendor/libgit2/src/libgit2/transports/credential.c +2 -2
- data/vendor/libgit2/src/libgit2/transports/git.c +1 -1
- data/vendor/libgit2/src/libgit2/transports/http.c +1 -2
- data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
- data/vendor/libgit2/src/libgit2/transports/httpclient.c +124 -81
- data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
- data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
- data/vendor/libgit2/src/libgit2/transports/local.c +16 -8
- data/vendor/libgit2/src/libgit2/transports/smart.c +25 -13
- data/vendor/libgit2/src/libgit2/transports/smart.h +4 -2
- data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +5 -5
- data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +55 -10
- data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
- data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +386 -0
- data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
- data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1126 -0
- data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
- data/vendor/libgit2/src/libgit2/transports/winhttp.c +35 -7
- data/vendor/libgit2/src/libgit2/tree.c +34 -26
- data/vendor/libgit2/src/libgit2/tree.h +3 -2
- data/vendor/libgit2/src/libgit2/worktree.c +14 -17
- data/vendor/libgit2/src/util/CMakeLists.txt +7 -10
- data/vendor/libgit2/src/util/alloc.c +4 -1
- data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
- data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
- data/vendor/libgit2/src/util/allocators/stdalloc.c +0 -10
- data/vendor/libgit2/src/util/array.h +18 -17
- data/vendor/libgit2/src/util/cc-compat.h +2 -0
- data/vendor/libgit2/src/util/ctype_compat.h +70 -0
- data/vendor/libgit2/src/util/date.c +22 -14
- data/vendor/libgit2/src/util/date.h +12 -0
- data/vendor/libgit2/src/util/errors.c +401 -0
- data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
- data/vendor/libgit2/src/util/fs_path.c +81 -10
- data/vendor/libgit2/src/util/fs_path.h +29 -0
- data/vendor/libgit2/src/util/futils.c +6 -5
- data/vendor/libgit2/src/util/futils.h +24 -7
- data/vendor/libgit2/src/util/git2_features.h.in +12 -1
- data/vendor/libgit2/src/util/git2_util.h +6 -0
- data/vendor/libgit2/src/util/hash/builtin.c +14 -4
- data/vendor/libgit2/src/util/hash/openssl.c +148 -0
- data/vendor/libgit2/src/util/hash/openssl.h +17 -1
- data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +8 -6
- data/vendor/libgit2/src/util/hash/sha.h +4 -1
- data/vendor/libgit2/src/util/hashmap.h +425 -0
- data/vendor/libgit2/src/util/hashmap_str.h +43 -0
- data/vendor/libgit2/src/util/integer.h +3 -1
- data/vendor/libgit2/src/util/net.c +17 -11
- data/vendor/libgit2/src/util/net.h +2 -0
- data/vendor/libgit2/src/util/pool.c +1 -1
- data/vendor/libgit2/src/util/pool.h +5 -0
- data/vendor/libgit2/src/util/pqueue.h +1 -1
- data/vendor/libgit2/src/util/process.h +223 -0
- data/vendor/libgit2/src/util/rand.c +1 -7
- data/vendor/libgit2/src/util/regexp.c +1 -1
- data/vendor/libgit2/src/util/runtime.c +2 -2
- data/vendor/libgit2/src/util/sortedcache.c +14 -13
- data/vendor/libgit2/src/util/sortedcache.h +3 -3
- data/vendor/libgit2/src/util/str.c +20 -8
- data/vendor/libgit2/src/util/str.h +5 -3
- data/vendor/libgit2/src/util/strlist.c +108 -0
- data/vendor/libgit2/src/util/strlist.h +36 -0
- data/vendor/libgit2/src/util/unix/posix.h +0 -2
- data/vendor/libgit2/src/util/unix/process.c +706 -0
- data/vendor/libgit2/src/util/unix/realpath.c +23 -5
- data/vendor/libgit2/src/util/util.c +18 -5
- data/vendor/libgit2/src/util/util.h +5 -38
- data/vendor/libgit2/src/util/vector.c +3 -3
- data/vendor/libgit2/src/util/vector.h +2 -2
- data/vendor/libgit2/src/util/win32/path_w32.c +81 -5
- data/vendor/libgit2/src/util/win32/posix_w32.c +29 -6
- data/vendor/libgit2/src/util/win32/process.c +522 -0
- metadata +60 -32
- data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
- data/vendor/libgit2/deps/http-parser/COPYING +0 -23
- data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
- data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
- data/vendor/libgit2/deps/zlib/COPYING +0 -27
- data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
- data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
- data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
- data/vendor/libgit2/src/libgit2/errors.c +0 -293
- data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
- data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
- data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
- data/vendor/libgit2/src/libgit2/offmap.c +0 -101
- data/vendor/libgit2/src/libgit2/offmap.h +0 -133
- data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
- data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
- data/vendor/libgit2/src/libgit2/threadstate.c +0 -97
- data/vendor/libgit2/src/libgit2/threadstate.h +0 -22
- data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
- data/vendor/libgit2/src/util/khash.h +0 -615
- data/vendor/libgit2/src/util/strmap.c +0 -100
- data/vendor/libgit2/src/util/strmap.h +0 -131
- /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
|
@@ -20,14 +20,16 @@
|
|
|
20
20
|
#include "filebuf.h"
|
|
21
21
|
#include "oid.h"
|
|
22
22
|
#include "oidarray.h"
|
|
23
|
-
#include "oidmap.h"
|
|
24
23
|
#include "zstream.h"
|
|
25
24
|
#include "object.h"
|
|
25
|
+
#include "hashmap_oid.h"
|
|
26
26
|
|
|
27
27
|
size_t git_indexer__max_objects = UINT32_MAX;
|
|
28
28
|
|
|
29
29
|
#define UINT31_MAX (0x7FFFFFFF)
|
|
30
30
|
|
|
31
|
+
GIT_HASHMAP_OID_SETUP(git_indexer_oidmap, git_oid *);
|
|
32
|
+
|
|
31
33
|
struct entry {
|
|
32
34
|
git_oid oid;
|
|
33
35
|
uint32_t crc;
|
|
@@ -63,7 +65,7 @@ struct git_indexer {
|
|
|
63
65
|
char objbuf[8*1024];
|
|
64
66
|
|
|
65
67
|
/* OIDs referenced from pack objects. Used for verification. */
|
|
66
|
-
|
|
68
|
+
git_indexer_oidmap expected_oids;
|
|
67
69
|
|
|
68
70
|
/* Needed to look up objects which we want to inject to fix a thin pack */
|
|
69
71
|
git_odb *odb;
|
|
@@ -169,9 +171,12 @@ static int indexer_new(
|
|
|
169
171
|
if (in_opts)
|
|
170
172
|
memcpy(&opts, in_opts, sizeof(opts));
|
|
171
173
|
|
|
174
|
+
if (oid_type)
|
|
175
|
+
GIT_ASSERT_ARG(git_oid_type_is_valid(oid_type));
|
|
176
|
+
|
|
172
177
|
idx = git__calloc(1, sizeof(git_indexer));
|
|
173
178
|
GIT_ERROR_CHECK_ALLOC(idx);
|
|
174
|
-
idx->oid_type = oid_type;
|
|
179
|
+
idx->oid_type = oid_type ? oid_type : GIT_OID_DEFAULT;
|
|
175
180
|
idx->odb = odb;
|
|
176
181
|
idx->progress_cb = opts.progress_cb;
|
|
177
182
|
idx->progress_payload = opts.progress_cb_payload;
|
|
@@ -181,8 +186,7 @@ static int indexer_new(
|
|
|
181
186
|
checksum_type = indexer_hash_algorithm(idx);
|
|
182
187
|
|
|
183
188
|
if ((error = git_hash_ctx_init(&idx->hash_ctx, checksum_type)) < 0 ||
|
|
184
|
-
(error = git_hash_ctx_init(&idx->trailer, checksum_type)) < 0
|
|
185
|
-
(error = git_oidmap_new(&idx->expected_oids)) < 0)
|
|
189
|
+
(error = git_hash_ctx_init(&idx->trailer, checksum_type)) < 0)
|
|
186
190
|
goto cleanup;
|
|
187
191
|
|
|
188
192
|
idx->do_verify = opts.verify;
|
|
@@ -232,13 +236,12 @@ cleanup:
|
|
|
232
236
|
int git_indexer_new(
|
|
233
237
|
git_indexer **out,
|
|
234
238
|
const char *prefix,
|
|
235
|
-
git_oid_t oid_type,
|
|
236
239
|
git_indexer_options *opts)
|
|
237
240
|
{
|
|
238
241
|
return indexer_new(
|
|
239
242
|
out,
|
|
240
243
|
prefix,
|
|
241
|
-
oid_type,
|
|
244
|
+
opts ? opts->oid_type : 0,
|
|
242
245
|
opts ? opts->mode : 0,
|
|
243
246
|
opts ? opts->odb : NULL,
|
|
244
247
|
opts);
|
|
@@ -380,12 +383,12 @@ static int add_expected_oid(git_indexer *idx, const git_oid *oid)
|
|
|
380
383
|
* not have to expect it.
|
|
381
384
|
*/
|
|
382
385
|
if ((!idx->odb || !git_odb_exists(idx->odb, oid)) &&
|
|
383
|
-
!
|
|
384
|
-
!
|
|
386
|
+
!git_pack_oidmap_contains(&idx->pack->idx_cache, oid) &&
|
|
387
|
+
!git_indexer_oidmap_contains(&idx->expected_oids, oid)) {
|
|
385
388
|
git_oid *dup = git__malloc(sizeof(*oid));
|
|
386
389
|
GIT_ERROR_CHECK_ALLOC(dup);
|
|
387
390
|
git_oid_cpy(dup, oid);
|
|
388
|
-
return
|
|
391
|
+
return git_indexer_oidmap_put(&idx->expected_oids, dup, dup);
|
|
389
392
|
}
|
|
390
393
|
|
|
391
394
|
return 0;
|
|
@@ -412,8 +415,8 @@ static int check_object_connectivity(git_indexer *idx, const git_rawobj *obj)
|
|
|
412
415
|
goto out;
|
|
413
416
|
}
|
|
414
417
|
|
|
415
|
-
if ((expected
|
|
416
|
-
|
|
418
|
+
if (git_indexer_oidmap_get(&expected, &idx->expected_oids, &object->cached.oid) == 0) {
|
|
419
|
+
git_indexer_oidmap_remove(&idx->expected_oids, &object->cached.oid);
|
|
417
420
|
git__free(expected);
|
|
418
421
|
}
|
|
419
422
|
|
|
@@ -518,7 +521,7 @@ static int store_object(git_indexer *idx)
|
|
|
518
521
|
git_oid_cpy(&pentry->id, &oid);
|
|
519
522
|
pentry->offset = entry_start;
|
|
520
523
|
|
|
521
|
-
if (
|
|
524
|
+
if (git_pack_oidmap_contains(&idx->pack->idx_cache, &pentry->id)) {
|
|
522
525
|
const char *idstr = git_oid_tostr_s(&pentry->id);
|
|
523
526
|
|
|
524
527
|
if (!idstr)
|
|
@@ -530,7 +533,7 @@ static int store_object(git_indexer *idx)
|
|
|
530
533
|
goto on_error;
|
|
531
534
|
}
|
|
532
535
|
|
|
533
|
-
if ((error =
|
|
536
|
+
if ((error = git_pack_oidmap_put(&idx->pack->idx_cache, &pentry->id, pentry)) < 0) {
|
|
534
537
|
git__free(pentry);
|
|
535
538
|
git_error_set_oom();
|
|
536
539
|
goto on_error;
|
|
@@ -559,7 +562,7 @@ on_error:
|
|
|
559
562
|
|
|
560
563
|
GIT_INLINE(bool) has_entry(git_indexer *idx, git_oid *id)
|
|
561
564
|
{
|
|
562
|
-
return
|
|
565
|
+
return git_pack_oidmap_contains(&idx->pack->idx_cache, id);
|
|
563
566
|
}
|
|
564
567
|
|
|
565
568
|
static int save_entry(git_indexer *idx, struct entry *entry, struct git_pack_entry *pentry, off64_t entry_start)
|
|
@@ -575,8 +578,8 @@ static int save_entry(git_indexer *idx, struct entry *entry, struct git_pack_ent
|
|
|
575
578
|
|
|
576
579
|
pentry->offset = entry_start;
|
|
577
580
|
|
|
578
|
-
if (
|
|
579
|
-
|
|
581
|
+
if (git_pack_oidmap_contains(&idx->pack->idx_cache, &pentry->id) ||
|
|
582
|
+
git_pack_oidmap_put(&idx->pack->idx_cache, &pentry->id, pentry) < 0) {
|
|
580
583
|
git_error_set(GIT_ERROR_INDEXER, "cannot insert object into pack");
|
|
581
584
|
return -1;
|
|
582
585
|
}
|
|
@@ -911,9 +914,6 @@ int git_indexer_append(git_indexer *idx, const void *data, size_t size, git_inde
|
|
|
911
914
|
return -1;
|
|
912
915
|
}
|
|
913
916
|
|
|
914
|
-
if (git_oidmap_new(&idx->pack->idx_cache) < 0)
|
|
915
|
-
return -1;
|
|
916
|
-
|
|
917
917
|
idx->pack->has_cache = 1;
|
|
918
918
|
if (git_vector_init(&idx->objects, total_objects, objects_cmp) < 0)
|
|
919
919
|
return -1;
|
|
@@ -921,12 +921,12 @@ int git_indexer_append(git_indexer *idx, const void *data, size_t size, git_inde
|
|
|
921
921
|
if (git_vector_init(&idx->deltas, total_objects / 2, NULL) < 0)
|
|
922
922
|
return -1;
|
|
923
923
|
|
|
924
|
+
stats->total_objects = total_objects;
|
|
925
|
+
stats->indexed_objects = 0;
|
|
924
926
|
stats->received_objects = 0;
|
|
925
927
|
stats->local_objects = 0;
|
|
926
928
|
stats->total_deltas = 0;
|
|
927
929
|
stats->indexed_deltas = 0;
|
|
928
|
-
stats->indexed_objects = 0;
|
|
929
|
-
stats->total_objects = total_objects;
|
|
930
930
|
|
|
931
931
|
if ((error = do_progress_callback(idx, stats)) != 0)
|
|
932
932
|
return error;
|
|
@@ -1301,9 +1301,9 @@ int git_indexer_commit(git_indexer *idx, git_indexer_progress *stats)
|
|
|
1301
1301
|
* bail out due to an incomplete and thus corrupt
|
|
1302
1302
|
* packfile.
|
|
1303
1303
|
*/
|
|
1304
|
-
if (
|
|
1304
|
+
if (git_indexer_oidmap_size(&idx->expected_oids) > 0) {
|
|
1305
1305
|
git_error_set(GIT_ERROR_INDEXER, "packfile is missing %"PRIuZ" objects",
|
|
1306
|
-
|
|
1306
|
+
(size_t)git_indexer_oidmap_size(&idx->expected_oids));
|
|
1307
1307
|
return -1;
|
|
1308
1308
|
}
|
|
1309
1309
|
|
|
@@ -1446,9 +1446,9 @@ on_error:
|
|
|
1446
1446
|
|
|
1447
1447
|
void git_indexer_free(git_indexer *idx)
|
|
1448
1448
|
{
|
|
1449
|
-
|
|
1450
|
-
git_oid *
|
|
1451
|
-
|
|
1449
|
+
struct git_pack_entry *pentry;
|
|
1450
|
+
git_oid *id;
|
|
1451
|
+
git_hashmap_iter_t iter = GIT_HASHMAP_ITER_INIT;
|
|
1452
1452
|
|
|
1453
1453
|
if (idx == NULL)
|
|
1454
1454
|
return;
|
|
@@ -1456,28 +1456,24 @@ void git_indexer_free(git_indexer *idx)
|
|
|
1456
1456
|
if (idx->have_stream)
|
|
1457
1457
|
git_packfile_stream_dispose(&idx->stream);
|
|
1458
1458
|
|
|
1459
|
-
|
|
1459
|
+
git_vector_dispose_deep(&idx->objects);
|
|
1460
1460
|
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
git_oidmap_foreach_value(idx->pack->idx_cache, pentry, {
|
|
1464
|
-
git__free(pentry);
|
|
1465
|
-
});
|
|
1461
|
+
while (git_pack_oidmap_iterate(&iter, NULL, &pentry, &idx->pack->idx_cache) == 0)
|
|
1462
|
+
git__free(pentry);
|
|
1466
1463
|
|
|
1467
|
-
|
|
1468
|
-
}
|
|
1464
|
+
git_pack_oidmap_dispose(&idx->pack->idx_cache);
|
|
1469
1465
|
|
|
1470
|
-
|
|
1466
|
+
git_vector_dispose_deep(&idx->deltas);
|
|
1471
1467
|
|
|
1472
1468
|
git_packfile_free(idx->pack, !idx->pack_committed);
|
|
1473
1469
|
|
|
1474
|
-
iter =
|
|
1475
|
-
while (
|
|
1476
|
-
git__free(
|
|
1470
|
+
iter = GIT_HASHMAP_ITER_INIT;
|
|
1471
|
+
while (git_indexer_oidmap_iterate(&iter, NULL, &id, &idx->expected_oids) == 0)
|
|
1472
|
+
git__free(id);
|
|
1477
1473
|
|
|
1478
1474
|
git_hash_ctx_cleanup(&idx->trailer);
|
|
1479
1475
|
git_hash_ctx_cleanup(&idx->hash_ctx);
|
|
1480
1476
|
git_str_dispose(&idx->entry_data);
|
|
1481
|
-
|
|
1477
|
+
git_indexer_oidmap_dispose(&idx->expected_oids);
|
|
1482
1478
|
git__free(idx);
|
|
1483
1479
|
}
|
|
@@ -26,9 +26,10 @@
|
|
|
26
26
|
#define iterator__ignore_dot_git(I) iterator__flag(I,IGNORE_DOT_GIT)
|
|
27
27
|
#define iterator__descend_symlinks(I) iterator__flag(I,DESCEND_SYMLINKS)
|
|
28
28
|
|
|
29
|
-
|
|
30
29
|
static void iterator_set_ignore_case(git_iterator *iter, bool ignore_case)
|
|
31
30
|
{
|
|
31
|
+
int (*vector_cmp)(const void *a, const void *b);
|
|
32
|
+
|
|
32
33
|
if (ignore_case)
|
|
33
34
|
iter->flags |= GIT_ITERATOR_IGNORE_CASE;
|
|
34
35
|
else
|
|
@@ -39,7 +40,9 @@ static void iterator_set_ignore_case(git_iterator *iter, bool ignore_case)
|
|
|
39
40
|
iter->prefixcomp = ignore_case ? git__prefixcmp_icase : git__prefixcmp;
|
|
40
41
|
iter->entry_srch = ignore_case ? git_index_entry_isrch : git_index_entry_srch;
|
|
41
42
|
|
|
42
|
-
|
|
43
|
+
vector_cmp = ignore_case ? git__strcasecmp_cb : git__strcmp_cb;
|
|
44
|
+
|
|
45
|
+
git_vector_set_cmp(&iter->pathlist, vector_cmp);
|
|
43
46
|
}
|
|
44
47
|
|
|
45
48
|
static int iterator_range_init(
|
|
@@ -299,6 +302,7 @@ typedef enum {
|
|
|
299
302
|
static iterator_pathlist_search_t iterator_pathlist_search(
|
|
300
303
|
git_iterator *iter, const char *path, size_t path_len)
|
|
301
304
|
{
|
|
305
|
+
int (*vector_cmp)(const void *a, const void *b);
|
|
302
306
|
const char *p;
|
|
303
307
|
size_t idx;
|
|
304
308
|
int error;
|
|
@@ -308,8 +312,10 @@ static iterator_pathlist_search_t iterator_pathlist_search(
|
|
|
308
312
|
|
|
309
313
|
git_vector_sort(&iter->pathlist);
|
|
310
314
|
|
|
311
|
-
|
|
312
|
-
|
|
315
|
+
vector_cmp = (iter->flags & GIT_ITERATOR_IGNORE_CASE) != 0 ?
|
|
316
|
+
git__strcasecmp_cb : git__strcmp_cb;
|
|
317
|
+
|
|
318
|
+
error = git_vector_bsearch2(&idx, &iter->pathlist, vector_cmp, path);
|
|
313
319
|
|
|
314
320
|
/* the given path was found in the pathlist. since the pathlist only
|
|
315
321
|
* matches directories when they're suffixed with a '/', analyze the
|
|
@@ -690,7 +696,7 @@ static int tree_iterator_frame_pop(tree_iterator *iter)
|
|
|
690
696
|
|
|
691
697
|
frame = git_array_pop(iter->frames);
|
|
692
698
|
|
|
693
|
-
|
|
699
|
+
git_vector_dispose(&frame->entries);
|
|
694
700
|
git_tree_free(frame->tree);
|
|
695
701
|
|
|
696
702
|
do {
|
|
@@ -703,7 +709,7 @@ static int tree_iterator_frame_pop(tree_iterator *iter)
|
|
|
703
709
|
git_vector_foreach(&frame->similar_trees, i, tree)
|
|
704
710
|
git_tree_free(tree);
|
|
705
711
|
|
|
706
|
-
|
|
712
|
+
git_vector_dispose(&frame->similar_trees);
|
|
707
713
|
|
|
708
714
|
git_str_dispose(&frame->path);
|
|
709
715
|
|
|
@@ -1495,7 +1501,7 @@ GIT_INLINE(int) filesystem_iterator_frame_pop(filesystem_iterator *iter)
|
|
|
1495
1501
|
filesystem_iterator_frame_pop_ignores(iter);
|
|
1496
1502
|
|
|
1497
1503
|
git_pool_clear(&frame->entry_pool);
|
|
1498
|
-
|
|
1504
|
+
git_vector_dispose(&frame->entries);
|
|
1499
1505
|
|
|
1500
1506
|
return 0;
|
|
1501
1507
|
}
|
|
@@ -2330,7 +2336,7 @@ void git_iterator_free(git_iterator *iter)
|
|
|
2330
2336
|
|
|
2331
2337
|
iter->cb->free(iter);
|
|
2332
2338
|
|
|
2333
|
-
|
|
2339
|
+
git_vector_dispose(&iter->pathlist);
|
|
2334
2340
|
git__free(iter->start);
|
|
2335
2341
|
git__free(iter->end);
|
|
2336
2342
|
|