rugged 1.7.2 → 1.9.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/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +1 -0
- data/vendor/libgit2/CMakeLists.txt +23 -10
- data/vendor/libgit2/COPYING +195 -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 +22 -17
- 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 +1 -0
- data/vendor/libgit2/deps/xdiff/xmerge.c +2 -2
- 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 +133 -3
- 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 +99 -14
- 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 +46 -1
- 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 -24
- 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 +10 -0
- 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 +94 -18
- 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 +24 -3
- 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 +44 -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 +2 -2
- 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 +29 -3
- 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 +26 -8
- 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 +7 -2
- 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 +186 -166
- data/vendor/libgit2/src/libgit2/clone.h +4 -1
- data/vendor/libgit2/src/libgit2/commit.c +92 -0
- data/vendor/libgit2/src/libgit2/commit_graph.c +67 -56
- data/vendor/libgit2/src/libgit2/commit_graph.h +1 -2
- data/vendor/libgit2/src/libgit2/config.c +389 -298
- 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 +99 -88
- 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 +194 -40
- data/vendor/libgit2/src/libgit2/config_parse.c +10 -9
- data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
- 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 +12 -19
- 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_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/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 +68 -90
- data/vendor/libgit2/src/libgit2/index.h +2 -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 +34 -38
- 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 +42 -37
- data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
- data/vendor/libgit2/src/libgit2/midx.c +28 -15
- 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 +5 -4
- 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 +32 -5
- data/vendor/libgit2/src/libgit2/oid.h +11 -0
- data/vendor/libgit2/src/libgit2/pack-objects.c +58 -31
- data/vendor/libgit2/src/libgit2/pack-objects.h +12 -4
- data/vendor/libgit2/src/libgit2/pack.c +30 -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 +26 -7
- 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 +121 -61
- data/vendor/libgit2/src/libgit2/repository.c +231 -51
- 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/stransport.c +39 -7
- data/vendor/libgit2/src/libgit2/submodule.c +106 -63
- data/vendor/libgit2/src/libgit2/submodule.h +6 -7
- data/vendor/libgit2/src/libgit2/tag.c +1 -1
- 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/credential.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 +112 -72
- 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 +8 -7
- data/vendor/libgit2/src/libgit2/transports/smart.c +20 -8
- data/vendor/libgit2/src/libgit2/transports/smart.h +4 -2
- data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +2 -2
- 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 +347 -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 +4 -6
- 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 +15 -4
- data/vendor/libgit2/src/util/fs_path.h +23 -0
- data/vendor/libgit2/src/util/futils.c +6 -5
- data/vendor/libgit2/src/util/futils.h +13 -4
- 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/openssl.c +152 -0
- data/vendor/libgit2/src/util/hash/openssl.h +17 -1
- data/vendor/libgit2/src/util/hash/sha.h +4 -1
- data/vendor/libgit2/src/util/hashmap.h +424 -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 +13 -7
- 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 +222 -0
- data/vendor/libgit2/src/util/rand.c +1 -7
- data/vendor/libgit2/src/util/regexp.c +1 -1
- 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 +2 -2
- 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 +629 -0
- data/vendor/libgit2/src/util/unix/realpath.c +23 -5
- data/vendor/libgit2/src/util/util.c +2 -2
- data/vendor/libgit2/src/util/util.h +4 -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/posix_w32.c +29 -6
- data/vendor/libgit2/src/util/win32/process.c +506 -0
- metadata +45 -28
- 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
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
#include "futils.h"
|
|
13
13
|
#include "filebuf.h"
|
|
14
14
|
#include "vector.h"
|
|
15
|
-
#include "idxmap.h"
|
|
16
15
|
#include "tree-cache.h"
|
|
16
|
+
#include "index_map.h"
|
|
17
17
|
#include "git2/odb.h"
|
|
18
18
|
#include "git2/index.h"
|
|
19
19
|
|
|
@@ -30,7 +30,7 @@ struct git_index {
|
|
|
30
30
|
unsigned char checksum[GIT_HASH_MAX_SIZE];
|
|
31
31
|
|
|
32
32
|
git_vector entries;
|
|
33
|
-
|
|
33
|
+
git_index_entrymap entries_map;
|
|
34
34
|
|
|
35
35
|
git_vector deleted; /* deleted entries if readers > 0 */
|
|
36
36
|
git_atomic32 readers; /* number of active iterators */
|
|
@@ -0,0 +1,95 @@
|
|
|
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 "common.h"
|
|
9
|
+
#include "hashmap.h"
|
|
10
|
+
#include "index_map.h"
|
|
11
|
+
|
|
12
|
+
typedef git_index_entrymap git_index_entrymap_default;
|
|
13
|
+
typedef git_index_entrymap git_index_entrymap_icase;
|
|
14
|
+
|
|
15
|
+
/* This is __ac_X31_hash_string but with tolower and it takes the entry's stage into account */
|
|
16
|
+
GIT_INLINE(uint32_t) git_index_entrymap_hash(const git_index_entry *e)
|
|
17
|
+
{
|
|
18
|
+
const char *s = e->path;
|
|
19
|
+
uint32_t h = (uint32_t)git__tolower(*s);
|
|
20
|
+
if (h) {
|
|
21
|
+
for (++s ; *s; ++s)
|
|
22
|
+
h = (h << 5) - h + (uint32_t)git__tolower(*s);
|
|
23
|
+
}
|
|
24
|
+
return h + GIT_INDEX_ENTRY_STAGE(e);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
#define git_index_entrymap_equal_default(a, b) (GIT_INDEX_ENTRY_STAGE(a) == GIT_INDEX_ENTRY_STAGE(b) && strcmp(a->path, b->path) == 0)
|
|
28
|
+
#define git_index_entrymap_equal_icase(a, b) (GIT_INDEX_ENTRY_STAGE(a) == GIT_INDEX_ENTRY_STAGE(b) && strcasecmp(a->path, b->path) == 0)
|
|
29
|
+
|
|
30
|
+
GIT_HASHMAP_FUNCTIONS(git_index_entrymap_default, GIT_HASHMAP_INLINE, git_index_entry *, git_index_entry *, git_index_entrymap_hash, git_index_entrymap_equal_default)
|
|
31
|
+
GIT_HASHMAP_FUNCTIONS(git_index_entrymap_icase, GIT_HASHMAP_INLINE, git_index_entry *, git_index_entry *, git_index_entrymap_hash, git_index_entrymap_equal_icase)
|
|
32
|
+
|
|
33
|
+
int git_index_entrymap_put(git_index_entrymap *map, git_index_entry *e)
|
|
34
|
+
{
|
|
35
|
+
if (map->ignore_case)
|
|
36
|
+
return git_index_entrymap_icase_put((git_index_entrymap_icase *)map, e, e);
|
|
37
|
+
else
|
|
38
|
+
return git_index_entrymap_default_put((git_index_entrymap_default *)map, e, e);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
int git_index_entrymap_get(git_index_entry **out, git_index_entrymap *map, git_index_entry *e)
|
|
42
|
+
{
|
|
43
|
+
if (map->ignore_case)
|
|
44
|
+
return git_index_entrymap_icase_get(out, (git_index_entrymap_icase *)map, e);
|
|
45
|
+
else
|
|
46
|
+
return git_index_entrymap_default_get(out, (git_index_entrymap_default *)map, e);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
int git_index_entrymap_remove(git_index_entrymap *map, git_index_entry *e)
|
|
50
|
+
{
|
|
51
|
+
if (map->ignore_case)
|
|
52
|
+
return git_index_entrymap_icase_remove((git_index_entrymap_icase *)map, e);
|
|
53
|
+
else
|
|
54
|
+
return git_index_entrymap_default_remove((git_index_entrymap_default *)map, e);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
int git_index_entrymap_resize(git_index_entrymap *map, size_t count)
|
|
58
|
+
{
|
|
59
|
+
if (count > UINT32_MAX) {
|
|
60
|
+
git_error_set(GIT_ERROR_INDEX, "index map is out of bounds");
|
|
61
|
+
return -1;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (map->ignore_case)
|
|
65
|
+
return git_index_entrymap_icase__resize((git_index_entrymap_icase *)map, (uint32_t)count);
|
|
66
|
+
else
|
|
67
|
+
return git_index_entrymap_default__resize((git_index_entrymap_default *)map, (uint32_t)count);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
void git_index_entrymap_swap(git_index_entrymap *a, git_index_entrymap *b)
|
|
71
|
+
{
|
|
72
|
+
git_index_entrymap t;
|
|
73
|
+
|
|
74
|
+
if (a != b) {
|
|
75
|
+
memcpy(&t, a, sizeof(t));
|
|
76
|
+
memcpy(a, b, sizeof(t));
|
|
77
|
+
memcpy(b, &t, sizeof(t));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
void git_index_entrymap_clear(git_index_entrymap *map)
|
|
82
|
+
{
|
|
83
|
+
if (map->ignore_case)
|
|
84
|
+
git_index_entrymap_icase_clear((git_index_entrymap_icase *)map);
|
|
85
|
+
else
|
|
86
|
+
git_index_entrymap_default_clear((git_index_entrymap_default *)map);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
void git_index_entrymap_dispose(git_index_entrymap *map)
|
|
90
|
+
{
|
|
91
|
+
if (map->ignore_case)
|
|
92
|
+
git_index_entrymap_icase_dispose((git_index_entrymap_icase *)map);
|
|
93
|
+
else
|
|
94
|
+
git_index_entrymap_default_dispose((git_index_entrymap_default *)map);
|
|
95
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
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_index_map_h__
|
|
8
|
+
#define INCLUDE_index_map_h__
|
|
9
|
+
|
|
10
|
+
#include "common.h"
|
|
11
|
+
#include "hashmap.h"
|
|
12
|
+
|
|
13
|
+
typedef struct {
|
|
14
|
+
unsigned int ignore_case;
|
|
15
|
+
GIT_HASHMAP_STRUCT_MEMBERS(git_index_entry *, git_index_entry *)
|
|
16
|
+
} git_index_entrymap;
|
|
17
|
+
|
|
18
|
+
#define GIT_INDEX_ENTRYMAP_INIT { 0 }
|
|
19
|
+
|
|
20
|
+
extern int git_index_entrymap_get(git_index_entry **out, git_index_entrymap *map, git_index_entry *e);
|
|
21
|
+
extern int git_index_entrymap_put(git_index_entrymap *map, git_index_entry *e);
|
|
22
|
+
extern int git_index_entrymap_remove(git_index_entrymap *map, git_index_entry *e);
|
|
23
|
+
extern int git_index_entrymap_resize(git_index_entrymap *map, size_t count);
|
|
24
|
+
extern void git_index_entrymap_swap(git_index_entrymap *a, git_index_entrymap *b);
|
|
25
|
+
extern void git_index_entrymap_clear(git_index_entrymap *map);
|
|
26
|
+
extern void git_index_entrymap_dispose(git_index_entrymap *map);
|
|
27
|
+
|
|
28
|
+
#endif
|
|
@@ -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;
|
|
@@ -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
|
|