rugged 1.6.3 → 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/ext/rugged/rugged_allocator.c +0 -54
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +1 -0
- data/vendor/libgit2/CMakeLists.txt +25 -17
- data/vendor/libgit2/COPYING +195 -1
- data/vendor/libgit2/cmake/CheckPrototypeDefinitionSafe.cmake +16 -0
- data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
- data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
- data/vendor/libgit2/cmake/SelectGSSAPI.cmake +4 -4
- data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
- data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +34 -6
- data/vendor/libgit2/cmake/SelectHashes.cmake +32 -11
- data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
- data/vendor/libgit2/cmake/SelectSSH.cmake +22 -17
- data/vendor/libgit2/cmake/SelectXdiff.cmake +9 -0
- 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/pcre/LICENCE +5 -5
- data/vendor/libgit2/deps/pcre/pcre.h +2 -2
- data/vendor/libgit2/deps/pcre/pcre_compile.c +6 -3
- data/vendor/libgit2/deps/pcre/pcre_exec.c +2 -2
- data/vendor/libgit2/deps/xdiff/CMakeLists.txt +28 -0
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/git-xdiff.h +4 -1
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.c +19 -18
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.h +2 -4
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.c +3 -3
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xhistogram.c +7 -18
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmacros.h +18 -1
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmerge.c +22 -20
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xpatience.c +21 -30
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.c +13 -30
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.c +18 -1
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.h +2 -1
- 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 +138 -56
- 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 +77 -9
- data/vendor/libgit2/include/git2/email.h +9 -29
- data/vendor/libgit2/include/git2/errors.h +49 -74
- 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 -6
- 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 +24 -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 +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 +112 -18
- data/vendor/libgit2/include/git2/repository.h +61 -15
- 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 -34
- data/vendor/libgit2/include/git2/sys/commit.h +77 -3
- data/vendor/libgit2/include/git2/sys/commit_graph.h +109 -58
- 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 +47 -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 +25 -2
- data/vendor/libgit2/include/git2/sys/transport.h +44 -5
- 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 +19 -7
- data/vendor/libgit2/src/CMakeLists.txt +40 -15
- 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 +27 -13
- 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 +60 -10
- data/vendor/libgit2/src/cli/progress.h +16 -4
- 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 +27 -27
- data/vendor/libgit2/src/libgit2/annotated_commit.c +2 -2
- data/vendor/libgit2/src/libgit2/annotated_commit.h +1 -1
- data/vendor/libgit2/src/libgit2/apply.c +14 -16
- 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 +152 -59
- data/vendor/libgit2/src/libgit2/blame.h +1 -0
- data/vendor/libgit2/src/libgit2/blame_git.c +0 -1
- data/vendor/libgit2/src/libgit2/branch.c +2 -2
- 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 +4 -5
- data/vendor/libgit2/src/libgit2/clone.c +186 -164
- data/vendor/libgit2/src/libgit2/clone.h +4 -1
- data/vendor/libgit2/src/libgit2/commit.c +123 -9
- data/vendor/libgit2/src/libgit2/commit_graph.c +166 -88
- data/vendor/libgit2/src/libgit2/commit_graph.h +21 -6
- data/vendor/libgit2/src/libgit2/commit_list.c +12 -5
- data/vendor/libgit2/src/libgit2/commit_list.h +1 -0
- data/vendor/libgit2/src/libgit2/config.c +394 -300
- 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 +113 -96
- 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 +34 -31
- data/vendor/libgit2/src/libgit2/diff.c +17 -8
- data/vendor/libgit2/src/libgit2/diff.h +6 -6
- 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_file.c +7 -7
- data/vendor/libgit2/src/libgit2/diff_generate.c +39 -18
- data/vendor/libgit2/src/libgit2/diff_parse.c +22 -6
- data/vendor/libgit2/src/libgit2/diff_print.c +88 -13
- data/vendor/libgit2/src/libgit2/diff_tform.c +40 -12
- data/vendor/libgit2/src/libgit2/diff_xdiff.h +1 -1
- data/vendor/libgit2/src/libgit2/email.c +5 -3
- data/vendor/libgit2/src/libgit2/fetch.c +39 -9
- data/vendor/libgit2/src/libgit2/fetch.h +0 -2
- data/vendor/libgit2/src/libgit2/fetchhead.c +11 -9
- 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 +270 -0
- data/vendor/libgit2/src/libgit2/grafts.h +35 -0
- data/vendor/libgit2/src/libgit2/graph.c +1 -1
- data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
- data/vendor/libgit2/src/libgit2/ident.c +3 -3
- data/vendor/libgit2/src/libgit2/ignore.c +9 -5
- data/vendor/libgit2/src/libgit2/index.c +392 -208
- data/vendor/libgit2/src/libgit2/index.h +16 -3
- 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 +44 -41
- data/vendor/libgit2/src/libgit2/iterator.c +34 -13
- data/vendor/libgit2/src/libgit2/iterator.h +3 -0
- data/vendor/libgit2/src/libgit2/libgit2.c +155 -331
- data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
- data/vendor/libgit2/src/libgit2/merge.c +56 -46
- data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
- data/vendor/libgit2/src/libgit2/merge_file.c +0 -2
- data/vendor/libgit2/src/libgit2/midx.c +86 -44
- data/vendor/libgit2/src/libgit2/midx.h +13 -3
- data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
- data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
- data/vendor/libgit2/src/libgit2/notes.c +9 -8
- data/vendor/libgit2/src/libgit2/object.c +42 -16
- data/vendor/libgit2/src/libgit2/object.h +6 -0
- data/vendor/libgit2/src/libgit2/odb.c +16 -9
- data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
- data/vendor/libgit2/src/libgit2/odb_pack.c +28 -7
- data/vendor/libgit2/src/libgit2/oid.c +35 -2
- data/vendor/libgit2/src/libgit2/oid.h +11 -0
- data/vendor/libgit2/src/libgit2/oidarray.c +49 -3
- data/vendor/libgit2/src/libgit2/oidarray.h +5 -1
- data/vendor/libgit2/src/libgit2/pack-objects.c +77 -43
- data/vendor/libgit2/src/libgit2/pack-objects.h +17 -6
- data/vendor/libgit2/src/libgit2/pack.c +33 -27
- data/vendor/libgit2/src/libgit2/pack.h +15 -10
- data/vendor/libgit2/src/libgit2/parse.c +7 -4
- data/vendor/libgit2/src/libgit2/parse.h +1 -1
- data/vendor/libgit2/src/libgit2/patch.h +7 -1
- data/vendor/libgit2/src/libgit2/patch_generate.c +24 -5
- data/vendor/libgit2/src/libgit2/patch_parse.c +18 -10
- 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 +81 -30
- data/vendor/libgit2/src/libgit2/push.h +1 -0
- data/vendor/libgit2/src/libgit2/reader.c +1 -1
- data/vendor/libgit2/src/libgit2/rebase.c +72 -84
- data/vendor/libgit2/src/libgit2/refdb_fs.c +146 -70
- 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 +34 -8
- 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 +136 -67
- data/vendor/libgit2/src/libgit2/remote.h +1 -0
- data/vendor/libgit2/src/libgit2/repository.c +789 -330
- data/vendor/libgit2/src/libgit2/repository.h +22 -3
- data/vendor/libgit2/src/libgit2/reset.c +2 -2
- data/vendor/libgit2/src/libgit2/revert.c +9 -13
- data/vendor/libgit2/src/libgit2/revparse.c +6 -3
- data/vendor/libgit2/src/libgit2/revwalk.c +36 -11
- 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/stash.c +9 -8
- data/vendor/libgit2/src/libgit2/status.c +1 -1
- data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -61
- data/vendor/libgit2/src/libgit2/streams/openssl.c +40 -23
- 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/schannel.c +715 -0
- data/vendor/libgit2/src/libgit2/streams/schannel.h +28 -0
- data/vendor/libgit2/src/libgit2/streams/socket.c +237 -51
- data/vendor/libgit2/src/libgit2/streams/socket.h +3 -1
- data/vendor/libgit2/src/libgit2/streams/stransport.c +79 -19
- data/vendor/libgit2/src/libgit2/streams/tls.c +5 -0
- data/vendor/libgit2/src/libgit2/submodule.c +106 -63
- data/vendor/libgit2/src/libgit2/submodule.h +9 -10
- 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/auth.h +1 -2
- data/vendor/libgit2/src/libgit2/transports/{auth_negotiate.c → auth_gssapi.c} +32 -32
- data/vendor/libgit2/src/libgit2/transports/auth_negotiate.h +1 -1
- data/vendor/libgit2/src/libgit2/transports/auth_ntlm.h +1 -1
- data/vendor/libgit2/src/libgit2/transports/{auth_ntlm.c → auth_ntlmclient.c} +12 -12
- data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +341 -0
- data/vendor/libgit2/src/libgit2/transports/credential.c +1 -1
- data/vendor/libgit2/src/libgit2/transports/git.c +7 -8
- data/vendor/libgit2/src/libgit2/transports/http.c +8 -4
- data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
- data/vendor/libgit2/src/libgit2/transports/httpclient.c +117 -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 +21 -11
- data/vendor/libgit2/src/libgit2/transports/smart.c +50 -32
- data/vendor/libgit2/src/libgit2/transports/smart.h +26 -9
- data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +139 -18
- data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +209 -57
- 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 +48 -21
- data/vendor/libgit2/src/libgit2/tree-cache.c +26 -16
- data/vendor/libgit2/src/libgit2/tree-cache.h +5 -3
- data/vendor/libgit2/src/libgit2/tree.c +35 -27
- data/vendor/libgit2/src/libgit2/tree.h +3 -2
- data/vendor/libgit2/src/libgit2/worktree.c +39 -27
- data/vendor/libgit2/src/util/CMakeLists.txt +4 -6
- data/vendor/libgit2/src/util/alloc.c +69 -7
- data/vendor/libgit2/src/util/alloc.h +34 -9
- 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/failalloc.c +0 -60
- data/vendor/libgit2/src/util/allocators/failalloc.h +0 -6
- data/vendor/libgit2/src/util/allocators/stdalloc.c +2 -115
- data/vendor/libgit2/src/util/allocators/win32_leakcheck.c +0 -68
- data/vendor/libgit2/src/util/array.h +24 -18
- data/vendor/libgit2/src/util/cc-compat.h +4 -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/filebuf.c +6 -1
- data/vendor/libgit2/src/util/filebuf.h +19 -6
- data/vendor/libgit2/src/util/fs_path.c +16 -5
- data/vendor/libgit2/src/util/fs_path.h +23 -0
- data/vendor/libgit2/src/util/futils.c +14 -10
- data/vendor/libgit2/src/util/futils.h +13 -4
- data/vendor/libgit2/src/util/git2_features.h.in +21 -4
- 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 +318 -161
- data/vendor/libgit2/src/util/net.h +27 -0
- data/vendor/libgit2/src/util/pool.c +1 -1
- data/vendor/libgit2/src/util/pool.h +5 -0
- data/vendor/libgit2/src/util/posix.c +54 -0
- data/vendor/libgit2/src/util/posix.h +22 -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 +6 -10
- 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/staticstr.h +66 -0
- 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 +17 -12
- data/vendor/libgit2/src/util/util.h +28 -54
- data/vendor/libgit2/src/util/vector.c +3 -3
- data/vendor/libgit2/src/util/vector.h +2 -2
- data/vendor/libgit2/src/util/win32/error.c +1 -1
- data/vendor/libgit2/src/util/win32/path_w32.c +8 -8
- data/vendor/libgit2/src/util/win32/posix_w32.c +30 -7
- data/vendor/libgit2/src/util/win32/process.c +506 -0
- data/vendor/libgit2/src/util/win32/utf-conv.c +73 -75
- data/vendor/libgit2/src/util/win32/utf-conv.h +81 -14
- data/vendor/libgit2/src/util/win32/w32_util.c +1 -1
- metadata +72 -49
- data/vendor/libgit2/cmake/SelectWinHTTP.cmake +0 -17
- 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 -238
- 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/netops.c +0 -124
- data/vendor/libgit2/src/libgit2/netops.h +0 -68
- 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 -84
- data/vendor/libgit2/src/libgit2/threadstate.h +0 -24
- 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
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiff.h +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.h +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xinclude.h +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.h +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xtypes.h +0 -0
@@ -1,238 +0,0 @@
|
|
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
|
-
|
10
|
-
#include "threadstate.h"
|
11
|
-
#include "posix.h"
|
12
|
-
#include "str.h"
|
13
|
-
#include "libgit2.h"
|
14
|
-
|
15
|
-
/********************************************
|
16
|
-
* New error handling
|
17
|
-
********************************************/
|
18
|
-
|
19
|
-
static git_error g_git_oom_error = {
|
20
|
-
"Out of memory",
|
21
|
-
GIT_ERROR_NOMEMORY
|
22
|
-
};
|
23
|
-
|
24
|
-
static git_error g_git_uninitialized_error = {
|
25
|
-
"libgit2 has not been initialized; you must call git_libgit2_init",
|
26
|
-
GIT_ERROR_INVALID
|
27
|
-
};
|
28
|
-
|
29
|
-
static void set_error_from_buffer(int error_class)
|
30
|
-
{
|
31
|
-
git_error *error = &GIT_THREADSTATE->error_t;
|
32
|
-
git_str *buf = &GIT_THREADSTATE->error_buf;
|
33
|
-
|
34
|
-
error->message = buf->ptr;
|
35
|
-
error->klass = error_class;
|
36
|
-
|
37
|
-
GIT_THREADSTATE->last_error = error;
|
38
|
-
}
|
39
|
-
|
40
|
-
static void set_error(int error_class, char *string)
|
41
|
-
{
|
42
|
-
git_str *buf = &GIT_THREADSTATE->error_buf;
|
43
|
-
|
44
|
-
git_str_clear(buf);
|
45
|
-
if (string) {
|
46
|
-
git_str_puts(buf, string);
|
47
|
-
git__free(string);
|
48
|
-
}
|
49
|
-
|
50
|
-
set_error_from_buffer(error_class);
|
51
|
-
}
|
52
|
-
|
53
|
-
void git_error_set_oom(void)
|
54
|
-
{
|
55
|
-
GIT_THREADSTATE->last_error = &g_git_oom_error;
|
56
|
-
}
|
57
|
-
|
58
|
-
void git_error_set(int error_class, const char *fmt, ...)
|
59
|
-
{
|
60
|
-
va_list ap;
|
61
|
-
|
62
|
-
va_start(ap, fmt);
|
63
|
-
git_error_vset(error_class, fmt, ap);
|
64
|
-
va_end(ap);
|
65
|
-
}
|
66
|
-
|
67
|
-
void git_error_vset(int error_class, const char *fmt, va_list ap)
|
68
|
-
{
|
69
|
-
#ifdef GIT_WIN32
|
70
|
-
DWORD win32_error_code = (error_class == GIT_ERROR_OS) ? GetLastError() : 0;
|
71
|
-
#endif
|
72
|
-
int error_code = (error_class == GIT_ERROR_OS) ? errno : 0;
|
73
|
-
git_str *buf = &GIT_THREADSTATE->error_buf;
|
74
|
-
|
75
|
-
git_str_clear(buf);
|
76
|
-
if (fmt) {
|
77
|
-
git_str_vprintf(buf, fmt, ap);
|
78
|
-
if (error_class == GIT_ERROR_OS)
|
79
|
-
git_str_PUTS(buf, ": ");
|
80
|
-
}
|
81
|
-
|
82
|
-
if (error_class == GIT_ERROR_OS) {
|
83
|
-
#ifdef GIT_WIN32
|
84
|
-
char * win32_error = git_win32_get_error_message(win32_error_code);
|
85
|
-
if (win32_error) {
|
86
|
-
git_str_puts(buf, win32_error);
|
87
|
-
git__free(win32_error);
|
88
|
-
|
89
|
-
SetLastError(0);
|
90
|
-
}
|
91
|
-
else
|
92
|
-
#endif
|
93
|
-
if (error_code)
|
94
|
-
git_str_puts(buf, strerror(error_code));
|
95
|
-
|
96
|
-
if (error_code)
|
97
|
-
errno = 0;
|
98
|
-
}
|
99
|
-
|
100
|
-
if (!git_str_oom(buf))
|
101
|
-
set_error_from_buffer(error_class);
|
102
|
-
}
|
103
|
-
|
104
|
-
int git_error_set_str(int error_class, const char *string)
|
105
|
-
{
|
106
|
-
git_str *buf = &GIT_THREADSTATE->error_buf;
|
107
|
-
|
108
|
-
GIT_ASSERT_ARG(string);
|
109
|
-
|
110
|
-
git_str_clear(buf);
|
111
|
-
git_str_puts(buf, string);
|
112
|
-
|
113
|
-
if (git_str_oom(buf))
|
114
|
-
return -1;
|
115
|
-
|
116
|
-
set_error_from_buffer(error_class);
|
117
|
-
return 0;
|
118
|
-
}
|
119
|
-
|
120
|
-
void git_error_clear(void)
|
121
|
-
{
|
122
|
-
if (GIT_THREADSTATE->last_error != NULL) {
|
123
|
-
set_error(0, NULL);
|
124
|
-
GIT_THREADSTATE->last_error = NULL;
|
125
|
-
}
|
126
|
-
|
127
|
-
errno = 0;
|
128
|
-
#ifdef GIT_WIN32
|
129
|
-
SetLastError(0);
|
130
|
-
#endif
|
131
|
-
}
|
132
|
-
|
133
|
-
const git_error *git_error_last(void)
|
134
|
-
{
|
135
|
-
/* If the library is not initialized, return a static error. */
|
136
|
-
if (!git_libgit2_init_count())
|
137
|
-
return &g_git_uninitialized_error;
|
138
|
-
|
139
|
-
return GIT_THREADSTATE->last_error;
|
140
|
-
}
|
141
|
-
|
142
|
-
int git_error_state_capture(git_error_state *state, int error_code)
|
143
|
-
{
|
144
|
-
git_error *error = GIT_THREADSTATE->last_error;
|
145
|
-
git_str *error_buf = &GIT_THREADSTATE->error_buf;
|
146
|
-
|
147
|
-
memset(state, 0, sizeof(git_error_state));
|
148
|
-
|
149
|
-
if (!error_code)
|
150
|
-
return 0;
|
151
|
-
|
152
|
-
state->error_code = error_code;
|
153
|
-
state->oom = (error == &g_git_oom_error);
|
154
|
-
|
155
|
-
if (error) {
|
156
|
-
state->error_msg.klass = error->klass;
|
157
|
-
|
158
|
-
if (state->oom)
|
159
|
-
state->error_msg.message = g_git_oom_error.message;
|
160
|
-
else
|
161
|
-
state->error_msg.message = git_str_detach(error_buf);
|
162
|
-
}
|
163
|
-
|
164
|
-
git_error_clear();
|
165
|
-
return error_code;
|
166
|
-
}
|
167
|
-
|
168
|
-
int git_error_state_restore(git_error_state *state)
|
169
|
-
{
|
170
|
-
int ret = 0;
|
171
|
-
|
172
|
-
git_error_clear();
|
173
|
-
|
174
|
-
if (state && state->error_msg.message) {
|
175
|
-
if (state->oom)
|
176
|
-
git_error_set_oom();
|
177
|
-
else
|
178
|
-
set_error(state->error_msg.klass, state->error_msg.message);
|
179
|
-
|
180
|
-
ret = state->error_code;
|
181
|
-
memset(state, 0, sizeof(git_error_state));
|
182
|
-
}
|
183
|
-
|
184
|
-
return ret;
|
185
|
-
}
|
186
|
-
|
187
|
-
void git_error_state_free(git_error_state *state)
|
188
|
-
{
|
189
|
-
if (!state)
|
190
|
-
return;
|
191
|
-
|
192
|
-
if (!state->oom)
|
193
|
-
git__free(state->error_msg.message);
|
194
|
-
|
195
|
-
memset(state, 0, sizeof(git_error_state));
|
196
|
-
}
|
197
|
-
|
198
|
-
int git_error_system_last(void)
|
199
|
-
{
|
200
|
-
#ifdef GIT_WIN32
|
201
|
-
return GetLastError();
|
202
|
-
#else
|
203
|
-
return errno;
|
204
|
-
#endif
|
205
|
-
}
|
206
|
-
|
207
|
-
void git_error_system_set(int code)
|
208
|
-
{
|
209
|
-
#ifdef GIT_WIN32
|
210
|
-
SetLastError(code);
|
211
|
-
#else
|
212
|
-
errno = code;
|
213
|
-
#endif
|
214
|
-
}
|
215
|
-
|
216
|
-
/* Deprecated error values and functions */
|
217
|
-
|
218
|
-
#ifndef GIT_DEPRECATE_HARD
|
219
|
-
const git_error *giterr_last(void)
|
220
|
-
{
|
221
|
-
return git_error_last();
|
222
|
-
}
|
223
|
-
|
224
|
-
void giterr_clear(void)
|
225
|
-
{
|
226
|
-
git_error_clear();
|
227
|
-
}
|
228
|
-
|
229
|
-
void giterr_set_str(int error_class, const char *string)
|
230
|
-
{
|
231
|
-
git_error_set_str(error_class, string);
|
232
|
-
}
|
233
|
-
|
234
|
-
void giterr_set_oom(void)
|
235
|
-
{
|
236
|
-
git_error_set_oom();
|
237
|
-
}
|
238
|
-
#endif
|
@@ -1,157 +0,0 @@
|
|
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 "idxmap.h"
|
9
|
-
|
10
|
-
#define kmalloc git__malloc
|
11
|
-
#define kcalloc git__calloc
|
12
|
-
#define krealloc git__realloc
|
13
|
-
#define kreallocarray git__reallocarray
|
14
|
-
#define kfree git__free
|
15
|
-
#include "khash.h"
|
16
|
-
|
17
|
-
__KHASH_TYPE(idx, const git_index_entry *, git_index_entry *)
|
18
|
-
__KHASH_TYPE(idxicase, const git_index_entry *, git_index_entry *)
|
19
|
-
|
20
|
-
/* This is __ac_X31_hash_string but with tolower and it takes the entry's stage into account */
|
21
|
-
static kh_inline khint_t idxentry_hash(const git_index_entry *e)
|
22
|
-
{
|
23
|
-
const char *s = e->path;
|
24
|
-
khint_t h = (khint_t)git__tolower(*s);
|
25
|
-
if (h) for (++s ; *s; ++s) h = (h << 5) - h + (khint_t)git__tolower(*s);
|
26
|
-
return h + GIT_INDEX_ENTRY_STAGE(e);
|
27
|
-
}
|
28
|
-
|
29
|
-
#define idxentry_equal(a, b) (GIT_INDEX_ENTRY_STAGE(a) == GIT_INDEX_ENTRY_STAGE(b) && strcmp(a->path, b->path) == 0)
|
30
|
-
#define idxentry_icase_equal(a, b) (GIT_INDEX_ENTRY_STAGE(a) == GIT_INDEX_ENTRY_STAGE(b) && strcasecmp(a->path, b->path) == 0)
|
31
|
-
|
32
|
-
__KHASH_IMPL(idx, static kh_inline, const git_index_entry *, git_index_entry *, 1, idxentry_hash, idxentry_equal)
|
33
|
-
__KHASH_IMPL(idxicase, static kh_inline, const git_index_entry *, git_index_entry *, 1, idxentry_hash, idxentry_icase_equal)
|
34
|
-
|
35
|
-
int git_idxmap_new(git_idxmap **out)
|
36
|
-
{
|
37
|
-
*out = kh_init(idx);
|
38
|
-
GIT_ERROR_CHECK_ALLOC(*out);
|
39
|
-
|
40
|
-
return 0;
|
41
|
-
}
|
42
|
-
|
43
|
-
int git_idxmap_icase_new(git_idxmap_icase **out)
|
44
|
-
{
|
45
|
-
*out = kh_init(idxicase);
|
46
|
-
GIT_ERROR_CHECK_ALLOC(*out);
|
47
|
-
|
48
|
-
return 0;
|
49
|
-
}
|
50
|
-
|
51
|
-
void git_idxmap_free(git_idxmap *map)
|
52
|
-
{
|
53
|
-
kh_destroy(idx, map);
|
54
|
-
}
|
55
|
-
|
56
|
-
void git_idxmap_icase_free(git_idxmap_icase *map)
|
57
|
-
{
|
58
|
-
kh_destroy(idxicase, map);
|
59
|
-
}
|
60
|
-
|
61
|
-
void git_idxmap_clear(git_idxmap *map)
|
62
|
-
{
|
63
|
-
kh_clear(idx, map);
|
64
|
-
}
|
65
|
-
|
66
|
-
void git_idxmap_icase_clear(git_idxmap_icase *map)
|
67
|
-
{
|
68
|
-
kh_clear(idxicase, map);
|
69
|
-
}
|
70
|
-
|
71
|
-
int git_idxmap_resize(git_idxmap *map, size_t size)
|
72
|
-
{
|
73
|
-
if (!git__is_uint32(size) ||
|
74
|
-
kh_resize(idx, map, (khiter_t)size) < 0) {
|
75
|
-
git_error_set_oom();
|
76
|
-
return -1;
|
77
|
-
}
|
78
|
-
return 0;
|
79
|
-
}
|
80
|
-
|
81
|
-
int git_idxmap_icase_resize(git_idxmap_icase *map, size_t size)
|
82
|
-
{
|
83
|
-
if (!git__is_uint32(size) ||
|
84
|
-
kh_resize(idxicase, map, (khiter_t)size) < 0) {
|
85
|
-
git_error_set_oom();
|
86
|
-
return -1;
|
87
|
-
}
|
88
|
-
return 0;
|
89
|
-
}
|
90
|
-
|
91
|
-
void *git_idxmap_get(git_idxmap *map, const git_index_entry *key)
|
92
|
-
{
|
93
|
-
size_t idx = kh_get(idx, map, key);
|
94
|
-
if (idx == kh_end(map) || !kh_exist(map, idx))
|
95
|
-
return NULL;
|
96
|
-
return kh_val(map, idx);
|
97
|
-
}
|
98
|
-
|
99
|
-
int git_idxmap_set(git_idxmap *map, const git_index_entry *key, void *value)
|
100
|
-
{
|
101
|
-
size_t idx;
|
102
|
-
int rval;
|
103
|
-
|
104
|
-
idx = kh_put(idx, map, key, &rval);
|
105
|
-
if (rval < 0)
|
106
|
-
return -1;
|
107
|
-
|
108
|
-
if (rval == 0)
|
109
|
-
kh_key(map, idx) = key;
|
110
|
-
|
111
|
-
kh_val(map, idx) = value;
|
112
|
-
|
113
|
-
return 0;
|
114
|
-
}
|
115
|
-
|
116
|
-
int git_idxmap_icase_set(git_idxmap_icase *map, const git_index_entry *key, void *value)
|
117
|
-
{
|
118
|
-
size_t idx;
|
119
|
-
int rval;
|
120
|
-
|
121
|
-
idx = kh_put(idxicase, map, key, &rval);
|
122
|
-
if (rval < 0)
|
123
|
-
return -1;
|
124
|
-
|
125
|
-
if (rval == 0)
|
126
|
-
kh_key(map, idx) = key;
|
127
|
-
|
128
|
-
kh_val(map, idx) = value;
|
129
|
-
|
130
|
-
return 0;
|
131
|
-
}
|
132
|
-
|
133
|
-
void *git_idxmap_icase_get(git_idxmap_icase *map, const git_index_entry *key)
|
134
|
-
{
|
135
|
-
size_t idx = kh_get(idxicase, map, key);
|
136
|
-
if (idx == kh_end(map) || !kh_exist(map, idx))
|
137
|
-
return NULL;
|
138
|
-
return kh_val(map, idx);
|
139
|
-
}
|
140
|
-
|
141
|
-
int git_idxmap_delete(git_idxmap *map, const git_index_entry *key)
|
142
|
-
{
|
143
|
-
khiter_t idx = kh_get(idx, map, key);
|
144
|
-
if (idx == kh_end(map))
|
145
|
-
return GIT_ENOTFOUND;
|
146
|
-
kh_del(idx, map, idx);
|
147
|
-
return 0;
|
148
|
-
}
|
149
|
-
|
150
|
-
int git_idxmap_icase_delete(git_idxmap_icase *map, const git_index_entry *key)
|
151
|
-
{
|
152
|
-
khiter_t idx = kh_get(idxicase, map, key);
|
153
|
-
if (idx == kh_end(map))
|
154
|
-
return GIT_ENOTFOUND;
|
155
|
-
kh_del(idxicase, map, idx);
|
156
|
-
return 0;
|
157
|
-
}
|
@@ -1,177 +0,0 @@
|
|
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_idxmap_h__
|
8
|
-
#define INCLUDE_idxmap_h__
|
9
|
-
|
10
|
-
#include "common.h"
|
11
|
-
|
12
|
-
#include "git2/index.h"
|
13
|
-
|
14
|
-
/** A map with `git_index_entry`s as key. */
|
15
|
-
typedef struct kh_idx_s git_idxmap;
|
16
|
-
/** A map with case-insensitive `git_index_entry`s as key */
|
17
|
-
typedef struct kh_idxicase_s git_idxmap_icase;
|
18
|
-
|
19
|
-
/**
|
20
|
-
* Allocate a new index entry map.
|
21
|
-
*
|
22
|
-
* @param out Pointer to the map that shall be allocated.
|
23
|
-
* @return 0 on success, an error code if allocation has failed.
|
24
|
-
*/
|
25
|
-
int git_idxmap_new(git_idxmap **out);
|
26
|
-
|
27
|
-
/**
|
28
|
-
* Allocate a new case-insensitive index entry map.
|
29
|
-
*
|
30
|
-
* @param out Pointer to the map that shall be allocated.
|
31
|
-
* @return 0 on success, an error code if allocation has failed.
|
32
|
-
*/
|
33
|
-
int git_idxmap_icase_new(git_idxmap_icase **out);
|
34
|
-
|
35
|
-
/**
|
36
|
-
* Free memory associated with the map.
|
37
|
-
*
|
38
|
-
* Note that this function will _not_ free values added to this
|
39
|
-
* map.
|
40
|
-
*
|
41
|
-
* @param map Pointer to the map that is to be free'd. May be
|
42
|
-
* `NULL`.
|
43
|
-
*/
|
44
|
-
void git_idxmap_free(git_idxmap *map);
|
45
|
-
|
46
|
-
/**
|
47
|
-
* Free memory associated with the map.
|
48
|
-
*
|
49
|
-
* Note that this function will _not_ free values added to this
|
50
|
-
* map.
|
51
|
-
*
|
52
|
-
* @param map Pointer to the map that is to be free'd. May be
|
53
|
-
* `NULL`.
|
54
|
-
*/
|
55
|
-
void git_idxmap_icase_free(git_idxmap_icase *map);
|
56
|
-
|
57
|
-
/**
|
58
|
-
* Clear all entries from the map.
|
59
|
-
*
|
60
|
-
* This function will remove all entries from the associated map.
|
61
|
-
* Memory associated with it will not be released, though.
|
62
|
-
*
|
63
|
-
* @param map Pointer to the map that shall be cleared. May be
|
64
|
-
* `NULL`.
|
65
|
-
*/
|
66
|
-
void git_idxmap_clear(git_idxmap *map);
|
67
|
-
|
68
|
-
/**
|
69
|
-
* Clear all entries from the map.
|
70
|
-
*
|
71
|
-
* This function will remove all entries from the associated map.
|
72
|
-
* Memory associated with it will not be released, though.
|
73
|
-
*
|
74
|
-
* @param map Pointer to the map that shall be cleared. May be
|
75
|
-
* `NULL`.
|
76
|
-
*/
|
77
|
-
void git_idxmap_icase_clear(git_idxmap_icase *map);
|
78
|
-
|
79
|
-
/**
|
80
|
-
* Resize the map by allocating more memory.
|
81
|
-
*
|
82
|
-
* @param map map that shall be resized
|
83
|
-
* @param size count of entries that the map shall hold
|
84
|
-
* @return `0` if the map was successfully resized, a negative
|
85
|
-
* error code otherwise
|
86
|
-
*/
|
87
|
-
int git_idxmap_resize(git_idxmap *map, size_t size);
|
88
|
-
|
89
|
-
/**
|
90
|
-
* Resize the map by allocating more memory.
|
91
|
-
*
|
92
|
-
* @param map map that shall be resized
|
93
|
-
* @param size count of entries that the map shall hold
|
94
|
-
* @return `0` if the map was successfully resized, a negative
|
95
|
-
* error code otherwise
|
96
|
-
*/
|
97
|
-
int git_idxmap_icase_resize(git_idxmap_icase *map, size_t size);
|
98
|
-
|
99
|
-
/**
|
100
|
-
* Return value associated with the given key.
|
101
|
-
*
|
102
|
-
* @param map map to search key in
|
103
|
-
* @param key key to search for; the index entry will be searched
|
104
|
-
* for by its case-sensitive path
|
105
|
-
* @return value associated with the given key or NULL if the key was not found
|
106
|
-
*/
|
107
|
-
void *git_idxmap_get(git_idxmap *map, const git_index_entry *key);
|
108
|
-
|
109
|
-
/**
|
110
|
-
* Return value associated with the given key.
|
111
|
-
*
|
112
|
-
* @param map map to search key in
|
113
|
-
* @param key key to search for; the index entry will be searched
|
114
|
-
* for by its case-insensitive path
|
115
|
-
* @return value associated with the given key or NULL if the key was not found
|
116
|
-
*/
|
117
|
-
void *git_idxmap_icase_get(git_idxmap_icase *map, const git_index_entry *key);
|
118
|
-
|
119
|
-
/**
|
120
|
-
* Set the entry for key to value.
|
121
|
-
*
|
122
|
-
* If the map has no corresponding entry for the given key, a new
|
123
|
-
* entry will be created with the given value. If an entry exists
|
124
|
-
* already, its value will be updated to match the given value.
|
125
|
-
*
|
126
|
-
* @param map map to create new entry in
|
127
|
-
* @param key key to set
|
128
|
-
* @param value value to associate the key with; may be NULL
|
129
|
-
* @return zero if the key was successfully set, a negative error
|
130
|
-
* code otherwise
|
131
|
-
*/
|
132
|
-
int git_idxmap_set(git_idxmap *map, const git_index_entry *key, void *value);
|
133
|
-
|
134
|
-
/**
|
135
|
-
* Set the entry for key to value.
|
136
|
-
*
|
137
|
-
* If the map has no corresponding entry for the given key, a new
|
138
|
-
* entry will be created with the given value. If an entry exists
|
139
|
-
* already, its value will be updated to match the given value.
|
140
|
-
*
|
141
|
-
* @param map map to create new entry in
|
142
|
-
* @param key key to set
|
143
|
-
* @param value value to associate the key with; may be NULL
|
144
|
-
* @return zero if the key was successfully set, a negative error
|
145
|
-
* code otherwise
|
146
|
-
*/
|
147
|
-
int git_idxmap_icase_set(git_idxmap_icase *map, const git_index_entry *key, void *value);
|
148
|
-
|
149
|
-
/**
|
150
|
-
* Delete an entry from the map.
|
151
|
-
*
|
152
|
-
* Delete the given key and its value from the map. If no such
|
153
|
-
* key exists, this will do nothing.
|
154
|
-
*
|
155
|
-
* @param map map to delete key in
|
156
|
-
* @param key key to delete
|
157
|
-
* @return `0` if the key has been deleted, GIT_ENOTFOUND if no
|
158
|
-
* such key was found, a negative code in case of an
|
159
|
-
* error
|
160
|
-
*/
|
161
|
-
int git_idxmap_delete(git_idxmap *map, const git_index_entry *key);
|
162
|
-
|
163
|
-
/**
|
164
|
-
* Delete an entry from the map.
|
165
|
-
*
|
166
|
-
* Delete the given key and its value from the map. If no such
|
167
|
-
* key exists, this will do nothing.
|
168
|
-
*
|
169
|
-
* @param map map to delete key in
|
170
|
-
* @param key key to delete
|
171
|
-
* @return `0` if the key has been deleted, GIT_ENOTFOUND if no
|
172
|
-
* such key was found, a negative code in case of an
|
173
|
-
* error
|
174
|
-
*/
|
175
|
-
int git_idxmap_icase_delete(git_idxmap_icase *map, const git_index_entry *key);
|
176
|
-
|
177
|
-
#endif
|
@@ -1,15 +0,0 @@
|
|
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_libgit2_h__
|
8
|
-
#define INCLUDE_libgit2_h__
|
9
|
-
|
10
|
-
extern int git_libgit2_init_count(void);
|
11
|
-
|
12
|
-
extern const char *git_libgit2__user_agent(void);
|
13
|
-
extern const char *git_libgit2__ssl_ciphers(void);
|
14
|
-
|
15
|
-
#endif
|
@@ -1,124 +0,0 @@
|
|
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 "netops.h"
|
9
|
-
|
10
|
-
#include <ctype.h>
|
11
|
-
#include "git2/errors.h"
|
12
|
-
|
13
|
-
#include "posix.h"
|
14
|
-
#include "str.h"
|
15
|
-
#include "runtime.h"
|
16
|
-
|
17
|
-
int gitno_recv(gitno_buffer *buf)
|
18
|
-
{
|
19
|
-
return buf->recv(buf);
|
20
|
-
}
|
21
|
-
|
22
|
-
void gitno_buffer_setup_callback(
|
23
|
-
gitno_buffer *buf,
|
24
|
-
char *data,
|
25
|
-
size_t len,
|
26
|
-
int (*recv)(gitno_buffer *buf), void *cb_data)
|
27
|
-
{
|
28
|
-
memset(data, 0x0, len);
|
29
|
-
buf->data = data;
|
30
|
-
buf->len = len;
|
31
|
-
buf->offset = 0;
|
32
|
-
buf->recv = recv;
|
33
|
-
buf->cb_data = cb_data;
|
34
|
-
}
|
35
|
-
|
36
|
-
static int recv_stream(gitno_buffer *buf)
|
37
|
-
{
|
38
|
-
git_stream *io = (git_stream *) buf->cb_data;
|
39
|
-
size_t readlen = buf->len - buf->offset;
|
40
|
-
ssize_t ret;
|
41
|
-
|
42
|
-
readlen = min(readlen, INT_MAX);
|
43
|
-
|
44
|
-
ret = git_stream_read(io, buf->data + buf->offset, (int)readlen);
|
45
|
-
if (ret < 0)
|
46
|
-
return -1;
|
47
|
-
|
48
|
-
buf->offset += ret;
|
49
|
-
return (int)ret;
|
50
|
-
}
|
51
|
-
|
52
|
-
void gitno_buffer_setup_fromstream(git_stream *st, gitno_buffer *buf, char *data, size_t len)
|
53
|
-
{
|
54
|
-
memset(data, 0x0, len);
|
55
|
-
buf->data = data;
|
56
|
-
buf->len = len;
|
57
|
-
buf->offset = 0;
|
58
|
-
buf->recv = recv_stream;
|
59
|
-
buf->cb_data = st;
|
60
|
-
}
|
61
|
-
|
62
|
-
/* Consume up to ptr and move the rest of the buffer to the beginning */
|
63
|
-
int gitno_consume(gitno_buffer *buf, const char *ptr)
|
64
|
-
{
|
65
|
-
size_t consumed;
|
66
|
-
|
67
|
-
GIT_ASSERT(ptr - buf->data >= 0);
|
68
|
-
GIT_ASSERT(ptr - buf->data <= (int) buf->len);
|
69
|
-
|
70
|
-
consumed = ptr - buf->data;
|
71
|
-
|
72
|
-
memmove(buf->data, ptr, buf->offset - consumed);
|
73
|
-
memset(buf->data + buf->offset, 0x0, buf->len - buf->offset);
|
74
|
-
buf->offset -= consumed;
|
75
|
-
|
76
|
-
return 0;
|
77
|
-
}
|
78
|
-
|
79
|
-
/* Consume const bytes and move the rest of the buffer to the beginning */
|
80
|
-
void gitno_consume_n(gitno_buffer *buf, size_t cons)
|
81
|
-
{
|
82
|
-
memmove(buf->data, buf->data + cons, buf->len - buf->offset);
|
83
|
-
memset(buf->data + cons, 0x0, buf->len - buf->offset);
|
84
|
-
buf->offset -= cons;
|
85
|
-
}
|
86
|
-
|
87
|
-
/* Match host names according to RFC 2818 rules */
|
88
|
-
int gitno__match_host(const char *pattern, const char *host)
|
89
|
-
{
|
90
|
-
for (;;) {
|
91
|
-
char c = git__tolower(*pattern++);
|
92
|
-
|
93
|
-
if (c == '\0')
|
94
|
-
return *host ? -1 : 0;
|
95
|
-
|
96
|
-
if (c == '*') {
|
97
|
-
c = *pattern;
|
98
|
-
/* '*' at the end matches everything left */
|
99
|
-
if (c == '\0')
|
100
|
-
return 0;
|
101
|
-
|
102
|
-
/*
|
103
|
-
* We've found a pattern, so move towards the next matching
|
104
|
-
* char. The '.' is handled specially because wildcards aren't
|
105
|
-
* allowed to cross subdomains.
|
106
|
-
*/
|
107
|
-
|
108
|
-
while(*host) {
|
109
|
-
char h = git__tolower(*host);
|
110
|
-
if (c == h)
|
111
|
-
return gitno__match_host(pattern, host++);
|
112
|
-
if (h == '.')
|
113
|
-
return gitno__match_host(pattern, host);
|
114
|
-
host++;
|
115
|
-
}
|
116
|
-
return -1;
|
117
|
-
}
|
118
|
-
|
119
|
-
if (c != git__tolower(*host++))
|
120
|
-
return -1;
|
121
|
-
}
|
122
|
-
|
123
|
-
return -1;
|
124
|
-
}
|