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
@@ -17,9 +17,13 @@
|
|
17
17
|
|
18
18
|
/**
|
19
19
|
* @file git2/clone.h
|
20
|
-
* @brief
|
20
|
+
* @brief Clone a remote repository to the local disk
|
21
21
|
* @defgroup git_clone Git cloning routines
|
22
22
|
* @ingroup Git
|
23
|
+
*
|
24
|
+
* Clone will take a remote repository - located on a remote server
|
25
|
+
* accessible by HTTPS or SSH, or a repository located elsewhere on
|
26
|
+
* the local disk - and place a copy in the given local path.
|
23
27
|
* @{
|
24
28
|
*/
|
25
29
|
GIT_BEGIN_DECL
|
@@ -59,7 +63,7 @@ typedef enum {
|
|
59
63
|
* Callers of git_clone may provide a function matching this signature to override
|
60
64
|
* the remote creation and customization process during a clone operation.
|
61
65
|
*
|
62
|
-
* @param out the resulting remote
|
66
|
+
* @param[out] out the resulting remote
|
63
67
|
* @param repo the repository in which to create the remote
|
64
68
|
* @param name the remote's name
|
65
69
|
* @param url the remote's url
|
@@ -81,7 +85,7 @@ typedef int GIT_CALLBACK(git_remote_create_cb)(
|
|
81
85
|
* to override the repository creation and customization process
|
82
86
|
* during a clone operation.
|
83
87
|
*
|
84
|
-
* @param out the resulting repository
|
88
|
+
* @param[out] out the resulting repository
|
85
89
|
* @param path path in which to create the repository
|
86
90
|
* @param bare whether the repository is bare. This is the value from the clone options
|
87
91
|
* @param payload payload specified by the options
|
@@ -99,14 +103,17 @@ typedef int GIT_CALLBACK(git_repository_create_cb)(
|
|
99
103
|
* Initialize with `GIT_CLONE_OPTIONS_INIT`. Alternatively, you can
|
100
104
|
* use `git_clone_options_init`.
|
101
105
|
*
|
106
|
+
* @options[version] GIT_CLONE_OPTIONS_VERSION
|
107
|
+
* @options[init_macro] GIT_CLONE_OPTIONS_INIT
|
108
|
+
* @options[init_function] git_clone_options_init
|
102
109
|
*/
|
103
110
|
typedef struct git_clone_options {
|
104
111
|
unsigned int version;
|
105
112
|
|
106
113
|
/**
|
107
114
|
* These options are passed to the checkout step. To disable
|
108
|
-
* checkout, set the `checkout_strategy` to
|
109
|
-
* `
|
115
|
+
* checkout, set the `checkout_strategy` to `GIT_CHECKOUT_NONE`
|
116
|
+
* or `GIT_CHECKOUT_DRY_RUN`.
|
110
117
|
*/
|
111
118
|
git_checkout_options checkout_opts;
|
112
119
|
|
@@ -163,10 +170,14 @@ typedef struct git_clone_options {
|
|
163
170
|
void *remote_cb_payload;
|
164
171
|
} git_clone_options;
|
165
172
|
|
173
|
+
/** Current version for the `git_clone_options` structure */
|
166
174
|
#define GIT_CLONE_OPTIONS_VERSION 1
|
167
|
-
|
168
|
-
|
169
|
-
|
175
|
+
|
176
|
+
/** Static constructor for `git_clone_options` */
|
177
|
+
#define GIT_CLONE_OPTIONS_INIT \
|
178
|
+
{ GIT_CLONE_OPTIONS_VERSION, \
|
179
|
+
GIT_CHECKOUT_OPTIONS_INIT, \
|
180
|
+
GIT_FETCH_OPTIONS_INIT }
|
170
181
|
|
171
182
|
/**
|
172
183
|
* Initialize git_clone_options structure
|
@@ -189,7 +200,11 @@ GIT_EXTERN(int) git_clone_options_init(
|
|
189
200
|
* git's defaults. You can use the options in the callback to
|
190
201
|
* customize how these are created.
|
191
202
|
*
|
192
|
-
*
|
203
|
+
* Note that the libgit2 library _must_ be initialized using
|
204
|
+
* `git_libgit2_init` before any APIs can be called, including
|
205
|
+
* this one.
|
206
|
+
*
|
207
|
+
* @param[out] out pointer that will receive the resulting repository object
|
193
208
|
* @param url the remote repository to clone
|
194
209
|
* @param local_path local directory to clone to
|
195
210
|
* @param options configuration options for the clone. If NULL, the
|
@@ -206,4 +221,5 @@ GIT_EXTERN(int) git_clone(
|
|
206
221
|
|
207
222
|
/** @} */
|
208
223
|
GIT_END_DECL
|
224
|
+
|
209
225
|
#endif
|
@@ -14,9 +14,13 @@
|
|
14
14
|
|
15
15
|
/**
|
16
16
|
* @file git2/commit.h
|
17
|
-
* @brief
|
17
|
+
* @brief A representation of a set of changes in the repository
|
18
18
|
* @defgroup git_commit Git commit parsing, formatting routines
|
19
19
|
* @ingroup Git
|
20
|
+
*
|
21
|
+
* A commit represents a set of changes made to the files within a
|
22
|
+
* repository, and metadata about who made the changes, and when the
|
23
|
+
* changes were made.
|
20
24
|
* @{
|
21
25
|
*/
|
22
26
|
GIT_BEGIN_DECL
|
@@ -380,7 +384,38 @@ GIT_EXTERN(int) git_commit_create(
|
|
380
384
|
*
|
381
385
|
* All other parameters remain the same as `git_commit_create()`.
|
382
386
|
*
|
383
|
-
* @
|
387
|
+
* @param id Pointer in which to store the OID of the newly created commit
|
388
|
+
*
|
389
|
+
* @param repo Repository where to store the commit
|
390
|
+
*
|
391
|
+
* @param update_ref If not NULL, name of the reference that
|
392
|
+
* will be updated to point to this commit. If the reference
|
393
|
+
* is not direct, it will be resolved to a direct reference.
|
394
|
+
* Use "HEAD" to update the HEAD of the current branch and
|
395
|
+
* make it point to this commit. If the reference doesn't
|
396
|
+
* exist yet, it will be created. If it does exist, the first
|
397
|
+
* parent must be the tip of this branch.
|
398
|
+
*
|
399
|
+
* @param author Signature with author and author time of commit
|
400
|
+
*
|
401
|
+
* @param committer Signature with committer and * commit time of commit
|
402
|
+
*
|
403
|
+
* @param message_encoding The encoding for the message in the
|
404
|
+
* commit, represented with a standard encoding name.
|
405
|
+
* E.g. "UTF-8". If NULL, no encoding header is written and
|
406
|
+
* UTF-8 is assumed.
|
407
|
+
*
|
408
|
+
* @param message Full message for this commit
|
409
|
+
*
|
410
|
+
* @param tree An instance of a `git_tree` object that will
|
411
|
+
* be used as the tree for the commit. This tree object must
|
412
|
+
* also be owned by the given `repo`.
|
413
|
+
*
|
414
|
+
* @param parent_count Number of parents for this commit
|
415
|
+
*
|
416
|
+
* @return 0 or an error code
|
417
|
+
* The created commit will be written to the Object Database and
|
418
|
+
* the given reference will be updated to point to it
|
384
419
|
*/
|
385
420
|
GIT_EXTERN(int) git_commit_create_v(
|
386
421
|
git_oid *id,
|
@@ -394,6 +429,52 @@ GIT_EXTERN(int) git_commit_create_v(
|
|
394
429
|
size_t parent_count,
|
395
430
|
...);
|
396
431
|
|
432
|
+
typedef struct {
|
433
|
+
unsigned int version;
|
434
|
+
|
435
|
+
/**
|
436
|
+
* Flags for creating the commit.
|
437
|
+
*
|
438
|
+
* If `allow_empty_commit` is specified, a commit with no changes
|
439
|
+
* from the prior commit (and "empty" commit) is allowed. Otherwise,
|
440
|
+
* commit creation will be stopped.
|
441
|
+
*/
|
442
|
+
unsigned int allow_empty_commit : 1;
|
443
|
+
|
444
|
+
/** The commit author, or NULL for the default. */
|
445
|
+
const git_signature *author;
|
446
|
+
|
447
|
+
/** The committer, or NULL for the default. */
|
448
|
+
const git_signature *committer;
|
449
|
+
|
450
|
+
/** Encoding for the commit message; leave NULL for default. */
|
451
|
+
const char *message_encoding;
|
452
|
+
} git_commit_create_options;
|
453
|
+
|
454
|
+
/** Current version for the `git_commit_create_options` structure */
|
455
|
+
#define GIT_COMMIT_CREATE_OPTIONS_VERSION 1
|
456
|
+
|
457
|
+
/** Static constructor for `git_commit_create_options` */
|
458
|
+
#define GIT_COMMIT_CREATE_OPTIONS_INIT { GIT_COMMIT_CREATE_OPTIONS_VERSION }
|
459
|
+
|
460
|
+
/**
|
461
|
+
* Commits the staged changes in the repository; this is a near analog to
|
462
|
+
* `git commit -m message`.
|
463
|
+
*
|
464
|
+
* By default, empty commits are not allowed.
|
465
|
+
*
|
466
|
+
* @param id pointer to store the new commit's object id
|
467
|
+
* @param repo repository to commit changes in
|
468
|
+
* @param message the commit message
|
469
|
+
* @param opts options for creating the commit
|
470
|
+
* @return 0 on success, GIT_EUNCHANGED if there were no changes to commit, or an error code
|
471
|
+
*/
|
472
|
+
GIT_EXTERN(int) git_commit_create_from_stage(
|
473
|
+
git_oid *id,
|
474
|
+
git_repository *repo,
|
475
|
+
const char *message,
|
476
|
+
const git_commit_create_options *opts);
|
477
|
+
|
397
478
|
/**
|
398
479
|
* Amend an existing commit by replacing only non-NULL values.
|
399
480
|
*
|
@@ -413,7 +494,36 @@ GIT_EXTERN(int) git_commit_create_v(
|
|
413
494
|
*
|
414
495
|
* All parameters have the same meanings as in `git_commit_create()`.
|
415
496
|
*
|
416
|
-
* @
|
497
|
+
* @param id Pointer in which to store the OID of the newly created commit
|
498
|
+
*
|
499
|
+
* @param commit_to_amend The commit to amend
|
500
|
+
*
|
501
|
+
* @param update_ref If not NULL, name of the reference that
|
502
|
+
* will be updated to point to this commit. If the reference
|
503
|
+
* is not direct, it will be resolved to a direct reference.
|
504
|
+
* Use "HEAD" to update the HEAD of the current branch and
|
505
|
+
* make it point to this commit. If the reference doesn't
|
506
|
+
* exist yet, it will be created. If it does exist, the first
|
507
|
+
* parent must be the tip of this branch.
|
508
|
+
*
|
509
|
+
* @param author Signature with author and author time of commit
|
510
|
+
*
|
511
|
+
* @param committer Signature with committer and * commit time of commit
|
512
|
+
*
|
513
|
+
* @param message_encoding The encoding for the message in the
|
514
|
+
* commit, represented with a standard encoding name.
|
515
|
+
* E.g. "UTF-8". If NULL, no encoding header is written and
|
516
|
+
* UTF-8 is assumed.
|
517
|
+
*
|
518
|
+
* @param message Full message for this commit
|
519
|
+
*
|
520
|
+
* @param tree An instance of a `git_tree` object that will
|
521
|
+
* be used as the tree for the commit. This tree object must
|
522
|
+
* also be owned by the given `repo`.
|
523
|
+
*
|
524
|
+
* @return 0 or an error code
|
525
|
+
* The created commit will be written to the Object Database and
|
526
|
+
* the given reference will be updated to point to it
|
417
527
|
*/
|
418
528
|
GIT_EXTERN(int) git_commit_amend(
|
419
529
|
git_oid *id,
|
@@ -541,6 +651,25 @@ typedef int (*git_commit_create_cb)(
|
|
541
651
|
const git_commit *parents[],
|
542
652
|
void *payload);
|
543
653
|
|
654
|
+
/** An array of commits returned from the library */
|
655
|
+
typedef struct git_commitarray {
|
656
|
+
git_commit *const *commits;
|
657
|
+
size_t count;
|
658
|
+
} git_commitarray;
|
659
|
+
|
660
|
+
/**
|
661
|
+
* Free the commits contained in a commit array. This method should
|
662
|
+
* be called on `git_commitarray` objects that were provided by the
|
663
|
+
* library. Not doing so will result in a memory leak.
|
664
|
+
*
|
665
|
+
* This does not free the `git_commitarray` itself, since the library
|
666
|
+
* will never allocate that object directly itself.
|
667
|
+
*
|
668
|
+
* @param array The git_commitarray that contains commits to free
|
669
|
+
*/
|
670
|
+
GIT_EXTERN(void) git_commitarray_dispose(git_commitarray *array);
|
671
|
+
|
544
672
|
/** @} */
|
545
673
|
GIT_END_DECL
|
674
|
+
|
546
675
|
#endif
|
@@ -11,7 +11,9 @@
|
|
11
11
|
#include <stdlib.h>
|
12
12
|
|
13
13
|
#ifdef __cplusplus
|
14
|
+
/** Start declarations in C mode for C++ compatibility */
|
14
15
|
# define GIT_BEGIN_DECL extern "C" {
|
16
|
+
/** End declarations in C mode */
|
15
17
|
# define GIT_END_DECL }
|
16
18
|
#else
|
17
19
|
/** Start declarations in C mode */
|
@@ -71,19 +73,19 @@ typedef size_t size_t;
|
|
71
73
|
# define GIT_FORMAT_PRINTF(a,b) /* empty */
|
72
74
|
#endif
|
73
75
|
|
74
|
-
#if (defined(_WIN32)) && !defined(__CYGWIN__)
|
75
|
-
#define GIT_WIN32 1
|
76
|
-
#endif
|
77
|
-
|
78
76
|
#ifdef __amigaos4__
|
79
77
|
#include <netinet/in.h>
|
80
78
|
#endif
|
81
79
|
|
82
80
|
/**
|
83
81
|
* @file git2/common.h
|
84
|
-
* @brief
|
82
|
+
* @brief Base platform functionality
|
85
83
|
* @defgroup git_common Git common platform definitions
|
86
84
|
* @ingroup Git
|
85
|
+
*
|
86
|
+
* Common platform functionality including introspecting libgit2
|
87
|
+
* itself - information like how it was built, and the current
|
88
|
+
* running version.
|
87
89
|
* @{
|
88
90
|
*/
|
89
91
|
|
@@ -94,10 +96,10 @@ GIT_BEGIN_DECL
|
|
94
96
|
* environment variable). A semi-colon ";" is used on Windows and
|
95
97
|
* AmigaOS, and a colon ":" for all other systems.
|
96
98
|
*/
|
97
|
-
#if defined(
|
98
|
-
#define GIT_PATH_LIST_SEPARATOR ';'
|
99
|
+
#if (defined(_WIN32) && !defined(__CYGWIN__)) || defined(AMIGA)
|
100
|
+
# define GIT_PATH_LIST_SEPARATOR ';'
|
99
101
|
#else
|
100
|
-
#define GIT_PATH_LIST_SEPARATOR ':'
|
102
|
+
# define GIT_PATH_LIST_SEPARATOR ':'
|
101
103
|
#endif
|
102
104
|
|
103
105
|
/**
|
@@ -128,56 +130,80 @@ GIT_EXTERN(int) git_libgit2_version(int *major, int *minor, int *rev);
|
|
128
130
|
GIT_EXTERN(const char *) git_libgit2_prerelease(void);
|
129
131
|
|
130
132
|
/**
|
131
|
-
*
|
132
|
-
*
|
133
|
+
* Configurable features of libgit2; either optional settings (like
|
134
|
+
* threading), or features that can be enabled by one of a number of
|
135
|
+
* different backend "providers" (like HTTPS, which can be provided by
|
136
|
+
* OpenSSL, mbedTLS, or system libraries).
|
133
137
|
*/
|
134
138
|
typedef enum {
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
GIT_FEATURE_THREADS
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
139
|
+
/**
|
140
|
+
* libgit2 is thread-aware and can be used from multiple threads
|
141
|
+
* (as described in the documentation).
|
142
|
+
*/
|
143
|
+
GIT_FEATURE_THREADS = (1 << 0),
|
144
|
+
|
145
|
+
/** HTTPS remotes */
|
146
|
+
GIT_FEATURE_HTTPS = (1 << 1),
|
147
|
+
|
148
|
+
/** SSH remotes */
|
149
|
+
GIT_FEATURE_SSH = (1 << 2),
|
150
|
+
|
151
|
+
/** Sub-second resolution in index timestamps */
|
152
|
+
GIT_FEATURE_NSEC = (1 << 3),
|
153
|
+
|
154
|
+
/** HTTP parsing; always available */
|
155
|
+
GIT_FEATURE_HTTP_PARSER = (1 << 4),
|
156
|
+
|
157
|
+
/** Regular expression support; always available */
|
158
|
+
GIT_FEATURE_REGEX = (1 << 5),
|
159
|
+
|
160
|
+
/** Internationalization support for filename translation */
|
161
|
+
GIT_FEATURE_I18N = (1 << 6),
|
162
|
+
|
163
|
+
/** NTLM support over HTTPS */
|
164
|
+
GIT_FEATURE_AUTH_NTLM = (1 << 7),
|
165
|
+
|
166
|
+
/** Kerberos (SPNEGO) authentication support over HTTPS */
|
167
|
+
GIT_FEATURE_AUTH_NEGOTIATE = (1 << 8),
|
168
|
+
|
169
|
+
/** zlib support; always available */
|
170
|
+
GIT_FEATURE_COMPRESSION = (1 << 9),
|
171
|
+
|
172
|
+
/** SHA1 object support; always available */
|
173
|
+
GIT_FEATURE_SHA1 = (1 << 10),
|
174
|
+
|
175
|
+
/** SHA256 object support */
|
176
|
+
GIT_FEATURE_SHA256 = (1 << 11)
|
157
177
|
} git_feature_t;
|
158
178
|
|
159
179
|
/**
|
160
180
|
* Query compile time options for libgit2.
|
161
181
|
*
|
162
182
|
* @return A combination of GIT_FEATURE_* values.
|
183
|
+
*/
|
184
|
+
GIT_EXTERN(int) git_libgit2_features(void);
|
185
|
+
|
186
|
+
/**
|
187
|
+
* Query the backend details for the compile-time feature in libgit2.
|
163
188
|
*
|
164
|
-
*
|
165
|
-
*
|
166
|
-
*
|
167
|
-
* believed to be threadsafe, but other operations may not be.
|
189
|
+
* This will return the "backend" for the feature, which is useful for
|
190
|
+
* things like HTTPS or SSH support, that can have multiple backends
|
191
|
+
* that could be compiled in.
|
168
192
|
*
|
169
|
-
*
|
170
|
-
*
|
171
|
-
*
|
193
|
+
* For example, when libgit2 is compiled with dynamic OpenSSL support,
|
194
|
+
* the feature backend will be `openssl-dynamic`. The feature backend
|
195
|
+
* names reflect the compilation options specified to the build system
|
196
|
+
* (though in all lower case). The backend _may_ be "builtin" for
|
197
|
+
* features that are provided by libgit2 itself.
|
172
198
|
*
|
173
|
-
*
|
174
|
-
*
|
175
|
-
* the libssh2 library to be found when compiling libgit2
|
199
|
+
* If the feature is not supported by the library, this API returns
|
200
|
+
* `NULL`.
|
176
201
|
*
|
177
|
-
*
|
178
|
-
*
|
202
|
+
* @param feature the feature to query details for
|
203
|
+
* @return the provider details, or NULL if the feature is not supported
|
179
204
|
*/
|
180
|
-
GIT_EXTERN(
|
205
|
+
GIT_EXTERN(const char *) git_libgit2_feature_backend(
|
206
|
+
git_feature_t feature);
|
181
207
|
|
182
208
|
/**
|
183
209
|
* Global library options
|
@@ -224,7 +250,14 @@ typedef enum {
|
|
224
250
|
GIT_OPT_GET_OWNER_VALIDATION,
|
225
251
|
GIT_OPT_SET_OWNER_VALIDATION,
|
226
252
|
GIT_OPT_GET_HOMEDIR,
|
227
|
-
GIT_OPT_SET_HOMEDIR
|
253
|
+
GIT_OPT_SET_HOMEDIR,
|
254
|
+
GIT_OPT_SET_SERVER_CONNECT_TIMEOUT,
|
255
|
+
GIT_OPT_GET_SERVER_CONNECT_TIMEOUT,
|
256
|
+
GIT_OPT_SET_SERVER_TIMEOUT,
|
257
|
+
GIT_OPT_GET_SERVER_TIMEOUT,
|
258
|
+
GIT_OPT_SET_USER_AGENT_PRODUCT,
|
259
|
+
GIT_OPT_GET_USER_AGENT_PRODUCT,
|
260
|
+
GIT_OPT_ADD_SSL_X509_CERT
|
228
261
|
} git_libgit2_opt_t;
|
229
262
|
|
230
263
|
/**
|
@@ -329,15 +362,52 @@ typedef enum {
|
|
329
362
|
* > - `path` is the location of a directory holding several
|
330
363
|
* > certificates, one per file.
|
331
364
|
* >
|
365
|
+
* > Calling `GIT_OPT_ADD_SSL_X509_CERT` may override the
|
366
|
+
* > data in `path`.
|
367
|
+
* >
|
332
368
|
* > Either parameter may be `NULL`, but not both.
|
333
369
|
*
|
370
|
+
* * opts(GIT_OPT_ADD_SSL_X509_CERT, const X509 *cert)
|
371
|
+
*
|
372
|
+
* > Add a raw X509 certificate into the SSL certs store.
|
373
|
+
* > This certificate is only used by libgit2 invocations
|
374
|
+
* > during the application lifetime and is not persisted
|
375
|
+
* > to disk. This certificate cannot be removed from the
|
376
|
+
* > application once is has been added.
|
377
|
+
* >
|
378
|
+
* > - `cert` is the raw X509 cert will be added to cert store.
|
379
|
+
*
|
334
380
|
* * opts(GIT_OPT_SET_USER_AGENT, const char *user_agent)
|
335
381
|
*
|
336
|
-
* > Set the value of the User-Agent header.
|
337
|
-
* >
|
382
|
+
* > Set the value of the comment section of the User-Agent header.
|
383
|
+
* > This can be information about your product and its version.
|
384
|
+
* > By default this is "libgit2" followed by the libgit2 version.
|
385
|
+
* >
|
386
|
+
* > This value will be appended to User-Agent _product_, which
|
387
|
+
* > is typically set to "git/2.0".
|
388
|
+
* >
|
389
|
+
* > Set to the empty string ("") to not send any information in the
|
390
|
+
* > comment section, or set to NULL to restore the default.
|
391
|
+
*
|
392
|
+
* * opts(GIT_OPT_GET_USER_AGENT, git_buf *out)
|
393
|
+
*
|
394
|
+
* > Get the value of the User-Agent header.
|
395
|
+
* > The User-Agent is written to the `out` buffer.
|
396
|
+
*
|
397
|
+
* * opts(GIT_OPT_SET_USER_AGENT_PRODUCT, const char *user_agent_product)
|
398
|
+
*
|
399
|
+
* > Set the value of the product portion of the User-Agent header.
|
400
|
+
* > This defaults to "git/2.0", for compatibility with other git
|
401
|
+
* > clients. It is recommended to keep this as git/<version> for
|
402
|
+
* > compatibility with servers that do user-agent detection.
|
338
403
|
* >
|
339
|
-
* >
|
340
|
-
* >
|
404
|
+
* > Set to the empty string ("") to not send any user-agent string,
|
405
|
+
* > or set to NULL to restore the default.
|
406
|
+
*
|
407
|
+
* * opts(GIT_OPT_GET_USER_AGENT_PRODUCT, git_buf *out)
|
408
|
+
*
|
409
|
+
* > Get the value of the User-Agent product header.
|
410
|
+
* > The User-Agent product is written to the `out` buffer.
|
341
411
|
*
|
342
412
|
* * opts(GIT_OPT_SET_WINDOWS_SHAREMODE, unsigned long value)
|
343
413
|
*
|
@@ -373,11 +443,6 @@ typedef enum {
|
|
373
443
|
* >
|
374
444
|
* > - `ciphers` is the list of ciphers that are eanbled.
|
375
445
|
*
|
376
|
-
* * opts(GIT_OPT_GET_USER_AGENT, git_buf *out)
|
377
|
-
*
|
378
|
-
* > Get the value of the User-Agent header.
|
379
|
-
* > The User-Agent is written to the `out` buffer.
|
380
|
-
*
|
381
446
|
* * opts(GIT_OPT_ENABLE_OFS_DELTA, int enabled)
|
382
447
|
*
|
383
448
|
* > Enable or disable the use of "offset deltas" when creating packfiles,
|
@@ -480,8 +545,25 @@ typedef enum {
|
|
480
545
|
* >
|
481
546
|
* > - `path` directory of home directory.
|
482
547
|
*
|
548
|
+
* opts(GIT_OPT_GET_SERVER_CONNECT_TIMEOUT, int *timeout)
|
549
|
+
* > Gets the timeout (in milliseconds) to attempt connections to
|
550
|
+
* > a remote server.
|
551
|
+
*
|
552
|
+
* opts(GIT_OPT_SET_SERVER_CONNECT_TIMEOUT, int timeout)
|
553
|
+
* > Sets the timeout (in milliseconds) to attempt connections to
|
554
|
+
* > a remote server. Set to 0 to use the system default. Note that
|
555
|
+
* > this may not be able to be configured longer than the system
|
556
|
+
* > default, typically 75 seconds.
|
557
|
+
*
|
558
|
+
* opts(GIT_OPT_GET_SERVER_TIMEOUT, int *timeout)
|
559
|
+
* > Gets the timeout (in milliseconds) for reading from and writing
|
560
|
+
* > to a remote server.
|
561
|
+
*
|
562
|
+
* opts(GIT_OPT_SET_SERVER_TIMEOUT, int timeout)
|
563
|
+
* > Sets the timeout (in milliseconds) for reading from and writing
|
564
|
+
* > to a remote server. Set to 0 to use the system default.
|
565
|
+
*
|
483
566
|
* @param option Option key
|
484
|
-
* @param ... value to set the option
|
485
567
|
* @return 0 on success, <0 on failure
|
486
568
|
*/
|
487
569
|
GIT_EXTERN(int) git_libgit2_opts(int option, ...);
|