rugged 0.28.4 → 0.28.4.1
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 +0 -1
- data/vendor/libgit2/CMakeLists.txt +16 -36
- data/vendor/libgit2/COPYING +0 -28
- data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +1 -5
- data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
- data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +0 -6
- data/vendor/libgit2/deps/http-parser/http_parser.c +6 -11
- data/vendor/libgit2/deps/regex/CMakeLists.txt +2 -0
- data/vendor/libgit2/deps/regex/COPYING +502 -0
- data/vendor/libgit2/deps/regex/config.h +7 -0
- data/vendor/libgit2/deps/regex/regcomp.c +3857 -0
- data/vendor/libgit2/deps/regex/regex.c +92 -0
- data/vendor/libgit2/deps/regex/regex.h +582 -0
- data/vendor/libgit2/deps/regex/regex_internal.c +1744 -0
- data/vendor/libgit2/deps/regex/regex_internal.h +819 -0
- data/vendor/libgit2/deps/regex/regexec.c +4369 -0
- data/vendor/libgit2/deps/zlib/adler32.c +7 -0
- data/vendor/libgit2/deps/zlib/crc32.c +7 -0
- data/vendor/libgit2/include/git2.h +0 -2
- data/vendor/libgit2/include/git2/apply.h +2 -22
- data/vendor/libgit2/include/git2/attr.h +12 -19
- data/vendor/libgit2/include/git2/blame.h +2 -2
- data/vendor/libgit2/include/git2/blob.h +12 -44
- data/vendor/libgit2/include/git2/buffer.h +14 -20
- data/vendor/libgit2/include/git2/checkout.h +14 -46
- data/vendor/libgit2/include/git2/cherrypick.h +3 -3
- data/vendor/libgit2/include/git2/clone.h +2 -2
- data/vendor/libgit2/include/git2/commit.h +1 -23
- data/vendor/libgit2/include/git2/common.h +5 -7
- data/vendor/libgit2/include/git2/config.h +12 -12
- data/vendor/libgit2/include/git2/deprecated.h +3 -243
- data/vendor/libgit2/include/git2/describe.h +4 -4
- data/vendor/libgit2/include/git2/diff.h +14 -16
- data/vendor/libgit2/include/git2/filter.h +0 -8
- data/vendor/libgit2/include/git2/index.h +1 -2
- data/vendor/libgit2/include/git2/indexer.h +4 -48
- data/vendor/libgit2/include/git2/inttypes.h +309 -0
- data/vendor/libgit2/include/git2/merge.h +10 -6
- data/vendor/libgit2/include/git2/net.h +5 -0
- data/vendor/libgit2/include/git2/object.h +14 -2
- data/vendor/libgit2/include/git2/odb.h +2 -3
- data/vendor/libgit2/include/git2/odb_backend.h +4 -5
- data/vendor/libgit2/include/git2/oid.h +1 -1
- data/vendor/libgit2/include/git2/pack.h +1 -12
- data/vendor/libgit2/include/git2/proxy.h +3 -5
- data/vendor/libgit2/include/git2/rebase.h +2 -46
- data/vendor/libgit2/include/git2/refs.h +0 -19
- data/vendor/libgit2/include/git2/remote.h +12 -35
- data/vendor/libgit2/include/git2/repository.h +2 -24
- data/vendor/libgit2/include/git2/revert.h +1 -1
- data/vendor/libgit2/include/git2/stash.h +3 -3
- data/vendor/libgit2/include/git2/status.h +16 -25
- data/vendor/libgit2/include/git2/submodule.h +3 -20
- data/vendor/libgit2/include/git2/sys/alloc.h +9 -9
- data/vendor/libgit2/include/git2/sys/odb_backend.h +4 -48
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +21 -57
- data/vendor/libgit2/include/git2/sys/repository.h +1 -5
- data/vendor/libgit2/include/git2/sys/time.h +31 -0
- data/vendor/libgit2/include/git2/sys/transport.h +2 -2
- data/vendor/libgit2/include/git2/tag.h +2 -11
- data/vendor/libgit2/include/git2/trace.h +2 -2
- data/vendor/libgit2/include/git2/transport.h +340 -11
- data/vendor/libgit2/include/git2/tree.h +1 -1
- data/vendor/libgit2/include/git2/types.h +89 -4
- data/vendor/libgit2/include/git2/version.h +2 -2
- data/vendor/libgit2/include/git2/worktree.h +5 -5
- data/vendor/libgit2/libgit2.pc.in +13 -0
- data/vendor/libgit2/src/CMakeLists.txt +222 -88
- data/vendor/libgit2/src/alloc.c +14 -2
- data/vendor/libgit2/src/apply.c +30 -60
- data/vendor/libgit2/src/attr.c +64 -70
- data/vendor/libgit2/src/attr_file.c +96 -189
- data/vendor/libgit2/src/attr_file.h +9 -9
- data/vendor/libgit2/src/attrcache.c +46 -44
- data/vendor/libgit2/src/attrcache.h +1 -2
- data/vendor/libgit2/src/blame.c +5 -17
- data/vendor/libgit2/src/blame.h +1 -1
- data/vendor/libgit2/src/blame_git.c +7 -21
- data/vendor/libgit2/src/blob.c +17 -81
- data/vendor/libgit2/src/blob.h +2 -2
- data/vendor/libgit2/src/branch.c +5 -29
- data/vendor/libgit2/src/buffer.c +7 -14
- data/vendor/libgit2/src/cache.c +33 -26
- data/vendor/libgit2/src/cache.h +1 -1
- data/vendor/libgit2/src/cc-compat.h +0 -5
- data/vendor/libgit2/src/checkout.c +16 -26
- data/vendor/libgit2/src/cherrypick.c +3 -9
- data/vendor/libgit2/src/clone.c +7 -29
- data/vendor/libgit2/src/clone.h +0 -4
- data/vendor/libgit2/src/commit.c +21 -69
- data/vendor/libgit2/src/commit.h +0 -6
- data/vendor/libgit2/src/commit_list.c +76 -28
- data/vendor/libgit2/src/commit_list.h +2 -2
- data/vendor/libgit2/src/common.h +75 -3
- data/vendor/libgit2/src/config.c +40 -31
- data/vendor/libgit2/src/config.h +6 -7
- data/vendor/libgit2/src/config_backend.h +0 -12
- data/vendor/libgit2/src/config_cache.c +39 -39
- data/vendor/libgit2/src/config_entries.c +99 -69
- data/vendor/libgit2/src/config_entries.h +0 -1
- data/vendor/libgit2/src/config_file.c +380 -337
- data/vendor/libgit2/src/config_mem.c +16 -12
- data/vendor/libgit2/src/config_parse.c +29 -49
- data/vendor/libgit2/src/config_parse.h +12 -13
- data/vendor/libgit2/src/crlf.c +14 -14
- data/vendor/libgit2/src/describe.c +20 -21
- data/vendor/libgit2/src/diff.c +58 -43
- data/vendor/libgit2/src/diff.h +1 -2
- data/vendor/libgit2/src/diff_driver.c +38 -37
- data/vendor/libgit2/src/diff_file.c +7 -9
- data/vendor/libgit2/src/diff_file.h +1 -1
- data/vendor/libgit2/src/diff_generate.c +85 -135
- data/vendor/libgit2/src/diff_generate.h +2 -2
- data/vendor/libgit2/src/diff_parse.c +1 -1
- data/vendor/libgit2/src/diff_print.c +13 -25
- data/vendor/libgit2/src/diff_stats.c +1 -1
- data/vendor/libgit2/src/diff_tform.c +4 -4
- data/vendor/libgit2/src/errors.c +22 -12
- data/vendor/libgit2/src/features.h.in +2 -9
- data/vendor/libgit2/src/fetch.c +2 -7
- data/vendor/libgit2/src/fetchhead.c +1 -1
- data/vendor/libgit2/src/filebuf.c +10 -6
- data/vendor/libgit2/src/filebuf.h +2 -2
- data/vendor/libgit2/src/{futils.c → fileops.c} +17 -21
- data/vendor/libgit2/src/{futils.h → fileops.h} +5 -5
- data/vendor/libgit2/src/filter.c +8 -16
- data/vendor/libgit2/src/fnmatch.c +248 -0
- data/vendor/libgit2/src/fnmatch.h +48 -0
- data/vendor/libgit2/src/global.c +40 -12
- data/vendor/libgit2/src/global.h +2 -0
- data/vendor/libgit2/src/hash.c +0 -61
- data/vendor/libgit2/src/hash.h +21 -19
- data/vendor/libgit2/src/hash/{sha1/collisiondetect.c → hash_collisiondetect.h} +17 -14
- data/vendor/libgit2/src/hash/{sha1/common_crypto.c → hash_common_crypto.h} +19 -15
- data/vendor/libgit2/src/hash/{sha1/generic.c → hash_generic.c} +10 -22
- data/vendor/libgit2/src/hash/{sha1/generic.h → hash_generic.h} +14 -4
- data/vendor/libgit2/src/hash/{sha1/mbedtls.c → hash_mbedtls.c} +7 -15
- data/vendor/libgit2/src/hash/{sha1/mbedtls.h → hash_mbedtls.h} +11 -6
- data/vendor/libgit2/src/hash/{sha1/openssl.c → hash_openssl.h} +18 -14
- data/vendor/libgit2/src/hash/{sha1/win32.c → hash_win32.c} +24 -34
- data/vendor/libgit2/src/hash/{sha1/win32.h → hash_win32.h} +19 -6
- data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/sha1.c +3 -14
- data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/sha1.h +0 -0
- data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/ubc_check.c +0 -0
- data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/ubc_check.h +0 -0
- data/vendor/libgit2/src/hashsig.c +1 -1
- data/vendor/libgit2/src/idxmap.c +65 -91
- data/vendor/libgit2/src/idxmap.h +15 -151
- data/vendor/libgit2/src/ignore.c +38 -32
- data/vendor/libgit2/src/index.c +43 -66
- data/vendor/libgit2/src/index.h +1 -1
- data/vendor/libgit2/src/indexer.c +70 -69
- data/vendor/libgit2/src/integer.h +4 -39
- data/vendor/libgit2/src/iterator.c +22 -27
- data/vendor/libgit2/src/map.h +1 -1
- data/vendor/libgit2/src/merge.c +44 -58
- data/vendor/libgit2/src/merge_driver.c +4 -4
- data/vendor/libgit2/src/merge_file.c +1 -1
- data/vendor/libgit2/src/mwindow.c +23 -18
- data/vendor/libgit2/src/mwindow.h +4 -4
- data/vendor/libgit2/src/netops.c +165 -55
- data/vendor/libgit2/src/netops.h +25 -3
- data/vendor/libgit2/src/notes.c +2 -2
- data/vendor/libgit2/src/object.c +2 -2
- data/vendor/libgit2/src/object.h +0 -2
- data/vendor/libgit2/src/odb.c +23 -41
- data/vendor/libgit2/src/odb.h +2 -3
- data/vendor/libgit2/src/odb_loose.c +10 -17
- data/vendor/libgit2/src/odb_mempack.c +23 -10
- data/vendor/libgit2/src/odb_pack.c +4 -4
- data/vendor/libgit2/src/offmap.c +55 -43
- data/vendor/libgit2/src/offmap.h +24 -102
- data/vendor/libgit2/src/oid.c +1 -6
- data/vendor/libgit2/src/oidmap.c +57 -39
- data/vendor/libgit2/src/oidmap.h +19 -99
- data/vendor/libgit2/src/pack-objects.c +32 -25
- data/vendor/libgit2/src/pack-objects.h +1 -1
- data/vendor/libgit2/src/pack.c +47 -45
- data/vendor/libgit2/src/pack.h +14 -12
- data/vendor/libgit2/src/parse.c +0 -10
- data/vendor/libgit2/src/parse.h +3 -3
- data/vendor/libgit2/src/patch.c +1 -1
- data/vendor/libgit2/src/patch_generate.c +2 -2
- data/vendor/libgit2/src/patch_parse.c +31 -124
- data/vendor/libgit2/src/path.c +6 -43
- data/vendor/libgit2/src/path.h +0 -2
- data/vendor/libgit2/src/pathspec.c +13 -13
- data/vendor/libgit2/src/pool.c +22 -26
- data/vendor/libgit2/src/pool.h +7 -7
- data/vendor/libgit2/src/posix.c +7 -7
- data/vendor/libgit2/src/posix.h +1 -12
- data/vendor/libgit2/src/proxy.c +2 -7
- data/vendor/libgit2/src/push.c +5 -10
- data/vendor/libgit2/src/reader.c +2 -2
- data/vendor/libgit2/src/rebase.c +7 -66
- data/vendor/libgit2/src/refdb.c +0 -12
- data/vendor/libgit2/src/refdb_fs.c +165 -214
- data/vendor/libgit2/src/reflog.c +13 -11
- data/vendor/libgit2/src/refs.c +18 -24
- data/vendor/libgit2/src/refspec.c +16 -9
- data/vendor/libgit2/src/remote.c +52 -50
- data/vendor/libgit2/src/remote.h +2 -2
- data/vendor/libgit2/src/repository.c +100 -115
- data/vendor/libgit2/src/repository.h +40 -49
- data/vendor/libgit2/src/revert.c +3 -8
- data/vendor/libgit2/src/revparse.c +19 -18
- data/vendor/libgit2/src/revwalk.c +30 -63
- data/vendor/libgit2/src/revwalk.h +0 -20
- data/vendor/libgit2/src/settings.c +0 -5
- data/vendor/libgit2/src/sortedcache.c +26 -12
- data/vendor/libgit2/src/sortedcache.h +1 -1
- data/vendor/libgit2/src/stash.c +65 -45
- data/vendor/libgit2/src/status.c +9 -15
- data/vendor/libgit2/src/{allocators/stdalloc.c → stdalloc.c} +4 -3
- data/vendor/libgit2/src/{allocators/stdalloc.h → stdalloc.h} +4 -4
- data/vendor/libgit2/src/streams/openssl.c +0 -20
- data/vendor/libgit2/src/streams/socket.c +2 -2
- data/vendor/libgit2/src/strmap.c +84 -37
- data/vendor/libgit2/src/strmap.h +33 -105
- data/vendor/libgit2/src/submodule.c +70 -102
- data/vendor/libgit2/src/submodule.h +1 -1
- data/vendor/libgit2/src/sysdir.c +1 -11
- data/vendor/libgit2/src/tag.c +2 -10
- data/vendor/libgit2/src/trace.c +1 -1
- data/vendor/libgit2/src/trace.h +2 -2
- data/vendor/libgit2/src/trailer.c +32 -46
- data/vendor/libgit2/src/transaction.c +9 -10
- data/vendor/libgit2/src/transports/auth.c +9 -10
- data/vendor/libgit2/src/transports/auth.h +4 -11
- data/vendor/libgit2/src/transports/auth_negotiate.c +9 -23
- data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
- data/vendor/libgit2/src/transports/cred.c +6 -6
- data/vendor/libgit2/src/{allocators/win32_crtdbg.h → transports/cred.h} +4 -5
- data/vendor/libgit2/src/transports/git.c +16 -11
- data/vendor/libgit2/src/transports/http.c +276 -419
- data/vendor/libgit2/src/transports/http.h +1 -1
- data/vendor/libgit2/src/transports/local.c +9 -9
- data/vendor/libgit2/src/transports/smart.c +17 -17
- data/vendor/libgit2/src/transports/smart.h +2 -2
- data/vendor/libgit2/src/transports/smart_protocol.c +60 -36
- data/vendor/libgit2/src/transports/ssh.c +36 -46
- data/vendor/libgit2/src/transports/winhttp.c +207 -231
- data/vendor/libgit2/src/tree-cache.c +7 -14
- data/vendor/libgit2/src/tree.c +24 -10
- data/vendor/libgit2/src/unix/map.c +1 -1
- data/vendor/libgit2/src/unix/posix.h +11 -1
- data/vendor/libgit2/src/userdiff.h +1 -3
- data/vendor/libgit2/src/util.c +53 -51
- data/vendor/libgit2/src/util.h +21 -16
- data/vendor/libgit2/src/win32/map.c +5 -3
- data/vendor/libgit2/src/win32/path_w32.c +2 -12
- data/vendor/libgit2/src/win32/path_w32.h +29 -0
- data/vendor/libgit2/src/win32/posix.h +4 -1
- data/vendor/libgit2/src/win32/posix_w32.c +5 -40
- data/vendor/libgit2/src/win32/precompiled.h +2 -0
- data/vendor/libgit2/src/win32/thread.c +10 -5
- data/vendor/libgit2/src/win32/w32_buffer.c +3 -7
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +93 -0
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +2 -0
- data/vendor/libgit2/src/win32/w32_stack.c +9 -4
- data/vendor/libgit2/src/win32/w32_stack.h +3 -3
- data/vendor/libgit2/src/win32/w32_util.c +0 -31
- data/vendor/libgit2/src/win32/w32_util.h +32 -6
- data/vendor/libgit2/src/worktree.c +22 -36
- data/vendor/libgit2/src/xdiff/xdiffi.c +1 -1
- data/vendor/libgit2/src/xdiff/xmerge.c +0 -12
- data/vendor/libgit2/src/xdiff/xpatience.c +0 -3
- metadata +34 -98
- data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +0 -28
- data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +0 -38
- data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +0 -37
- data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +0 -110
- data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +0 -53
- data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +0 -124
- data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +0 -66
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +0 -21
- data/vendor/libgit2/deps/ntlmclient/compat.h +0 -33
- data/vendor/libgit2/deps/ntlmclient/crypt.h +0 -64
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +0 -120
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +0 -18
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -145
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +0 -18
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +0 -130
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +0 -21
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +0 -1420
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +0 -174
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +0 -320
- data/vendor/libgit2/deps/ntlmclient/unicode.h +0 -36
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +0 -445
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +0 -201
- data/vendor/libgit2/deps/ntlmclient/utf8.h +0 -1257
- data/vendor/libgit2/deps/ntlmclient/util.c +0 -21
- data/vendor/libgit2/deps/ntlmclient/util.h +0 -14
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +0 -140
- data/vendor/libgit2/deps/pcre/COPYING +0 -5
- data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +0 -22
- data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +0 -17
- data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +0 -58
- data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +0 -29
- data/vendor/libgit2/deps/pcre/config.h.in +0 -57
- data/vendor/libgit2/deps/pcre/pcre.h +0 -641
- data/vendor/libgit2/deps/pcre/pcre_byte_order.c +0 -319
- data/vendor/libgit2/deps/pcre/pcre_chartables.c +0 -198
- data/vendor/libgit2/deps/pcre/pcre_compile.c +0 -9800
- data/vendor/libgit2/deps/pcre/pcre_config.c +0 -190
- data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +0 -3676
- data/vendor/libgit2/deps/pcre/pcre_exec.c +0 -7173
- data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +0 -245
- data/vendor/libgit2/deps/pcre/pcre_get.c +0 -669
- data/vendor/libgit2/deps/pcre/pcre_globals.c +0 -86
- data/vendor/libgit2/deps/pcre/pcre_internal.h +0 -2787
- data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +0 -11913
- data/vendor/libgit2/deps/pcre/pcre_maketables.c +0 -156
- data/vendor/libgit2/deps/pcre/pcre_newline.c +0 -210
- data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +0 -94
- data/vendor/libgit2/deps/pcre/pcre_printint.c +0 -834
- data/vendor/libgit2/deps/pcre/pcre_refcount.c +0 -92
- data/vendor/libgit2/deps/pcre/pcre_string_utils.c +0 -211
- data/vendor/libgit2/deps/pcre/pcre_study.c +0 -1686
- data/vendor/libgit2/deps/pcre/pcre_tables.c +0 -727
- data/vendor/libgit2/deps/pcre/pcre_ucd.c +0 -3644
- data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +0 -301
- data/vendor/libgit2/deps/pcre/pcre_version.c +0 -98
- data/vendor/libgit2/deps/pcre/pcre_xclass.c +0 -268
- data/vendor/libgit2/deps/pcre/pcreposix.c +0 -421
- data/vendor/libgit2/deps/pcre/pcreposix.h +0 -117
- data/vendor/libgit2/deps/pcre/ucp.h +0 -224
- data/vendor/libgit2/include/git2/cert.h +0 -135
- data/vendor/libgit2/include/git2/cred.h +0 -308
- data/vendor/libgit2/include/git2/sys/cred.h +0 -90
- data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
- data/vendor/libgit2/src/config_snapshot.c +0 -206
- data/vendor/libgit2/src/errors.h +0 -81
- data/vendor/libgit2/src/hash/sha1.h +0 -38
- data/vendor/libgit2/src/hash/sha1/collisiondetect.h +0 -19
- data/vendor/libgit2/src/hash/sha1/common_crypto.h +0 -19
- data/vendor/libgit2/src/hash/sha1/openssl.h +0 -19
- data/vendor/libgit2/src/net.c +0 -184
- data/vendor/libgit2/src/net.h +0 -36
- data/vendor/libgit2/src/regexp.c +0 -221
- data/vendor/libgit2/src/regexp.h +0 -97
- data/vendor/libgit2/src/transports/auth_ntlm.c +0 -223
- data/vendor/libgit2/src/transports/auth_ntlm.h +0 -35
- data/vendor/libgit2/src/wildmatch.c +0 -320
- data/vendor/libgit2/src/wildmatch.h +0 -23
- data/vendor/libgit2/src/win32/w32_common.h +0 -39
|
@@ -267,7 +267,7 @@ GIT_EXTERN(void) git_treebuilder_clear(git_treebuilder *bld);
|
|
|
267
267
|
* @param bld a previously loaded treebuilder.
|
|
268
268
|
* @return the number of entries in the treebuilder
|
|
269
269
|
*/
|
|
270
|
-
GIT_EXTERN(
|
|
270
|
+
GIT_EXTERN(unsigned int) git_treebuilder_entrycount(git_treebuilder *bld);
|
|
271
271
|
|
|
272
272
|
/**
|
|
273
273
|
* Free a tree builder
|
|
@@ -63,9 +63,6 @@ typedef int64_t git_time_t; /**< time in seconds from epoch */
|
|
|
63
63
|
|
|
64
64
|
#endif
|
|
65
65
|
|
|
66
|
-
/** The maximum size of an object */
|
|
67
|
-
typedef uint64_t git_object_size_t;
|
|
68
|
-
|
|
69
66
|
#include "buffer.h"
|
|
70
67
|
#include "oid.h"
|
|
71
68
|
|
|
@@ -247,10 +244,98 @@ typedef struct git_push git_push;
|
|
|
247
244
|
typedef struct git_remote_head git_remote_head;
|
|
248
245
|
typedef struct git_remote_callbacks git_remote_callbacks;
|
|
249
246
|
|
|
247
|
+
/**
|
|
248
|
+
* This is passed as the first argument to the callback to allow the
|
|
249
|
+
* user to see the progress.
|
|
250
|
+
*
|
|
251
|
+
* - total_objects: number of objects in the packfile being downloaded
|
|
252
|
+
* - indexed_objects: received objects that have been hashed
|
|
253
|
+
* - received_objects: objects which have been downloaded
|
|
254
|
+
* - local_objects: locally-available objects that have been injected
|
|
255
|
+
* in order to fix a thin pack.
|
|
256
|
+
* - received-bytes: size of the packfile received up to now
|
|
257
|
+
*/
|
|
258
|
+
typedef struct git_transfer_progress {
|
|
259
|
+
unsigned int total_objects;
|
|
260
|
+
unsigned int indexed_objects;
|
|
261
|
+
unsigned int received_objects;
|
|
262
|
+
unsigned int local_objects;
|
|
263
|
+
unsigned int total_deltas;
|
|
264
|
+
unsigned int indexed_deltas;
|
|
265
|
+
size_t received_bytes;
|
|
266
|
+
} git_transfer_progress;
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Type for progress callbacks during indexing. Return a value less than zero
|
|
270
|
+
* to cancel the transfer.
|
|
271
|
+
*
|
|
272
|
+
* @param stats Structure containing information about the state of the transfer
|
|
273
|
+
* @param payload Payload provided by caller
|
|
274
|
+
*/
|
|
275
|
+
typedef int GIT_CALLBACK(git_transfer_progress_cb)(const git_transfer_progress *stats, void *payload);
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Type for messages delivered by the transport. Return a negative value
|
|
279
|
+
* to cancel the network operation.
|
|
280
|
+
*
|
|
281
|
+
* @param str The message from the transport
|
|
282
|
+
* @param len The length of the message
|
|
283
|
+
* @param payload Payload provided by the caller
|
|
284
|
+
*/
|
|
285
|
+
typedef int GIT_CALLBACK(git_transport_message_cb)(const char *str, int len, void *payload);
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Type of host certificate structure that is passed to the check callback
|
|
290
|
+
*/
|
|
291
|
+
typedef enum git_cert_t {
|
|
292
|
+
/**
|
|
293
|
+
* No information about the certificate is available. This may
|
|
294
|
+
* happen when using curl.
|
|
295
|
+
*/
|
|
296
|
+
GIT_CERT_NONE,
|
|
297
|
+
/**
|
|
298
|
+
* The `data` argument to the callback will be a pointer to
|
|
299
|
+
* the DER-encoded data.
|
|
300
|
+
*/
|
|
301
|
+
GIT_CERT_X509,
|
|
302
|
+
/**
|
|
303
|
+
* The `data` argument to the callback will be a pointer to a
|
|
304
|
+
* `git_cert_hostkey` structure.
|
|
305
|
+
*/
|
|
306
|
+
GIT_CERT_HOSTKEY_LIBSSH2,
|
|
307
|
+
/**
|
|
308
|
+
* The `data` argument to the callback will be a pointer to a
|
|
309
|
+
* `git_strarray` with `name:content` strings containing
|
|
310
|
+
* information about the certificate. This is used when using
|
|
311
|
+
* curl.
|
|
312
|
+
*/
|
|
313
|
+
GIT_CERT_STRARRAY,
|
|
314
|
+
} git_cert_t;
|
|
315
|
+
|
|
250
316
|
/**
|
|
251
317
|
* Parent type for `git_cert_hostkey` and `git_cert_x509`.
|
|
252
318
|
*/
|
|
253
|
-
typedef struct
|
|
319
|
+
typedef struct {
|
|
320
|
+
/**
|
|
321
|
+
* Type of certificate. A `GIT_CERT_` value.
|
|
322
|
+
*/
|
|
323
|
+
git_cert_t cert_type;
|
|
324
|
+
} git_cert;
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* Callback for the user's custom certificate checks.
|
|
328
|
+
*
|
|
329
|
+
* @param cert The host certificate
|
|
330
|
+
* @param valid Whether the libgit2 checks (OpenSSL or WinHTTP) think
|
|
331
|
+
* this certificate is valid
|
|
332
|
+
* @param host Hostname of the host libgit2 connected to
|
|
333
|
+
* @param payload Payload provided by the caller
|
|
334
|
+
* @return 0 to proceed with the connection, < 0 to fail the connection
|
|
335
|
+
* or > 0 to indicate that the callback refused to act and that
|
|
336
|
+
* the existing validity determination should be honored
|
|
337
|
+
*/
|
|
338
|
+
typedef int GIT_CALLBACK(git_transport_certificate_check_cb)(git_cert *cert, int valid, const char *host, void *payload);
|
|
254
339
|
|
|
255
340
|
/**
|
|
256
341
|
* Opaque structure representing a submodule.
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
#ifndef INCLUDE_git_version_h__
|
|
8
8
|
#define INCLUDE_git_version_h__
|
|
9
9
|
|
|
10
|
-
#define LIBGIT2_VERSION "0.28.
|
|
10
|
+
#define LIBGIT2_VERSION "0.28.4"
|
|
11
11
|
#define LIBGIT2_VER_MAJOR 0
|
|
12
12
|
#define LIBGIT2_VER_MINOR 28
|
|
13
|
-
#define LIBGIT2_VER_REVISION
|
|
13
|
+
#define LIBGIT2_VER_REVISION 4
|
|
14
14
|
#define LIBGIT2_VER_PATCH 0
|
|
15
15
|
|
|
16
16
|
#define LIBGIT2_SOVERSION 28
|
|
@@ -78,7 +78,7 @@ GIT_EXTERN(int) git_worktree_validate(const git_worktree *wt);
|
|
|
78
78
|
* Worktree add options structure
|
|
79
79
|
*
|
|
80
80
|
* Initialize with `GIT_WORKTREE_ADD_OPTIONS_INIT`. Alternatively, you can
|
|
81
|
-
* use `
|
|
81
|
+
* use `git_worktree_add_init_options`.
|
|
82
82
|
*
|
|
83
83
|
*/
|
|
84
84
|
typedef struct git_worktree_add_options {
|
|
@@ -101,7 +101,7 @@ typedef struct git_worktree_add_options {
|
|
|
101
101
|
* @param version The struct version; pass `GIT_WORKTREE_ADD_OPTIONS_VERSION`.
|
|
102
102
|
* @return Zero on success; -1 on failure.
|
|
103
103
|
*/
|
|
104
|
-
GIT_EXTERN(int)
|
|
104
|
+
GIT_EXTERN(int) git_worktree_add_init_options(git_worktree_add_options *opts,
|
|
105
105
|
unsigned int version);
|
|
106
106
|
|
|
107
107
|
/**
|
|
@@ -174,7 +174,7 @@ GIT_EXTERN(const char *) git_worktree_name(const git_worktree *wt);
|
|
|
174
174
|
* is valid for the lifetime of the git_worktree.
|
|
175
175
|
*/
|
|
176
176
|
GIT_EXTERN(const char *) git_worktree_path(const git_worktree *wt);
|
|
177
|
-
|
|
177
|
+
|
|
178
178
|
/**
|
|
179
179
|
* Flags which can be passed to git_worktree_prune to alter its
|
|
180
180
|
* behavior.
|
|
@@ -192,7 +192,7 @@ typedef enum {
|
|
|
192
192
|
* Worktree prune options structure
|
|
193
193
|
*
|
|
194
194
|
* Initialize with `GIT_WORKTREE_PRUNE_OPTIONS_INIT`. Alternatively, you can
|
|
195
|
-
* use `
|
|
195
|
+
* use `git_worktree_prune_init_options`.
|
|
196
196
|
*
|
|
197
197
|
*/
|
|
198
198
|
typedef struct git_worktree_prune_options {
|
|
@@ -214,7 +214,7 @@ typedef struct git_worktree_prune_options {
|
|
|
214
214
|
* @param version The struct version; pass `GIT_WORKTREE_PRUNE_OPTIONS_VERSION`.
|
|
215
215
|
* @return Zero on success; -1 on failure.
|
|
216
216
|
*/
|
|
217
|
-
GIT_EXTERN(int)
|
|
217
|
+
GIT_EXTERN(int) git_worktree_prune_init_options(
|
|
218
218
|
git_worktree_prune_options *opts,
|
|
219
219
|
unsigned int version);
|
|
220
220
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
prefix="@PKGCONFIG_PREFIX@"
|
|
2
|
+
libdir=@PKGCONFIG_LIBDIR@
|
|
3
|
+
includedir=@PKGCONFIG_INCLUDEDIR@
|
|
4
|
+
|
|
5
|
+
Name: libgit2
|
|
6
|
+
Description: The git library, take 2
|
|
7
|
+
Version: @LIBGIT2_VERSION_STRING@
|
|
8
|
+
|
|
9
|
+
Libs: -L${libdir} -lgit2
|
|
10
|
+
Libs.private: @LIBGIT2_PC_LIBS@
|
|
11
|
+
Requires.private: @LIBGIT2_PC_REQUIRES@
|
|
12
|
+
|
|
13
|
+
Cflags: -I${includedir}
|
|
@@ -3,8 +3,6 @@ IF(DEBUG_POOL)
|
|
|
3
3
|
ENDIF()
|
|
4
4
|
ADD_FEATURE_INFO(debugpool GIT_DEBUG_POOL "debug pool allocator")
|
|
5
5
|
|
|
6
|
-
INCLUDE(PkgBuildConfig)
|
|
7
|
-
|
|
8
6
|
# This variable will contain the libraries we need to put into
|
|
9
7
|
# libgit2.pc's Requires.private. That is, what we're linking to or
|
|
10
8
|
# what someone who's statically linking us needs to link to.
|
|
@@ -27,12 +25,46 @@ SET(BIN_INSTALL_DIR bin CACHE PATH "Where to install binaries to.")
|
|
|
27
25
|
SET(LIB_INSTALL_DIR lib CACHE PATH "Where to install libraries to.")
|
|
28
26
|
SET(INCLUDE_INSTALL_DIR include CACHE PATH "Where to install headers to.")
|
|
29
27
|
|
|
28
|
+
# Set a couple variables to be substituted inside the .pc file.
|
|
29
|
+
# We can't just use LIB_INSTALL_DIR in the .pc file, as passing them as absolue
|
|
30
|
+
# or relative paths is both valid and supported by cmake.
|
|
31
|
+
SET (PKGCONFIG_PREFIX ${CMAKE_INSTALL_PREFIX})
|
|
32
|
+
|
|
33
|
+
IF(IS_ABSOLUTE ${LIB_INSTALL_DIR})
|
|
34
|
+
SET (PKGCONFIG_LIBDIR ${LIB_INSTALL_DIR})
|
|
35
|
+
ELSE(IS_ABSOLUTE ${LIB_INSTALL_DIR})
|
|
36
|
+
SET (PKGCONFIG_LIBDIR "\${prefix}/${LIB_INSTALL_DIR}")
|
|
37
|
+
ENDIF (IS_ABSOLUTE ${LIB_INSTALL_DIR})
|
|
38
|
+
|
|
39
|
+
IF(IS_ABSOLUTE ${INCLUDE_INSTALL_DIR})
|
|
40
|
+
SET (PKGCONFIG_INCLUDEDIR ${INCLUDE_INSTALL_DIR})
|
|
41
|
+
ELSE(IS_ABSOLUTE ${INCLUDE_INSTALL_DIR})
|
|
42
|
+
SET (PKGCONFIG_INCLUDEDIR "\${prefix}/${INCLUDE_INSTALL_DIR}")
|
|
43
|
+
ENDIF(IS_ABSOLUTE ${INCLUDE_INSTALL_DIR})
|
|
44
|
+
|
|
30
45
|
# Enable tracing
|
|
31
46
|
IF (ENABLE_TRACE STREQUAL "ON")
|
|
32
47
|
SET(GIT_TRACE 1)
|
|
33
48
|
ENDIF()
|
|
34
49
|
ADD_FEATURE_INFO(tracing GIT_TRACE "tracing support")
|
|
35
50
|
|
|
51
|
+
# Use `regcomp_l` if available
|
|
52
|
+
CHECK_SYMBOL_EXISTS(regcomp_l "regex.h;xlocale.h" HAVE_REGCOMP_L)
|
|
53
|
+
IF (HAVE_REGCOMP_L)
|
|
54
|
+
SET(GIT_USE_REGCOMP_L 1)
|
|
55
|
+
ENDIF ()
|
|
56
|
+
|
|
57
|
+
# Otherwise, we either want to use system's `regcomp` or our
|
|
58
|
+
# bundled regcomp code, if system doesn't provide `regcomp`.
|
|
59
|
+
IF(NOT HAVE_REGCOMP_L)
|
|
60
|
+
CHECK_FUNCTION_EXISTS(regcomp HAVE_REGCOMP)
|
|
61
|
+
IF(NOT HAVE_REGCOMP)
|
|
62
|
+
ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/regex" "${libgit2_BINARY_DIR}/deps/regex")
|
|
63
|
+
LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/regex")
|
|
64
|
+
LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:regex>)
|
|
65
|
+
ENDIF()
|
|
66
|
+
ENDIF()
|
|
67
|
+
|
|
36
68
|
CHECK_FUNCTION_EXISTS(futimens HAVE_FUTIMENS)
|
|
37
69
|
IF (HAVE_FUTIMENS)
|
|
38
70
|
SET(GIT_USE_FUTIMENS 1)
|
|
@@ -107,73 +139,180 @@ IF (WIN32 AND WINHTTP)
|
|
|
107
139
|
LIST(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32")
|
|
108
140
|
ENDIF()
|
|
109
141
|
|
|
110
|
-
|
|
111
|
-
|
|
142
|
+
IF (USE_HTTPS)
|
|
143
|
+
# We try to find any packages our backends might use
|
|
144
|
+
FIND_PACKAGE(OpenSSL)
|
|
145
|
+
FIND_PACKAGE(mbedTLS)
|
|
146
|
+
IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
147
|
+
FIND_PACKAGE(Security)
|
|
148
|
+
FIND_PACKAGE(CoreFoundation)
|
|
149
|
+
ENDIF()
|
|
150
|
+
|
|
151
|
+
# Auto-select TLS backend
|
|
152
|
+
IF (USE_HTTPS STREQUAL ON)
|
|
153
|
+
IF (SECURITY_FOUND)
|
|
154
|
+
IF (SECURITY_HAS_SSLCREATECONTEXT)
|
|
155
|
+
SET(HTTPS_BACKEND "SecureTransport")
|
|
156
|
+
ELSE()
|
|
157
|
+
MESSAGE("-- Security framework is too old, falling back to OpenSSL")
|
|
158
|
+
SET(HTTPS_BACKEND "OpenSSL")
|
|
159
|
+
ENDIF()
|
|
160
|
+
ELSEIF (WINHTTP)
|
|
161
|
+
SET(HTTPS_BACKEND "WinHTTP")
|
|
162
|
+
ELSEIF(OPENSSL_FOUND)
|
|
163
|
+
SET(HTTPS_BACKEND "OpenSSL")
|
|
164
|
+
ELSEIF(MBEDTLS_FOUND)
|
|
165
|
+
SET(HTTPS_BACKEND "mbedTLS")
|
|
166
|
+
ELSE()
|
|
167
|
+
MESSAGE(FATAL_ERROR "Unable to autodetect a usable HTTPS backend."
|
|
168
|
+
"Please pass the backend name explicitly (-DUSE_HTTPS=backend)")
|
|
169
|
+
ENDIF()
|
|
170
|
+
ELSE()
|
|
171
|
+
# Backend was explicitly set
|
|
172
|
+
SET(HTTPS_BACKEND ${USE_HTTPS})
|
|
173
|
+
ENDIF()
|
|
174
|
+
|
|
175
|
+
# Check that we can find what's required for the selected backend
|
|
176
|
+
IF (HTTPS_BACKEND STREQUAL "SecureTransport")
|
|
177
|
+
IF (NOT COREFOUNDATION_FOUND)
|
|
178
|
+
MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, CoreFoundation.framework not found")
|
|
179
|
+
ENDIF()
|
|
180
|
+
IF (NOT SECURITY_FOUND)
|
|
181
|
+
MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, Security.framework not found")
|
|
182
|
+
ENDIF()
|
|
183
|
+
IF (NOT SECURITY_HAS_SSLCREATECONTEXT)
|
|
184
|
+
MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, SSLCreateContext not supported")
|
|
185
|
+
ENDIF()
|
|
186
|
+
|
|
187
|
+
SET(GIT_SECURE_TRANSPORT 1)
|
|
188
|
+
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${SECURITY_INCLUDE_DIR})
|
|
189
|
+
LIST(APPEND LIBGIT2_LIBS ${COREFOUNDATION_LIBRARIES} ${SECURITY_LIBRARIES})
|
|
190
|
+
LIST(APPEND LIBGIT2_PC_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS})
|
|
191
|
+
ELSEIF (HTTPS_BACKEND STREQUAL "OpenSSL")
|
|
192
|
+
IF (NOT OPENSSL_FOUND)
|
|
193
|
+
MESSAGE(FATAL_ERROR "Asked for OpenSSL TLS backend, but it wasn't found")
|
|
194
|
+
ENDIF()
|
|
195
|
+
|
|
196
|
+
SET(GIT_OPENSSL 1)
|
|
197
|
+
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${OPENSSL_INCLUDE_DIR})
|
|
198
|
+
LIST(APPEND LIBGIT2_LIBS ${OPENSSL_LIBRARIES})
|
|
199
|
+
LIST(APPEND LIBGIT2_PC_LIBS ${OPENSSL_LDFLAGS})
|
|
200
|
+
LIST(APPEND LIBGIT2_PC_REQUIRES "openssl")
|
|
201
|
+
ELSEIF(HTTPS_BACKEND STREQUAL "mbedTLS")
|
|
202
|
+
IF (NOT MBEDTLS_FOUND)
|
|
203
|
+
MESSAGE(FATAL_ERROR "Asked for mbedTLS backend, but it wasn't found")
|
|
204
|
+
ENDIF()
|
|
112
205
|
|
|
113
|
-
|
|
114
|
-
|
|
206
|
+
IF(NOT CERT_LOCATION)
|
|
207
|
+
MESSAGE("Auto-detecting default certificates location")
|
|
208
|
+
IF(CMAKE_SYSTEM_NAME MATCHES Darwin)
|
|
209
|
+
# Check for an Homebrew installation
|
|
210
|
+
SET(OPENSSL_CMD "/usr/local/opt/openssl/bin/openssl")
|
|
211
|
+
ELSE()
|
|
212
|
+
SET(OPENSSL_CMD "openssl")
|
|
213
|
+
ENDIF()
|
|
214
|
+
EXECUTE_PROCESS(COMMAND ${OPENSSL_CMD} version -d OUTPUT_VARIABLE OPENSSL_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
215
|
+
IF(OPENSSL_DIR)
|
|
216
|
+
STRING(REGEX REPLACE "^OPENSSLDIR: \"(.*)\"$" "\\1/" OPENSSL_DIR ${OPENSSL_DIR})
|
|
217
|
+
|
|
218
|
+
SET(OPENSSL_CA_LOCATIONS
|
|
219
|
+
"ca-bundle.pem" # OpenSUSE Leap 42.1
|
|
220
|
+
"cert.pem" # Ubuntu 14.04, FreeBSD
|
|
221
|
+
"certs/ca-certificates.crt" # Ubuntu 16.04
|
|
222
|
+
"certs/ca.pem" # Debian 7
|
|
223
|
+
)
|
|
224
|
+
FOREACH(SUFFIX IN LISTS OPENSSL_CA_LOCATIONS)
|
|
225
|
+
SET(LOC "${OPENSSL_DIR}${SUFFIX}")
|
|
226
|
+
IF(NOT CERT_LOCATION AND EXISTS "${OPENSSL_DIR}${SUFFIX}")
|
|
227
|
+
SET(CERT_LOCATION ${LOC})
|
|
228
|
+
ENDIF()
|
|
229
|
+
ENDFOREACH()
|
|
230
|
+
ELSE()
|
|
231
|
+
MESSAGE("Unable to find OpenSSL executable. Please provide default certificate location via CERT_LOCATION")
|
|
232
|
+
ENDIF()
|
|
233
|
+
ENDIF()
|
|
115
234
|
|
|
116
|
-
IF(
|
|
117
|
-
|
|
235
|
+
IF(CERT_LOCATION)
|
|
236
|
+
IF(NOT EXISTS ${CERT_LOCATION})
|
|
237
|
+
MESSAGE(FATAL_ERROR "Cannot use CERT_LOCATION=${CERT_LOCATION} as it doesn't exist")
|
|
238
|
+
ENDIF()
|
|
239
|
+
ADD_FEATURE_INFO(CERT_LOCATION ON "using certificates from ${CERT_LOCATION}")
|
|
240
|
+
ADD_DEFINITIONS(-DGIT_DEFAULT_CERT_LOCATION="${CERT_LOCATION}")
|
|
241
|
+
ENDIF()
|
|
118
242
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
243
|
+
SET(GIT_MBEDTLS 1)
|
|
244
|
+
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
|
|
245
|
+
LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
|
|
246
|
+
# mbedTLS has no pkgconfig file, hence we can't require it
|
|
247
|
+
# https://github.com/ARMmbed/mbedtls/issues/228
|
|
248
|
+
# For now, pass its link flags as our own
|
|
249
|
+
LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
|
|
250
|
+
ELSEIF (HTTPS_BACKEND STREQUAL "WinHTTP")
|
|
251
|
+
# WinHTTP setup was handled in the WinHTTP-specific block above
|
|
123
252
|
ELSE()
|
|
124
|
-
|
|
253
|
+
MESSAGE(FATAL_ERROR "Asked for backend ${HTTPS_BACKEND} but it wasn't found")
|
|
125
254
|
ENDIF()
|
|
126
|
-
ENDIF()
|
|
127
255
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
256
|
+
ADD_FEATURE_INFO(HTTPS ON "using ${HTTPS_BACKEND}")
|
|
257
|
+
SET(GIT_HTTPS 1)
|
|
258
|
+
ELSE()
|
|
259
|
+
ADD_FEATURE_INFO(HTTPS OFF "no support")
|
|
260
|
+
ENDIF()
|
|
133
261
|
|
|
134
|
-
|
|
135
|
-
|
|
262
|
+
# Specify sha1 implementation
|
|
263
|
+
IF(SHA1_BACKEND STREQUAL "OpenSSL")
|
|
264
|
+
IF(NOT OPENSSL_FOUND)
|
|
265
|
+
FIND_PACKAGE(OpenSSL)
|
|
266
|
+
IF(NOT OPENSSL_FOUND)
|
|
267
|
+
MESSAGE(FATAL_ERROR "Requested OpenSSL SHA1 backend, but OpenSSL could not be found")
|
|
268
|
+
ENDIF()
|
|
136
269
|
ENDIF()
|
|
137
270
|
|
|
138
|
-
ADD_FEATURE_INFO(
|
|
139
|
-
SET(
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
271
|
+
ADD_FEATURE_INFO(SHA ON "using OpenSSL")
|
|
272
|
+
SET(GIT_SHA1_OPENSSL 1)
|
|
273
|
+
IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
|
274
|
+
LIST(APPEND LIBGIT2_PC_LIBS "-lssl")
|
|
275
|
+
ELSE()
|
|
276
|
+
LIST(APPEND LIBGIT2_PC_REQUIRES "openssl")
|
|
277
|
+
ENDIF()
|
|
278
|
+
ELSEIF(SHA1_BACKEND STREQUAL "CollisionDetection")
|
|
279
|
+
ADD_FEATURE_INFO(SHA ON "using CollisionDetection")
|
|
280
|
+
SET(GIT_SHA1_COLLISIONDETECT 1)
|
|
281
|
+
ADD_DEFINITIONS(-DSHA1DC_NO_STANDARD_INCLUDES=1)
|
|
282
|
+
ADD_DEFINITIONS(-DSHA1DC_CUSTOM_INCLUDE_SHA1_C=\"common.h\")
|
|
283
|
+
ADD_DEFINITIONS(-DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C=\"common.h\")
|
|
284
|
+
FILE(GLOB SRC_SHA1 hash/hash_collisiondetect.c hash/sha1dc/*)
|
|
285
|
+
ELSEIF(SHA1_BACKEND STREQUAL "Generic")
|
|
286
|
+
ADD_FEATURE_INFO(SHA ON "using Generic")
|
|
287
|
+
FILE(GLOB SRC_SHA1 hash/hash_generic.c)
|
|
288
|
+
ELSEIF(SHA1_BACKEND STREQUAL "Win32")
|
|
289
|
+
ADD_FEATURE_INFO(SHA ON "using Win32")
|
|
290
|
+
SET(GIT_SHA1_WIN32 1)
|
|
291
|
+
FILE(GLOB SRC_SHA1 hash/hash_win32.c)
|
|
292
|
+
ELSEIF(SHA1_BACKEND STREQUAL "CommonCrypto")
|
|
293
|
+
ADD_FEATURE_INFO(SHA ON "using CommonCrypto")
|
|
294
|
+
SET(GIT_SHA1_COMMON_CRYPTO 1)
|
|
295
|
+
ELSEIF (SHA1_BACKEND STREQUAL "mbedTLS")
|
|
296
|
+
ADD_FEATURE_INFO(SHA ON "using mbedTLS")
|
|
297
|
+
SET(GIT_SHA1_MBEDTLS 1)
|
|
298
|
+
FILE(GLOB SRC_SHA1 hash/hash_mbedtls.c)
|
|
299
|
+
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
|
|
300
|
+
LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
|
|
301
|
+
# mbedTLS has no pkgconfig file, hence we can't require it
|
|
302
|
+
# https://github.com/ARMmbed/mbedtls/issues/228
|
|
303
|
+
# For now, pass its link flags as our own
|
|
304
|
+
LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
|
|
161
305
|
ELSE()
|
|
162
|
-
MESSAGE(FATAL_ERROR "
|
|
306
|
+
MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend ${SHA1_BACKEND}")
|
|
163
307
|
ENDIF()
|
|
164
308
|
|
|
165
309
|
# Optional external dependency: http-parser
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
LIST(APPEND LIBGIT2_PC_LIBS "-lhttp_parser")
|
|
173
|
-
ADD_FEATURE_INFO(http-parser ON "http-parser support (system)")
|
|
174
|
-
ELSE()
|
|
175
|
-
MESSAGE(FATAL_ERROR "http-parser support was requested but not found")
|
|
176
|
-
ENDIF()
|
|
310
|
+
FIND_PACKAGE(HTTP_Parser)
|
|
311
|
+
IF (USE_EXT_HTTP_PARSER AND HTTP_PARSER_FOUND AND HTTP_PARSER_VERSION_MAJOR EQUAL 2)
|
|
312
|
+
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${HTTP_PARSER_INCLUDE_DIRS})
|
|
313
|
+
LIST(APPEND LIBGIT2_LIBS ${HTTP_PARSER_LIBRARIES})
|
|
314
|
+
LIST(APPEND LIBGIT2_PC_LIBS "-lhttp_parser")
|
|
315
|
+
ADD_FEATURE_INFO(http-parser ON "http-parser support")
|
|
177
316
|
ELSE()
|
|
178
317
|
MESSAGE(STATUS "http-parser version 2 was not found or disabled; using bundled 3rd-party sources.")
|
|
179
318
|
ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/http-parser" "${libgit2_BINARY_DIR}/deps/http-parser")
|
|
@@ -189,6 +328,7 @@ IF(NOT USE_BUNDLED_ZLIB)
|
|
|
189
328
|
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${ZLIB_INCLUDE_DIRS})
|
|
190
329
|
LIST(APPEND LIBGIT2_LIBS ${ZLIB_LIBRARIES})
|
|
191
330
|
IF(APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
|
331
|
+
LIST(APPEND LIBGIT2_LIBS "z")
|
|
192
332
|
LIST(APPEND LIBGIT2_PC_LIBS "-lz")
|
|
193
333
|
ELSE()
|
|
194
334
|
LIST(APPEND LIBGIT2_PC_REQUIRES "zlib")
|
|
@@ -224,18 +364,15 @@ ELSE()
|
|
|
224
364
|
ENDIF()
|
|
225
365
|
ADD_FEATURE_INFO(SSH GIT_SSH "SSH transport support")
|
|
226
366
|
|
|
227
|
-
# Optional external dependency:
|
|
228
|
-
IF (
|
|
229
|
-
|
|
230
|
-
ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/ntlmclient" "${libgit2_BINARY_DIR}/deps/ntlmclient")
|
|
231
|
-
LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/ntlmclient")
|
|
232
|
-
LIST(APPEND LIBGIT2_OBJECTS "$<TARGET_OBJECTS:ntlmclient>")
|
|
367
|
+
# Optional external dependency: libgssapi
|
|
368
|
+
IF (USE_GSSAPI)
|
|
369
|
+
FIND_PACKAGE(GSSAPI)
|
|
233
370
|
ENDIF()
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
371
|
+
IF (GSSAPI_FOUND)
|
|
372
|
+
SET(GIT_GSSAPI 1)
|
|
373
|
+
LIST(APPEND LIBGIT2_LIBS ${GSSAPI_LIBRARIES})
|
|
374
|
+
ENDIF()
|
|
375
|
+
ADD_FEATURE_INFO(SPNEGO GIT_GSSAPI "SPNEGO authentication support")
|
|
239
376
|
|
|
240
377
|
# Optional external dependency: iconv
|
|
241
378
|
IF (USE_ICONV)
|
|
@@ -280,6 +417,8 @@ FILE(GLOB SRC_H
|
|
|
280
417
|
|
|
281
418
|
# On Windows use specific platform sources
|
|
282
419
|
IF (WIN32 AND NOT CYGWIN)
|
|
420
|
+
ADD_DEFINITIONS(-DWIN32 -D_WIN32_WINNT=0x0600)
|
|
421
|
+
|
|
283
422
|
IF(MSVC)
|
|
284
423
|
SET(WIN_RC "win32/git2.rc")
|
|
285
424
|
ENDIF()
|
|
@@ -288,27 +427,16 @@ IF (WIN32 AND NOT CYGWIN)
|
|
|
288
427
|
ELSEIF (AMIGA)
|
|
289
428
|
ADD_DEFINITIONS(-DNO_ADDRINFO -DNO_READDIR_R -DNO_MMAP)
|
|
290
429
|
ELSE()
|
|
291
|
-
ADD_FEATURE_INFO(valgrind VALGRIND "valgrind hints")
|
|
292
430
|
IF (VALGRIND)
|
|
293
|
-
ADD_DEFINITIONS(-
|
|
431
|
+
ADD_DEFINITIONS(-DNO_MMAP)
|
|
294
432
|
ENDIF()
|
|
295
|
-
|
|
296
433
|
FILE(GLOB SRC_OS unix/*.c unix/*.h)
|
|
297
434
|
ENDIF()
|
|
298
|
-
|
|
299
435
|
FILE(GLOB SRC_GIT2 *.c *.h
|
|
300
|
-
allocators/*.c allocators/*.h
|
|
301
436
|
streams/*.c streams/*.h
|
|
302
437
|
transports/*.c transports/*.h
|
|
303
438
|
xdiff/*.c xdiff/*.h)
|
|
304
439
|
|
|
305
|
-
# the xdiff dependency is not (yet) warning-free, disable warnings as
|
|
306
|
-
# errors for the xdiff sources until we've sorted them out
|
|
307
|
-
IF(MSVC)
|
|
308
|
-
SET_SOURCE_FILES_PROPERTIES(xdiff/xdiffi.c PROPERTIES COMPILE_FLAGS -WX-)
|
|
309
|
-
SET_SOURCE_FILES_PROPERTIES(xdiff/xutils.c PROPERTIES COMPILE_FLAGS -WX-)
|
|
310
|
-
ENDIF()
|
|
311
|
-
|
|
312
440
|
# Determine architecture of the machine
|
|
313
441
|
IF (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
314
442
|
SET(GIT_ARCH_64 1)
|
|
@@ -329,8 +457,16 @@ SET_TARGET_PROPERTIES(git2internal PROPERTIES C_STANDARD 90)
|
|
|
329
457
|
IDE_SPLIT_SOURCES(git2internal)
|
|
330
458
|
LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:git2internal>)
|
|
331
459
|
|
|
332
|
-
|
|
333
|
-
|
|
460
|
+
IF (${CMAKE_VERSION} VERSION_LESS 2.8.12)
|
|
461
|
+
INCLUDE_DIRECTORIES(${LIBGIT2_INCLUDES})
|
|
462
|
+
INCLUDE_DIRECTORIES(SYSTEM ${LIBGIT2_SYSTEM_INCLUDES})
|
|
463
|
+
ELSE()
|
|
464
|
+
TARGET_INCLUDE_DIRECTORIES(git2internal
|
|
465
|
+
PRIVATE ${LIBGIT2_INCLUDES}
|
|
466
|
+
PUBLIC ${libgit2_SOURCE_DIR}/include)
|
|
467
|
+
TARGET_INCLUDE_DIRECTORIES(git2internal
|
|
468
|
+
SYSTEM PRIVATE ${LIBGIT2_SYSTEM_INCLUDES})
|
|
469
|
+
ENDIF()
|
|
334
470
|
|
|
335
471
|
SET(LIBGIT2_OBJECTS ${LIBGIT2_OBJECTS} PARENT_SCOPE)
|
|
336
472
|
SET(LIBGIT2_INCLUDES ${LIBGIT2_INCLUDES} PARENT_SCOPE)
|
|
@@ -372,13 +508,10 @@ IF (SONAME)
|
|
|
372
508
|
ENDIF()
|
|
373
509
|
ENDIF()
|
|
374
510
|
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
PRIVATE_LIBS ${LIBGIT2_PC_LIBS}
|
|
380
|
-
REQUIRES ${LIBGIT2_PC_REQUIRES}
|
|
381
|
-
)
|
|
511
|
+
LIST(REMOVE_DUPLICATES LIBGIT2_PC_REQUIRES)
|
|
512
|
+
STRING(REPLACE ";" " " LIBGIT2_PC_REQUIRES "${LIBGIT2_PC_REQUIRES}")
|
|
513
|
+
STRING(REPLACE ";" " " LIBGIT2_PC_LIBS "${LIBGIT2_PC_LIBS}")
|
|
514
|
+
CONFIGURE_FILE(${libgit2_SOURCE_DIR}/libgit2.pc.in ${libgit2_BINARY_DIR}/libgit2.pc @ONLY)
|
|
382
515
|
|
|
383
516
|
IF (MSVC_IDE)
|
|
384
517
|
# Precompiled headers
|
|
@@ -392,5 +525,6 @@ INSTALL(TARGETS git2
|
|
|
392
525
|
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
|
|
393
526
|
ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
|
|
394
527
|
)
|
|
528
|
+
INSTALL(FILES ${libgit2_BINARY_DIR}/libgit2.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig )
|
|
395
529
|
INSTALL(DIRECTORY ${libgit2_SOURCE_DIR}/include/git2 DESTINATION ${INCLUDE_INSTALL_DIR} )
|
|
396
530
|
INSTALL(FILES ${libgit2_SOURCE_DIR}/include/git2.h DESTINATION ${INCLUDE_INSTALL_DIR} )
|