rugged 0.27.10 → 0.27.10.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +0 -1
- data/vendor/libgit2/CMakeLists.txt +54 -98
- data/vendor/libgit2/COPYING +0 -28
- data/vendor/libgit2/cmake/Modules/AddCFlagIfSupported.cmake +1 -15
- data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +8 -9
- 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/CMakeLists.txt +0 -2
- data/vendor/libgit2/deps/http-parser/{COPYING → LICENSE-MIT} +0 -0
- 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/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/CMakeLists.txt +0 -1
- 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 -5
- data/vendor/libgit2/include/git2/annotated_commit.h +0 -9
- data/vendor/libgit2/include/git2/attr.h +20 -38
- data/vendor/libgit2/include/git2/blame.h +25 -42
- data/vendor/libgit2/include/git2/blob.h +13 -45
- data/vendor/libgit2/include/git2/branch.h +1 -1
- data/vendor/libgit2/include/git2/buffer.h +16 -22
- data/vendor/libgit2/include/git2/checkout.h +32 -65
- data/vendor/libgit2/include/git2/cherrypick.h +7 -9
- data/vendor/libgit2/include/git2/clone.h +10 -12
- data/vendor/libgit2/include/git2/commit.h +3 -53
- data/vendor/libgit2/include/git2/common.h +8 -60
- data/vendor/libgit2/include/git2/config.h +19 -30
- data/vendor/libgit2/include/git2/describe.h +9 -32
- data/vendor/libgit2/include/git2/diff.h +156 -208
- data/vendor/libgit2/include/git2/errors.h +46 -54
- data/vendor/libgit2/include/git2/filter.h +0 -8
- data/vendor/libgit2/include/git2/ignore.h +2 -2
- data/vendor/libgit2/include/git2/index.h +52 -74
- data/vendor/libgit2/include/git2/indexer.h +6 -76
- data/vendor/libgit2/include/git2/inttypes.h +309 -0
- data/vendor/libgit2/include/git2/merge.h +18 -35
- data/vendor/libgit2/include/git2/net.h +5 -0
- data/vendor/libgit2/include/git2/notes.h +1 -1
- data/vendor/libgit2/include/git2/object.h +29 -17
- data/vendor/libgit2/include/git2/odb.h +11 -12
- data/vendor/libgit2/include/git2/odb_backend.h +9 -10
- data/vendor/libgit2/include/git2/oid.h +2 -2
- data/vendor/libgit2/include/git2/pack.h +3 -14
- data/vendor/libgit2/include/git2/proxy.h +8 -14
- data/vendor/libgit2/include/git2/rebase.h +6 -53
- data/vendor/libgit2/include/git2/refs.h +15 -33
- data/vendor/libgit2/include/git2/refspec.h +0 -17
- data/vendor/libgit2/include/git2/remote.h +24 -123
- data/vendor/libgit2/include/git2/repository.h +39 -76
- data/vendor/libgit2/include/git2/revert.h +4 -6
- data/vendor/libgit2/include/git2/revwalk.h +7 -7
- data/vendor/libgit2/include/git2/signature.h +2 -2
- data/vendor/libgit2/include/git2/stash.h +12 -15
- data/vendor/libgit2/include/git2/status.h +20 -33
- data/vendor/libgit2/include/git2/submodule.h +12 -30
- data/vendor/libgit2/include/git2/sys/commit.h +1 -1
- data/vendor/libgit2/include/git2/sys/config.h +13 -13
- data/vendor/libgit2/include/git2/sys/filter.h +6 -6
- data/vendor/libgit2/include/git2/sys/index.h +0 -3
- data/vendor/libgit2/include/git2/sys/mempack.h +35 -35
- data/vendor/libgit2/include/git2/sys/merge.h +4 -9
- data/vendor/libgit2/include/git2/sys/odb_backend.h +22 -66
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -76
- data/vendor/libgit2/include/git2/sys/repository.h +1 -5
- data/vendor/libgit2/include/git2/sys/stream.h +12 -92
- data/vendor/libgit2/include/git2/sys/time.h +31 -0
- data/vendor/libgit2/include/git2/sys/transport.h +83 -129
- data/vendor/libgit2/include/git2/tag.h +4 -13
- data/vendor/libgit2/include/git2/trace.h +2 -2
- data/vendor/libgit2/include/git2/transaction.h +0 -1
- data/vendor/libgit2/include/git2/transport.h +311 -11
- data/vendor/libgit2/include/git2/tree.h +4 -4
- data/vendor/libgit2/include/git2/types.h +111 -33
- data/vendor/libgit2/include/git2/version.h +4 -4
- data/vendor/libgit2/include/git2/worktree.h +13 -48
- data/vendor/libgit2/libgit2.pc.in +13 -0
- data/vendor/libgit2/src/CMakeLists.txt +164 -96
- data/vendor/libgit2/src/annotated_commit.c +8 -15
- data/vendor/libgit2/src/apply.c +31 -537
- data/vendor/libgit2/src/apply.h +1 -3
- data/vendor/libgit2/src/array.h +2 -2
- data/vendor/libgit2/src/attr.c +75 -81
- data/vendor/libgit2/src/attr_file.c +121 -207
- data/vendor/libgit2/src/attr_file.h +9 -9
- data/vendor/libgit2/src/attrcache.c +53 -51
- data/vendor/libgit2/src/attrcache.h +1 -2
- data/vendor/libgit2/src/blame.c +20 -47
- data/vendor/libgit2/src/blame.h +1 -2
- data/vendor/libgit2/src/blame_git.c +20 -37
- data/vendor/libgit2/src/blob.c +42 -128
- data/vendor/libgit2/src/blob.h +2 -19
- data/vendor/libgit2/src/branch.c +43 -67
- data/vendor/libgit2/src/buf_text.c +6 -7
- data/vendor/libgit2/src/buffer.c +57 -69
- data/vendor/libgit2/src/buffer.h +1 -1
- data/vendor/libgit2/src/cache.c +45 -38
- data/vendor/libgit2/src/cache.h +3 -3
- data/vendor/libgit2/src/cc-compat.h +3 -20
- data/vendor/libgit2/src/checkout.c +90 -109
- data/vendor/libgit2/src/cherrypick.c +9 -15
- data/vendor/libgit2/src/clone.c +27 -49
- data/vendor/libgit2/src/clone.h +0 -4
- data/vendor/libgit2/src/commit.c +49 -117
- data/vendor/libgit2/src/commit.h +0 -7
- data/vendor/libgit2/src/commit_list.c +78 -30
- data/vendor/libgit2/src/commit_list.h +2 -2
- data/vendor/libgit2/src/common.h +91 -27
- data/vendor/libgit2/src/config.c +176 -194
- data/vendor/libgit2/src/config.h +20 -8
- data/vendor/libgit2/src/config_cache.c +35 -41
- data/vendor/libgit2/src/config_file.c +753 -439
- data/vendor/libgit2/src/config_file.h +73 -0
- data/vendor/libgit2/src/config_parse.c +63 -114
- data/vendor/libgit2/src/config_parse.h +16 -17
- data/vendor/libgit2/src/crlf.c +190 -219
- data/vendor/libgit2/src/delta.c +18 -25
- data/vendor/libgit2/src/describe.c +41 -42
- data/vendor/libgit2/src/diff.c +68 -53
- data/vendor/libgit2/src/diff.h +1 -2
- data/vendor/libgit2/src/diff_driver.c +49 -47
- data/vendor/libgit2/src/diff_file.c +17 -19
- data/vendor/libgit2/src/diff_file.h +1 -1
- data/vendor/libgit2/src/diff_generate.c +106 -162
- data/vendor/libgit2/src/diff_generate.h +3 -3
- data/vendor/libgit2/src/diff_parse.c +4 -4
- data/vendor/libgit2/src/diff_print.c +30 -42
- data/vendor/libgit2/src/diff_stats.c +7 -22
- data/vendor/libgit2/src/diff_tform.c +16 -16
- data/vendor/libgit2/src/diff_xdiff.c +3 -15
- data/vendor/libgit2/src/errors.c +39 -51
- data/vendor/libgit2/src/features.h.in +3 -11
- data/vendor/libgit2/src/fetch.c +5 -10
- data/vendor/libgit2/src/fetchhead.c +17 -17
- data/vendor/libgit2/src/filebuf.c +36 -32
- data/vendor/libgit2/src/filebuf.h +2 -2
- data/vendor/libgit2/src/{futils.c → fileops.c} +73 -80
- data/vendor/libgit2/src/{futils.h → fileops.h} +6 -6
- data/vendor/libgit2/src/filter.c +38 -46
- data/vendor/libgit2/src/filter.h +10 -0
- data/vendor/libgit2/src/fnmatch.c +248 -0
- data/vendor/libgit2/src/fnmatch.h +48 -0
- data/vendor/libgit2/src/global.c +63 -48
- data/vendor/libgit2/src/global.h +2 -0
- data/vendor/libgit2/src/hash.c +0 -61
- data/vendor/libgit2/src/hash.h +19 -20
- data/vendor/libgit2/src/hash/hash_collisiondetect.h +47 -0
- data/vendor/libgit2/src/hash/{sha1/common_crypto.c → hash_common_crypto.h} +17 -17
- data/vendor/libgit2/src/hash/{sha1/generic.c → hash_generic.c} +10 -22
- data/vendor/libgit2/src/hash/{sha1/generic.h → hash_generic.h} +10 -4
- data/vendor/libgit2/src/hash/hash_openssl.h +59 -0
- data/vendor/libgit2/src/hash/{sha1/win32.c → hash_win32.c} +37 -47
- 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 +5 -5
- data/vendor/libgit2/src/idxmap.c +61 -107
- data/vendor/libgit2/src/idxmap.h +31 -153
- data/vendor/libgit2/src/ignore.c +47 -43
- data/vendor/libgit2/src/index.c +232 -337
- data/vendor/libgit2/src/index.h +1 -17
- data/vendor/libgit2/src/indexer.c +175 -346
- data/vendor/libgit2/src/integer.h +26 -71
- data/vendor/libgit2/src/iterator.c +70 -142
- data/vendor/libgit2/src/iterator.h +0 -15
- data/vendor/libgit2/src/khash.h +1 -3
- data/vendor/libgit2/src/map.h +1 -1
- data/vendor/libgit2/src/merge.c +100 -144
- data/vendor/libgit2/src/merge_driver.c +11 -11
- data/vendor/libgit2/src/merge_file.c +2 -2
- data/vendor/libgit2/src/mwindow.c +29 -24
- data/vendor/libgit2/src/mwindow.h +4 -4
- data/vendor/libgit2/src/netops.c +156 -55
- data/vendor/libgit2/src/netops.h +23 -3
- data/vendor/libgit2/src/notes.c +11 -16
- data/vendor/libgit2/src/object.c +69 -120
- data/vendor/libgit2/src/object.h +9 -22
- data/vendor/libgit2/src/object_api.c +8 -8
- data/vendor/libgit2/src/odb.c +93 -116
- data/vendor/libgit2/src/odb.h +7 -8
- data/vendor/libgit2/src/odb_loose.c +55 -62
- data/vendor/libgit2/src/odb_mempack.c +34 -21
- data/vendor/libgit2/src/odb_pack.c +14 -18
- data/vendor/libgit2/src/offmap.c +35 -53
- data/vendor/libgit2/src/offmap.h +21 -108
- data/vendor/libgit2/src/oid.c +7 -12
- data/vendor/libgit2/src/oidmap.c +47 -49
- data/vendor/libgit2/src/oidmap.h +24 -101
- data/vendor/libgit2/src/pack-objects.c +87 -88
- data/vendor/libgit2/src/pack-objects.h +8 -2
- data/vendor/libgit2/src/pack.c +101 -99
- data/vendor/libgit2/src/pack.h +19 -17
- data/vendor/libgit2/src/parse.c +0 -10
- data/vendor/libgit2/src/parse.h +3 -3
- data/vendor/libgit2/src/patch.c +4 -4
- data/vendor/libgit2/src/patch_generate.c +20 -20
- data/vendor/libgit2/src/patch_parse.c +63 -151
- data/vendor/libgit2/src/path.c +104 -117
- data/vendor/libgit2/src/path.h +71 -3
- data/vendor/libgit2/src/pathspec.c +19 -19
- data/vendor/libgit2/src/pool.c +22 -26
- data/vendor/libgit2/src/pool.h +7 -7
- data/vendor/libgit2/src/posix.c +10 -10
- data/vendor/libgit2/src/posix.h +1 -12
- data/vendor/libgit2/src/proxy.c +3 -8
- data/vendor/libgit2/src/push.c +31 -37
- data/vendor/libgit2/src/push.h +1 -2
- data/vendor/libgit2/src/rebase.c +59 -115
- data/vendor/libgit2/src/refdb.c +3 -15
- data/vendor/libgit2/src/refdb_fs.c +254 -381
- data/vendor/libgit2/src/reflog.c +15 -13
- data/vendor/libgit2/src/refs.c +88 -118
- data/vendor/libgit2/src/refs.h +3 -5
- data/vendor/libgit2/src/refspec.c +37 -56
- data/vendor/libgit2/src/refspec.h +1 -1
- data/vendor/libgit2/src/remote.c +215 -266
- data/vendor/libgit2/src/remote.h +2 -11
- data/vendor/libgit2/src/repository.c +225 -280
- data/vendor/libgit2/src/repository.h +40 -52
- data/vendor/libgit2/src/reset.c +8 -8
- data/vendor/libgit2/src/revert.c +9 -14
- data/vendor/libgit2/src/revparse.c +48 -47
- data/vendor/libgit2/src/revwalk.c +57 -120
- data/vendor/libgit2/src/revwalk.h +1 -22
- data/vendor/libgit2/src/settings.c +10 -47
- data/vendor/libgit2/src/signature.c +11 -11
- data/vendor/libgit2/src/sortedcache.c +36 -22
- data/vendor/libgit2/src/sortedcache.h +1 -1
- data/vendor/libgit2/src/stash.c +99 -125
- data/vendor/libgit2/src/status.c +22 -28
- data/vendor/libgit2/src/stream.h +2 -17
- data/vendor/libgit2/src/streams/curl.c +385 -0
- data/vendor/libgit2/src/{allocators/stdalloc.h → streams/curl.h} +5 -5
- data/vendor/libgit2/src/streams/openssl.c +114 -224
- data/vendor/libgit2/src/streams/openssl.h +108 -4
- data/vendor/libgit2/src/streams/socket.c +30 -55
- data/vendor/libgit2/src/streams/stransport.c +32 -57
- data/vendor/libgit2/src/streams/stransport.h +0 -5
- data/vendor/libgit2/src/streams/tls.c +19 -50
- data/vendor/libgit2/src/streams/tls.h +4 -12
- data/vendor/libgit2/src/strmap.c +74 -47
- data/vendor/libgit2/src/strmap.h +33 -108
- data/vendor/libgit2/src/submodule.c +216 -272
- data/vendor/libgit2/src/submodule.h +1 -1
- data/vendor/libgit2/src/sysdir.c +19 -29
- data/vendor/libgit2/src/tag.c +28 -41
- data/vendor/libgit2/src/tag.h +1 -2
- data/vendor/libgit2/src/trace.c +2 -2
- data/vendor/libgit2/src/trace.h +3 -3
- data/vendor/libgit2/src/trailer.c +38 -52
- data/vendor/libgit2/src/transaction.c +29 -30
- data/vendor/libgit2/src/transport.c +5 -5
- data/vendor/libgit2/src/transports/auth.c +11 -15
- data/vendor/libgit2/src/transports/auth.h +3 -10
- data/vendor/libgit2/src/transports/auth_negotiate.c +18 -33
- data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
- data/vendor/libgit2/src/transports/cred.c +24 -24
- data/vendor/libgit2/src/{allocators/win32_crtdbg.h → transports/cred.h} +4 -5
- data/vendor/libgit2/src/transports/git.c +31 -26
- data/vendor/libgit2/src/transports/http.c +348 -881
- data/vendor/libgit2/src/transports/http.h +0 -2
- data/vendor/libgit2/src/transports/local.c +35 -35
- data/vendor/libgit2/src/transports/smart.c +47 -70
- data/vendor/libgit2/src/transports/smart.h +4 -3
- data/vendor/libgit2/src/transports/smart_pkt.c +40 -43
- data/vendor/libgit2/src/transports/smart_protocol.c +116 -96
- data/vendor/libgit2/src/transports/ssh.c +66 -77
- data/vendor/libgit2/src/transports/winhttp.c +314 -318
- data/vendor/libgit2/src/tree-cache.c +12 -19
- data/vendor/libgit2/src/tree.c +142 -103
- data/vendor/libgit2/src/tree.h +12 -1
- data/vendor/libgit2/src/unix/map.c +3 -3
- data/vendor/libgit2/src/unix/posix.h +11 -1
- data/vendor/libgit2/src/userdiff.h +1 -3
- data/vendor/libgit2/src/util.c +56 -70
- data/vendor/libgit2/src/util.h +156 -28
- data/vendor/libgit2/src/vector.c +4 -4
- data/vendor/libgit2/src/win32/dir.c +3 -3
- data/vendor/libgit2/src/win32/findfile.c +3 -3
- data/vendor/libgit2/src/win32/map.c +11 -9
- data/vendor/libgit2/src/win32/msvc-compat.h +0 -6
- data/vendor/libgit2/src/win32/path_w32.c +9 -113
- data/vendor/libgit2/src/win32/path_w32.h +29 -18
- data/vendor/libgit2/src/win32/posix.h +4 -1
- data/vendor/libgit2/src/win32/posix_w32.c +45 -70
- 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 +5 -9
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +2 -3
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +75 -26
- data/vendor/libgit2/src/win32/w32_stack.c +11 -6
- data/vendor/libgit2/src/win32/w32_stack.h +3 -3
- data/vendor/libgit2/src/win32/w32_util.c +64 -27
- data/vendor/libgit2/src/win32/w32_util.h +49 -5
- data/vendor/libgit2/src/worktree.c +60 -95
- data/vendor/libgit2/src/worktree.h +0 -2
- data/vendor/libgit2/src/xdiff/xdiffi.c +5 -7
- data/vendor/libgit2/src/xdiff/xhistogram.c +1 -1
- data/vendor/libgit2/src/xdiff/xmerge.c +15 -27
- data/vendor/libgit2/src/xdiff/xpatience.c +0 -3
- data/vendor/libgit2/src/zstream.c +4 -4
- metadata +33 -122
- 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/FindmbedTLS.cmake +0 -93
- 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/deps/winhttp/COPYING.GPL +0 -993
- data/vendor/libgit2/deps/winhttp/COPYING.LGPL +0 -502
- data/vendor/libgit2/deps/zlib/COPYING +0 -27
- data/vendor/libgit2/include/git2/apply.h +0 -149
- data/vendor/libgit2/include/git2/cert.h +0 -135
- data/vendor/libgit2/include/git2/cred.h +0 -308
- data/vendor/libgit2/include/git2/deprecated.h +0 -493
- data/vendor/libgit2/include/git2/mailmap.h +0 -115
- data/vendor/libgit2/include/git2/sys/alloc.h +0 -101
- data/vendor/libgit2/include/git2/sys/cred.h +0 -90
- data/vendor/libgit2/include/git2/sys/path.h +0 -64
- data/vendor/libgit2/src/alloc.c +0 -43
- data/vendor/libgit2/src/alloc.h +0 -40
- data/vendor/libgit2/src/allocators/stdalloc.c +0 -119
- data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
- data/vendor/libgit2/src/config_backend.h +0 -96
- data/vendor/libgit2/src/config_entries.c +0 -229
- data/vendor/libgit2/src/config_entries.h +0 -24
- data/vendor/libgit2/src/config_mem.c +0 -220
- 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.c +0 -48
- 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/mbedtls.c +0 -46
- data/vendor/libgit2/src/hash/sha1/mbedtls.h +0 -19
- data/vendor/libgit2/src/hash/sha1/openssl.c +0 -59
- data/vendor/libgit2/src/hash/sha1/openssl.h +0 -19
- data/vendor/libgit2/src/mailmap.c +0 -485
- data/vendor/libgit2/src/mailmap.h +0 -35
- data/vendor/libgit2/src/net.c +0 -184
- data/vendor/libgit2/src/net.h +0 -36
- data/vendor/libgit2/src/reader.c +0 -265
- data/vendor/libgit2/src/reader.h +0 -107
- data/vendor/libgit2/src/regexp.c +0 -221
- data/vendor/libgit2/src/regexp.h +0 -97
- data/vendor/libgit2/src/streams/mbedtls.c +0 -483
- data/vendor/libgit2/src/streams/mbedtls.h +0 -23
- data/vendor/libgit2/src/streams/registry.c +0 -118
- data/vendor/libgit2/src/streams/registry.h +0 -19
- 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
data/vendor/libgit2/src/buffer.h
CHANGED
@@ -76,7 +76,7 @@ extern char *git_buf_detach(git_buf *buf);
|
|
76
76
|
extern int git_buf_attach(git_buf *buf, char *ptr, size_t asize);
|
77
77
|
|
78
78
|
/* Populates a `git_buf` where the contents are not "owned" by the
|
79
|
-
* buffer, and calls to `
|
79
|
+
* buffer, and calls to `git_buf_free` will not free the given buf.
|
80
80
|
*/
|
81
81
|
extern void git_buf_attach_notowned(
|
82
82
|
git_buf *buf, const char *ptr, size_t size);
|
data/vendor/libgit2/src/cache.c
CHANGED
@@ -20,20 +20,20 @@ ssize_t git_cache__max_storage = (256 * 1024 * 1024);
|
|
20
20
|
git_atomic_ssize git_cache__current_storage = {0};
|
21
21
|
|
22
22
|
static size_t git_cache__max_object_size[8] = {
|
23
|
-
0, /*
|
24
|
-
4096, /*
|
25
|
-
4096, /*
|
26
|
-
0, /*
|
27
|
-
4096, /*
|
28
|
-
0, /*
|
29
|
-
0, /*
|
30
|
-
0 /*
|
23
|
+
0, /* GIT_OBJ__EXT1 */
|
24
|
+
4096, /* GIT_OBJ_COMMIT */
|
25
|
+
4096, /* GIT_OBJ_TREE */
|
26
|
+
0, /* GIT_OBJ_BLOB */
|
27
|
+
4096, /* GIT_OBJ_TAG */
|
28
|
+
0, /* GIT_OBJ__EXT2 */
|
29
|
+
0, /* GIT_OBJ_OFS_DELTA */
|
30
|
+
0 /* GIT_OBJ_REF_DELTA */
|
31
31
|
};
|
32
32
|
|
33
|
-
int git_cache_set_max_object_size(
|
33
|
+
int git_cache_set_max_object_size(git_otype type, size_t size)
|
34
34
|
{
|
35
35
|
if (type < 0 || (size_t)type >= ARRAY_SIZE(git_cache__max_object_size)) {
|
36
|
-
|
36
|
+
giterr_set(GITERR_INVALID, "type out of range");
|
37
37
|
return -1;
|
38
38
|
}
|
39
39
|
|
@@ -65,15 +65,12 @@ void git_cache_dump_stats(git_cache *cache)
|
|
65
65
|
int git_cache_init(git_cache *cache)
|
66
66
|
{
|
67
67
|
memset(cache, 0, sizeof(*cache));
|
68
|
-
|
69
|
-
|
70
|
-
return -1;
|
71
|
-
|
68
|
+
cache->map = git_oidmap_alloc();
|
69
|
+
GITERR_CHECK_ALLOC(cache->map);
|
72
70
|
if (git_rwlock_init(&cache->lock)) {
|
73
|
-
|
71
|
+
giterr_set(GITERR_OS, "failed to initialize cache rwlock");
|
74
72
|
return -1;
|
75
73
|
}
|
76
|
-
|
77
74
|
return 0;
|
78
75
|
}
|
79
76
|
|
@@ -104,7 +101,7 @@ void git_cache_clear(git_cache *cache)
|
|
104
101
|
git_rwlock_wrunlock(&cache->lock);
|
105
102
|
}
|
106
103
|
|
107
|
-
void
|
104
|
+
void git_cache_free(git_cache *cache)
|
108
105
|
{
|
109
106
|
git_cache_clear(cache);
|
110
107
|
git_oidmap_free(cache->map);
|
@@ -115,37 +112,35 @@ void git_cache_dispose(git_cache *cache)
|
|
115
112
|
/* Called with lock */
|
116
113
|
static void cache_evict_entries(git_cache *cache)
|
117
114
|
{
|
118
|
-
|
115
|
+
uint32_t seed = rand();
|
116
|
+
size_t evict_count = 8;
|
119
117
|
ssize_t evicted_memory = 0;
|
120
118
|
|
121
|
-
if (evict_count < 8)
|
122
|
-
evict_count = 8;
|
123
|
-
|
124
119
|
/* do not infinite loop if there's not enough entries to evict */
|
125
120
|
if (evict_count > git_cache_size(cache)) {
|
126
121
|
clear_cache(cache);
|
127
122
|
return;
|
128
123
|
}
|
129
124
|
|
130
|
-
i = 0;
|
131
125
|
while (evict_count > 0) {
|
132
|
-
|
133
|
-
const git_oid *key;
|
126
|
+
khiter_t pos = seed++ % git_oidmap_end(cache->map);
|
134
127
|
|
135
|
-
if (
|
136
|
-
|
128
|
+
if (git_oidmap_has_data(cache->map, pos)) {
|
129
|
+
git_cached_obj *evict = git_oidmap_value_at(cache->map, pos);
|
137
130
|
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
131
|
+
evict_count--;
|
132
|
+
evicted_memory += evict->size;
|
133
|
+
git_cached_obj_decref(evict);
|
134
|
+
|
135
|
+
git_oidmap_delete_at(cache->map, pos);
|
136
|
+
}
|
142
137
|
}
|
143
138
|
|
144
139
|
cache->used_memory -= evicted_memory;
|
145
140
|
git_atomic_ssize_add(&git_cache__current_storage, -evicted_memory);
|
146
141
|
}
|
147
142
|
|
148
|
-
static bool cache_should_store(
|
143
|
+
static bool cache_should_store(git_otype object_type, size_t object_size)
|
149
144
|
{
|
150
145
|
size_t max_size = git_cache__max_object_size[object_type];
|
151
146
|
return git_cache__enabled && object_size < max_size;
|
@@ -153,12 +148,16 @@ static bool cache_should_store(git_object_t object_type, size_t object_size)
|
|
153
148
|
|
154
149
|
static void *cache_get(git_cache *cache, const git_oid *oid, unsigned int flags)
|
155
150
|
{
|
156
|
-
|
151
|
+
khiter_t pos;
|
152
|
+
git_cached_obj *entry = NULL;
|
157
153
|
|
158
154
|
if (!git_cache__enabled || git_rwlock_rdlock(&cache->lock) < 0)
|
159
155
|
return NULL;
|
160
156
|
|
161
|
-
|
157
|
+
pos = git_oidmap_lookup_index(cache->map, oid);
|
158
|
+
if (git_oidmap_valid_index(cache->map, pos)) {
|
159
|
+
entry = git_oidmap_value_at(cache->map, pos);
|
160
|
+
|
162
161
|
if (flags && entry->flags != flags) {
|
163
162
|
entry = NULL;
|
164
163
|
} else {
|
@@ -173,7 +172,7 @@ static void *cache_get(git_cache *cache, const git_oid *oid, unsigned int flags)
|
|
173
172
|
|
174
173
|
static void *cache_store(git_cache *cache, git_cached_obj *entry)
|
175
174
|
{
|
176
|
-
|
175
|
+
khiter_t pos;
|
177
176
|
|
178
177
|
git_cached_obj_incref(entry);
|
179
178
|
|
@@ -192,9 +191,14 @@ static void *cache_store(git_cache *cache, git_cached_obj *entry)
|
|
192
191
|
if (git_cache__current_storage.val > git_cache__max_storage)
|
193
192
|
cache_evict_entries(cache);
|
194
193
|
|
194
|
+
pos = git_oidmap_lookup_index(cache->map, &entry->oid);
|
195
|
+
|
195
196
|
/* not found */
|
196
|
-
if ((
|
197
|
-
|
197
|
+
if (!git_oidmap_valid_index(cache->map, pos)) {
|
198
|
+
int rval;
|
199
|
+
|
200
|
+
git_oidmap_insert(cache->map, &entry->oid, entry, &rval);
|
201
|
+
if (rval >= 0) {
|
198
202
|
git_cached_obj_incref(entry);
|
199
203
|
cache->used_memory += entry->size;
|
200
204
|
git_atomic_ssize_add(&git_cache__current_storage, (ssize_t)entry->size);
|
@@ -202,16 +206,19 @@ static void *cache_store(git_cache *cache, git_cached_obj *entry)
|
|
202
206
|
}
|
203
207
|
/* found */
|
204
208
|
else {
|
209
|
+
git_cached_obj *stored_entry = git_oidmap_value_at(cache->map, pos);
|
210
|
+
|
205
211
|
if (stored_entry->flags == entry->flags) {
|
206
212
|
git_cached_obj_decref(entry);
|
207
213
|
git_cached_obj_incref(stored_entry);
|
208
214
|
entry = stored_entry;
|
209
215
|
} else if (stored_entry->flags == GIT_CACHE_STORE_RAW &&
|
210
|
-
|
216
|
+
entry->flags == GIT_CACHE_STORE_PARSED) {
|
211
217
|
git_cached_obj_decref(stored_entry);
|
212
218
|
git_cached_obj_incref(entry);
|
213
219
|
|
214
|
-
|
220
|
+
git_oidmap_set_key_at(cache->map, pos, &entry->oid);
|
221
|
+
git_oidmap_set_value_at(cache->map, pos, entry);
|
215
222
|
} else {
|
216
223
|
/* NO OP */
|
217
224
|
}
|
data/vendor/libgit2/src/cache.h
CHANGED
@@ -24,7 +24,7 @@ enum {
|
|
24
24
|
|
25
25
|
typedef struct {
|
26
26
|
git_oid oid;
|
27
|
-
int16_t type; /*
|
27
|
+
int16_t type; /* git_otype value */
|
28
28
|
uint16_t flags; /* GIT_CACHE_STORE value */
|
29
29
|
size_t size;
|
30
30
|
git_atomic refcount;
|
@@ -40,10 +40,10 @@ extern bool git_cache__enabled;
|
|
40
40
|
extern ssize_t git_cache__max_storage;
|
41
41
|
extern git_atomic_ssize git_cache__current_storage;
|
42
42
|
|
43
|
-
int git_cache_set_max_object_size(
|
43
|
+
int git_cache_set_max_object_size(git_otype type, size_t size);
|
44
44
|
|
45
45
|
int git_cache_init(git_cache *cache);
|
46
|
-
void
|
46
|
+
void git_cache_free(git_cache *cache);
|
47
47
|
void git_cache_clear(git_cache *cache);
|
48
48
|
|
49
49
|
void *git_cache_store_raw(git_cache *cache, git_odb_object *entry);
|
@@ -47,29 +47,12 @@
|
|
47
47
|
|
48
48
|
/* Define the printf format specifer to use for size_t output */
|
49
49
|
#if defined(_MSC_VER) || defined(__MINGW32__)
|
50
|
-
|
51
|
-
|
52
|
-
#
|
53
|
-
# define PRId64 "I64d"
|
54
|
-
# endif
|
55
|
-
|
56
|
-
/* The first block is needed to avoid warnings on MingW amd64 */
|
57
|
-
# if (SIZE_MAX == ULLONG_MAX)
|
58
|
-
# define PRIuZ "I64u"
|
59
|
-
# define PRIxZ "I64x"
|
60
|
-
# define PRIXZ "I64X"
|
61
|
-
# define PRIdZ "I64d"
|
62
|
-
# else
|
63
|
-
# define PRIuZ "Iu"
|
64
|
-
# define PRIxZ "Ix"
|
65
|
-
# define PRIXZ "IX"
|
66
|
-
# define PRIdZ "Id"
|
67
|
-
# endif
|
68
|
-
|
50
|
+
# define PRIuZ "Iu"
|
51
|
+
# define PRIxZ "Ix"
|
52
|
+
# define PRIdZ "Id"
|
69
53
|
#else
|
70
54
|
# define PRIuZ "zu"
|
71
55
|
# define PRIxZ "zx"
|
72
|
-
# define PRIXZ "zX"
|
73
56
|
# define PRIdZ "zd"
|
74
57
|
#endif
|
75
58
|
|
@@ -7,6 +7,8 @@
|
|
7
7
|
|
8
8
|
#include "checkout.h"
|
9
9
|
|
10
|
+
#include <assert.h>
|
11
|
+
|
10
12
|
#include "git2/repository.h"
|
11
13
|
#include "git2/refs.h"
|
12
14
|
#include "git2/tree.h"
|
@@ -144,7 +146,7 @@ static int checkout_notify(
|
|
144
146
|
int error = data->opts.notify_cb(
|
145
147
|
why, path, baseline, target, workdir, data->opts.notify_payload);
|
146
148
|
|
147
|
-
return
|
149
|
+
return giterr_set_after_callback_function(
|
148
150
|
error, "git_checkout notification");
|
149
151
|
}
|
150
152
|
}
|
@@ -191,7 +193,7 @@ static bool checkout_is_workdir_modified(
|
|
191
193
|
bool rval = false;
|
192
194
|
|
193
195
|
if (git_submodule_lookup(&sm, data->repo, wditem->path) < 0) {
|
194
|
-
|
196
|
+
giterr_clear();
|
195
197
|
return true;
|
196
198
|
}
|
197
199
|
|
@@ -352,7 +354,7 @@ static bool wd_item_is_removable(
|
|
352
354
|
static int checkout_queue_remove(checkout_data *data, const char *path)
|
353
355
|
{
|
354
356
|
char *copy = git_pool_strdup(&data->pool, path);
|
355
|
-
|
357
|
+
GITERR_CHECK_ALLOC(copy);
|
356
358
|
return git_vector_insert(&data->removes, copy);
|
357
359
|
}
|
358
360
|
|
@@ -490,7 +492,7 @@ static int checkout_action_with_wd(
|
|
490
492
|
switch (delta->status) {
|
491
493
|
case GIT_DELTA_UNMODIFIED: /* case 14/15 or 33 */
|
492
494
|
if (checkout_is_workdir_modified(data, &delta->old_file, &delta->new_file, wd)) {
|
493
|
-
|
495
|
+
GITERR_CHECK_ERROR(
|
494
496
|
checkout_notify(data, GIT_CHECKOUT_NOTIFY_DIRTY, delta, wd) );
|
495
497
|
*action = CHECKOUT_ACTION_IF(FORCE, UPDATE_BLOB, NONE);
|
496
498
|
}
|
@@ -559,7 +561,7 @@ static int checkout_action_with_wd_blocker(
|
|
559
561
|
switch (delta->status) {
|
560
562
|
case GIT_DELTA_UNMODIFIED:
|
561
563
|
/* should show delta as dirty / deleted */
|
562
|
-
|
564
|
+
GITERR_CHECK_ERROR(
|
563
565
|
checkout_notify(data, GIT_CHECKOUT_NOTIFY_DIRTY, delta, wd) );
|
564
566
|
*action = CHECKOUT_ACTION_IF(FORCE, REMOVE_AND_UPDATE, NONE);
|
565
567
|
break;
|
@@ -592,9 +594,9 @@ static int checkout_action_with_wd_dir(
|
|
592
594
|
|
593
595
|
switch (delta->status) {
|
594
596
|
case GIT_DELTA_UNMODIFIED: /* case 19 or 24 (or 34 but not really) */
|
595
|
-
|
597
|
+
GITERR_CHECK_ERROR(
|
596
598
|
checkout_notify(data, GIT_CHECKOUT_NOTIFY_DIRTY, delta, NULL));
|
597
|
-
|
599
|
+
GITERR_CHECK_ERROR(
|
598
600
|
checkout_notify(data, GIT_CHECKOUT_NOTIFY_UNTRACKED, NULL, wd));
|
599
601
|
*action = CHECKOUT_ACTION_IF(FORCE, REMOVE_AND_UPDATE, NONE);
|
600
602
|
break;
|
@@ -609,7 +611,7 @@ static int checkout_action_with_wd_dir(
|
|
609
611
|
break;
|
610
612
|
case GIT_DELTA_DELETED: /* case 11 (and 27 for dir) */
|
611
613
|
if (delta->old_file.mode != GIT_FILEMODE_TREE)
|
612
|
-
|
614
|
+
GITERR_CHECK_ERROR(
|
613
615
|
checkout_notify(data, GIT_CHECKOUT_NOTIFY_UNTRACKED, NULL, wd));
|
614
616
|
break;
|
615
617
|
case GIT_DELTA_TYPECHANGE: /* case 24 or 31 */
|
@@ -900,7 +902,7 @@ static int checkout_conflict_append_update(
|
|
900
902
|
int error;
|
901
903
|
|
902
904
|
conflict = git__calloc(1, sizeof(checkout_conflictdata));
|
903
|
-
|
905
|
+
GITERR_CHECK_ALLOC(conflict);
|
904
906
|
|
905
907
|
conflict->ancestor = ancestor;
|
906
908
|
conflict->ours = ours;
|
@@ -1042,20 +1044,20 @@ static int checkout_conflicts_load_byname_entry(
|
|
1042
1044
|
*theirs_out = NULL;
|
1043
1045
|
|
1044
1046
|
if (!name_entry->ancestor) {
|
1045
|
-
|
1047
|
+
giterr_set(GITERR_INDEX, "a NAME entry exists without an ancestor");
|
1046
1048
|
error = -1;
|
1047
1049
|
goto done;
|
1048
1050
|
}
|
1049
1051
|
|
1050
1052
|
if (!name_entry->ours && !name_entry->theirs) {
|
1051
|
-
|
1053
|
+
giterr_set(GITERR_INDEX, "a NAME entry exists without an ours or theirs");
|
1052
1054
|
error = -1;
|
1053
1055
|
goto done;
|
1054
1056
|
}
|
1055
1057
|
|
1056
1058
|
if ((ancestor = checkout_conflicts_search_ancestor(data,
|
1057
1059
|
name_entry->ancestor)) == NULL) {
|
1058
|
-
|
1060
|
+
giterr_set(GITERR_INDEX,
|
1059
1061
|
"a NAME entry referenced ancestor entry '%s' which does not exist in the main index",
|
1060
1062
|
name_entry->ancestor);
|
1061
1063
|
error = -1;
|
@@ -1067,7 +1069,7 @@ static int checkout_conflicts_load_byname_entry(
|
|
1067
1069
|
ours = ancestor;
|
1068
1070
|
else if ((ours = checkout_conflicts_search_branch(data, name_entry->ours)) == NULL ||
|
1069
1071
|
ours->ours == NULL) {
|
1070
|
-
|
1072
|
+
giterr_set(GITERR_INDEX,
|
1071
1073
|
"a NAME entry referenced our entry '%s' which does not exist in the main index",
|
1072
1074
|
name_entry->ours);
|
1073
1075
|
error = -1;
|
@@ -1082,7 +1084,7 @@ static int checkout_conflicts_load_byname_entry(
|
|
1082
1084
|
theirs = ours;
|
1083
1085
|
else if ((theirs = checkout_conflicts_search_branch(data, name_entry->theirs)) == NULL ||
|
1084
1086
|
theirs->theirs == NULL) {
|
1085
|
-
|
1087
|
+
giterr_set(GITERR_INDEX,
|
1086
1088
|
"a NAME entry referenced their entry '%s' which does not exist in the main index",
|
1087
1089
|
name_entry->theirs);
|
1088
1090
|
error = -1;
|
@@ -1181,7 +1183,7 @@ static int checkout_conflicts_mark_directoryfile(
|
|
1181
1183
|
|
1182
1184
|
if ((error = git_index_find(&j, index, path)) < 0) {
|
1183
1185
|
if (error == GIT_ENOTFOUND)
|
1184
|
-
|
1186
|
+
giterr_set(GITERR_INDEX,
|
1185
1187
|
"index inconsistency, could not find entry for expected conflict '%s'", path);
|
1186
1188
|
|
1187
1189
|
goto done;
|
@@ -1189,7 +1191,7 @@ static int checkout_conflicts_mark_directoryfile(
|
|
1189
1191
|
|
1190
1192
|
for (; j < len; j++) {
|
1191
1193
|
if ((entry = git_index_get_byindex(index, j)) == NULL) {
|
1192
|
-
|
1194
|
+
giterr_set(GITERR_INDEX,
|
1193
1195
|
"index inconsistency, truncated index while loading expected conflict '%s'", path);
|
1194
1196
|
error = -1;
|
1195
1197
|
goto done;
|
@@ -1250,7 +1252,7 @@ static int checkout_conflict_append_remove(
|
|
1250
1252
|
else
|
1251
1253
|
abort();
|
1252
1254
|
|
1253
|
-
|
1255
|
+
GITERR_CHECK_ALLOC(name);
|
1254
1256
|
|
1255
1257
|
return git_vector_insert(&data->remove_conflicts, (char *)name);
|
1256
1258
|
}
|
@@ -1275,14 +1277,14 @@ static int checkout_verify_paths(
|
|
1275
1277
|
|
1276
1278
|
if (action & CHECKOUT_ACTION__REMOVE) {
|
1277
1279
|
if (!git_path_isvalid(repo, delta->old_file.path, delta->old_file.mode, flags)) {
|
1278
|
-
|
1280
|
+
giterr_set(GITERR_CHECKOUT, "cannot remove invalid path '%s'", delta->old_file.path);
|
1279
1281
|
return -1;
|
1280
1282
|
}
|
1281
1283
|
}
|
1282
1284
|
|
1283
1285
|
if (action & ~CHECKOUT_ACTION__REMOVE) {
|
1284
1286
|
if (!git_path_isvalid(repo, delta->new_file.path, delta->new_file.mode, flags)) {
|
1285
|
-
|
1287
|
+
giterr_set(GITERR_CHECKOUT, "cannot checkout to invalid path '%s'", delta->new_file.path);
|
1286
1288
|
return -1;
|
1287
1289
|
}
|
1288
1290
|
}
|
@@ -1352,7 +1354,7 @@ static int checkout_get_actions(
|
|
1352
1354
|
if (counts[CHECKOUT_ACTION__CONFLICT] > 0 &&
|
1353
1355
|
(data->strategy & GIT_CHECKOUT_ALLOW_CONFLICTS) == 0)
|
1354
1356
|
{
|
1355
|
-
|
1357
|
+
giterr_set(GITERR_CHECKOUT, "%"PRIuZ" %s checkout",
|
1356
1358
|
counts[CHECKOUT_ACTION__CONFLICT],
|
1357
1359
|
counts[CHECKOUT_ACTION__CONFLICT] == 1 ?
|
1358
1360
|
"conflict prevents" : "conflicts prevent");
|
@@ -1389,7 +1391,7 @@ static bool should_remove_existing(checkout_data *data)
|
|
1389
1391
|
{
|
1390
1392
|
int ignorecase;
|
1391
1393
|
|
1392
|
-
if (
|
1394
|
+
if (git_repository__cvar(&ignorecase, data->repo, GIT_CVAR_IGNORECASE) < 0) {
|
1393
1395
|
ignorecase = 0;
|
1394
1396
|
}
|
1395
1397
|
|
@@ -1451,10 +1453,10 @@ static int mkpath2file(
|
|
1451
1453
|
*/
|
1452
1454
|
error = git_futils_rmdir_r(path, NULL, GIT_RMDIR_REMOVE_FILES);
|
1453
1455
|
} else if (errno != ENOENT) {
|
1454
|
-
|
1456
|
+
giterr_set(GITERR_OS, "failed to stat '%s'", path);
|
1455
1457
|
return GIT_EEXISTS;
|
1456
1458
|
} else {
|
1457
|
-
|
1459
|
+
giterr_clear();
|
1458
1460
|
}
|
1459
1461
|
}
|
1460
1462
|
|
@@ -1475,7 +1477,7 @@ static int checkout_stream_write(
|
|
1475
1477
|
int ret;
|
1476
1478
|
|
1477
1479
|
if ((ret = p_write(stream->fd, buffer, len)) < 0)
|
1478
|
-
|
1480
|
+
giterr_set(GITERR_OS, "could not write to '%s'", stream->path);
|
1479
1481
|
|
1480
1482
|
return ret;
|
1481
1483
|
}
|
@@ -1524,7 +1526,7 @@ static int blob_content_to_file(
|
|
1524
1526
|
mode = GIT_FILEMODE_BLOB;
|
1525
1527
|
|
1526
1528
|
if ((fd = p_open(path, flags, mode)) < 0) {
|
1527
|
-
|
1529
|
+
giterr_set(GITERR_OS, "could not open '%s' for writing", path);
|
1528
1530
|
return fd;
|
1529
1531
|
}
|
1530
1532
|
|
@@ -1561,7 +1563,7 @@ static int blob_content_to_file(
|
|
1561
1563
|
data->perfdata.stat_calls++;
|
1562
1564
|
|
1563
1565
|
if ((error = p_stat(path, st)) < 0) {
|
1564
|
-
|
1566
|
+
giterr_set(GITERR_OS, "failed to stat '%s'", path);
|
1565
1567
|
return error;
|
1566
1568
|
}
|
1567
1569
|
|
@@ -1588,7 +1590,7 @@ static int blob_content_to_link(
|
|
1588
1590
|
|
1589
1591
|
if (data->can_symlink) {
|
1590
1592
|
if ((error = p_symlink(git_buf_cstr(&linktarget), path)) < 0)
|
1591
|
-
|
1593
|
+
giterr_set(GITERR_OS, "could not create symlink %s", path);
|
1592
1594
|
} else {
|
1593
1595
|
error = git_futils_fake_symlink(git_buf_cstr(&linktarget), path);
|
1594
1596
|
}
|
@@ -1597,12 +1599,12 @@ static int blob_content_to_link(
|
|
1597
1599
|
data->perfdata.stat_calls++;
|
1598
1600
|
|
1599
1601
|
if ((error = p_lstat(path, st)) < 0)
|
1600
|
-
|
1602
|
+
giterr_set(GITERR_CHECKOUT, "could not stat symlink %s", path);
|
1601
1603
|
|
1602
1604
|
st->st_mode = GIT_FILEMODE_LINK;
|
1603
1605
|
}
|
1604
1606
|
|
1605
|
-
|
1607
|
+
git_buf_free(&linktarget);
|
1606
1608
|
|
1607
1609
|
return error;
|
1608
1610
|
}
|
@@ -1641,8 +1643,8 @@ static int checkout_submodule_update_index(
|
|
1641
1643
|
|
1642
1644
|
data->perfdata.stat_calls++;
|
1643
1645
|
if (p_stat(fullpath->ptr, &st) < 0) {
|
1644
|
-
|
1645
|
-
|
1646
|
+
giterr_set(
|
1647
|
+
GITERR_CHECKOUT, "could not stat submodule %s\n", file->path);
|
1646
1648
|
return GIT_ENOTFOUND;
|
1647
1649
|
}
|
1648
1650
|
|
@@ -1673,7 +1675,7 @@ static int checkout_submodule(
|
|
1673
1675
|
* have a .gitmodules - core Git just makes an empty directory
|
1674
1676
|
*/
|
1675
1677
|
if (error == GIT_ENOTFOUND) {
|
1676
|
-
|
1678
|
+
giterr_clear();
|
1677
1679
|
return checkout_submodule_update_index(data, file);
|
1678
1680
|
}
|
1679
1681
|
|
@@ -1715,7 +1717,7 @@ static int checkout_safe_for_update_only(
|
|
1715
1717
|
return 0;
|
1716
1718
|
|
1717
1719
|
/* otherwise, stat error and no update */
|
1718
|
-
|
1720
|
+
giterr_set(GITERR_OS, "failed to stat '%s'", path);
|
1719
1721
|
return -1;
|
1720
1722
|
}
|
1721
1723
|
|
@@ -1754,7 +1756,7 @@ static int checkout_write_content(
|
|
1754
1756
|
if ((data->strategy & GIT_CHECKOUT_ALLOW_CONFLICTS) != 0 &&
|
1755
1757
|
(error == GIT_ENOTFOUND || error == GIT_EEXISTS))
|
1756
1758
|
{
|
1757
|
-
|
1759
|
+
giterr_clear();
|
1758
1760
|
error = 0;
|
1759
1761
|
}
|
1760
1762
|
|
@@ -1861,7 +1863,7 @@ static int checkout_deferred_remove(git_repository *repo, const char *path)
|
|
1861
1863
|
|
1862
1864
|
if (error == GIT_ENOTFOUND) {
|
1863
1865
|
error = 0;
|
1864
|
-
|
1866
|
+
giterr_clear();
|
1865
1867
|
}
|
1866
1868
|
|
1867
1869
|
return error;
|
@@ -1891,18 +1893,11 @@ static int checkout_create_the_new(
|
|
1891
1893
|
return error;
|
1892
1894
|
}
|
1893
1895
|
|
1894
|
-
if (actions[i] & CHECKOUT_ACTION__UPDATE_BLOB
|
1895
|
-
|
1896
|
+
if (actions[i] & CHECKOUT_ACTION__UPDATE_BLOB) {
|
1897
|
+
error = checkout_blob(data, &delta->new_file);
|
1898
|
+
if (error < 0)
|
1896
1899
|
return error;
|
1897
|
-
data->completed_steps++;
|
1898
|
-
report_progress(data, delta->new_file.path);
|
1899
|
-
}
|
1900
|
-
}
|
1901
1900
|
|
1902
|
-
git_vector_foreach(&data->diff->deltas, i, delta) {
|
1903
|
-
if (actions[i] & CHECKOUT_ACTION__UPDATE_BLOB && S_ISLNK(delta->new_file.mode)) {
|
1904
|
-
if ((error = checkout_blob(data, &delta->new_file)) < 0)
|
1905
|
-
return error;
|
1906
1901
|
data->completed_steps++;
|
1907
1902
|
report_progress(data, delta->new_file.path);
|
1908
1903
|
}
|
@@ -1949,7 +1944,7 @@ static int checkout_lookup_head_tree(git_tree **out, git_repository *repo)
|
|
1949
1944
|
git_object *head;
|
1950
1945
|
|
1951
1946
|
if (!(error = git_repository_head(&ref, repo)) &&
|
1952
|
-
!(error = git_reference_peel(&head, ref,
|
1947
|
+
!(error = git_reference_peel(&head, ref, GIT_OBJ_TREE)))
|
1953
1948
|
*out = (git_tree *)head;
|
1954
1949
|
|
1955
1950
|
git_reference_free(ref);
|
@@ -1994,7 +1989,7 @@ static int checkout_path_suffixed(git_buf *path, const char *suffix)
|
|
1994
1989
|
if (i == INT_MAX) {
|
1995
1990
|
git_buf_truncate(path, path_len);
|
1996
1991
|
|
1997
|
-
|
1992
|
+
giterr_set(GITERR_CHECKOUT, "could not write '%s': working directory file exists", path->ptr);
|
1998
1993
|
return GIT_EEXISTS;
|
1999
1994
|
}
|
2000
1995
|
|
@@ -2128,7 +2123,7 @@ static int checkout_write_merge(
|
|
2128
2123
|
goto done;
|
2129
2124
|
|
2130
2125
|
if (result.path == NULL || result.mode == 0) {
|
2131
|
-
|
2126
|
+
giterr_set(GITERR_CHECKOUT, "could not merge contents of file");
|
2132
2127
|
error = GIT_ECONFLICT;
|
2133
2128
|
goto done;
|
2134
2129
|
}
|
@@ -2166,13 +2161,13 @@ static int checkout_write_merge(
|
|
2166
2161
|
done:
|
2167
2162
|
git_filter_list_free(fl);
|
2168
2163
|
|
2169
|
-
|
2170
|
-
|
2171
|
-
|
2164
|
+
git_buf_free(&out_data);
|
2165
|
+
git_buf_free(&our_label);
|
2166
|
+
git_buf_free(&their_label);
|
2172
2167
|
|
2173
2168
|
git_merge_file_result_free(&result);
|
2174
|
-
|
2175
|
-
|
2169
|
+
git_buf_free(&path_workdir);
|
2170
|
+
git_buf_free(&path_suffixed);
|
2176
2171
|
|
2177
2172
|
return error;
|
2178
2173
|
}
|
@@ -2184,7 +2179,7 @@ static int checkout_conflict_add(
|
|
2184
2179
|
int error = git_index_remove(data->index, conflict->path, 0);
|
2185
2180
|
|
2186
2181
|
if (error == GIT_ENOTFOUND)
|
2187
|
-
|
2182
|
+
giterr_clear();
|
2188
2183
|
else if (error < 0)
|
2189
2184
|
return error;
|
2190
2185
|
|
@@ -2352,8 +2347,8 @@ static void checkout_data_clear(checkout_data *data)
|
|
2352
2347
|
git__free(data->pfx);
|
2353
2348
|
data->pfx = NULL;
|
2354
2349
|
|
2355
|
-
|
2356
|
-
|
2350
|
+
git_buf_free(&data->target_path);
|
2351
|
+
git_buf_free(&data->tmp);
|
2357
2352
|
|
2358
2353
|
git_index_free(data->index);
|
2359
2354
|
data->index = NULL;
|
@@ -2375,7 +2370,7 @@ static int checkout_data_init(
|
|
2375
2370
|
memset(data, 0, sizeof(*data));
|
2376
2371
|
|
2377
2372
|
if (!repo) {
|
2378
|
-
|
2373
|
+
giterr_set(GITERR_CHECKOUT, "cannot checkout nothing");
|
2379
2374
|
return -1;
|
2380
2375
|
}
|
2381
2376
|
|
@@ -2386,7 +2381,7 @@ static int checkout_data_init(
|
|
2386
2381
|
data->repo = repo;
|
2387
2382
|
data->target = target;
|
2388
2383
|
|
2389
|
-
|
2384
|
+
GITERR_CHECK_VERSION(
|
2390
2385
|
proposed, GIT_CHECKOUT_OPTIONS_VERSION, "git_checkout_options");
|
2391
2386
|
|
2392
2387
|
if (!proposed)
|
@@ -2402,9 +2397,6 @@ static int checkout_data_init(
|
|
2402
2397
|
GIT_DIR_MODE, GIT_MKDIR_VERIFY_DIR)) < 0)
|
2403
2398
|
goto cleanup;
|
2404
2399
|
|
2405
|
-
if ((error = git_repository_index(&data->index, data->repo)) < 0)
|
2406
|
-
goto cleanup;
|
2407
|
-
|
2408
2400
|
/* refresh config and index content unless NO_REFRESH is given */
|
2409
2401
|
if ((data->opts.checkout_strategy & GIT_CHECKOUT_NO_REFRESH) == 0) {
|
2410
2402
|
git_config *cfg;
|
@@ -2412,30 +2404,24 @@ static int checkout_data_init(
|
|
2412
2404
|
if ((error = git_repository_config__weakptr(&cfg, repo)) < 0)
|
2413
2405
|
goto cleanup;
|
2414
2406
|
|
2415
|
-
/*
|
2416
|
-
* index; then it has the changes we're trying to check
|
2417
|
-
* and those should not be overwritten.)
|
2407
|
+
/* Get the repository index and reload it (unless we're checking
|
2408
|
+
* out the index; then it has the changes we're trying to check
|
2409
|
+
* out and those should not be overwritten.)
|
2418
2410
|
*/
|
2419
|
-
if (data->index
|
2420
|
-
|
2421
|
-
/* When forcing, we can blindly re-read the index */
|
2422
|
-
if ((error = git_index_read(data->index, false)) < 0)
|
2423
|
-
goto cleanup;
|
2424
|
-
} else {
|
2425
|
-
/*
|
2426
|
-
* When not being forced, we need to check for unresolved
|
2427
|
-
* conflicts and unsaved changes in the index before
|
2428
|
-
* proceeding.
|
2429
|
-
*/
|
2430
|
-
if (git_index_has_conflicts(data->index)) {
|
2431
|
-
error = GIT_ECONFLICT;
|
2432
|
-
git_error_set(GIT_ERROR_CHECKOUT,
|
2433
|
-
"unresolved conflicts exist in the index");
|
2434
|
-
goto cleanup;
|
2435
|
-
}
|
2411
|
+
if ((error = git_repository_index(&data->index, data->repo)) < 0)
|
2412
|
+
goto cleanup;
|
2436
2413
|
|
2437
|
-
|
2438
|
-
|
2414
|
+
if (data->index != git_iterator_index(target)) {
|
2415
|
+
if ((error = git_index_read(data->index, true)) < 0)
|
2416
|
+
goto cleanup;
|
2417
|
+
|
2418
|
+
/* cannot checkout if unresolved conflicts exist */
|
2419
|
+
if ((data->opts.checkout_strategy & GIT_CHECKOUT_FORCE) == 0 &&
|
2420
|
+
git_index_has_conflicts(data->index)) {
|
2421
|
+
error = GIT_ECONFLICT;
|
2422
|
+
giterr_set(GITERR_CHECKOUT,
|
2423
|
+
"unresolved conflicts exist in the index");
|
2424
|
+
goto cleanup;
|
2439
2425
|
}
|
2440
2426
|
|
2441
2427
|
/* clean conflict data in the current index */
|
@@ -2468,12 +2454,12 @@ static int checkout_data_init(
|
|
2468
2454
|
|
2469
2455
|
data->pfx = git_pathspec_prefix(&data->opts.paths);
|
2470
2456
|
|
2471
|
-
if ((error =
|
2472
|
-
&data->can_symlink, repo,
|
2457
|
+
if ((error = git_repository__cvar(
|
2458
|
+
&data->can_symlink, repo, GIT_CVAR_SYMLINKS)) < 0)
|
2473
2459
|
goto cleanup;
|
2474
2460
|
|
2475
|
-
if ((error =
|
2476
|
-
&data->respect_filemode, repo,
|
2461
|
+
if ((error = git_repository__cvar(
|
2462
|
+
&data->respect_filemode, repo, GIT_CVAR_FILEMODE)) < 0)
|
2477
2463
|
goto cleanup;
|
2478
2464
|
|
2479
2465
|
if (!data->opts.baseline && !data->opts.baseline_index) {
|
@@ -2488,7 +2474,7 @@ static int checkout_data_init(
|
|
2488
2474
|
|
2489
2475
|
if (error == GIT_EUNBORNBRANCH) {
|
2490
2476
|
error = 0;
|
2491
|
-
|
2477
|
+
giterr_clear();
|
2492
2478
|
}
|
2493
2479
|
|
2494
2480
|
if (error < 0)
|
@@ -2511,7 +2497,7 @@ static int checkout_data_init(
|
|
2511
2497
|
else if (strcmp(conflict_style->value, "diff3") == 0)
|
2512
2498
|
data->opts.checkout_strategy |= GIT_CHECKOUT_CONFLICT_STYLE_DIFF3;
|
2513
2499
|
else {
|
2514
|
-
|
2500
|
+
giterr_set(GITERR_CHECKOUT, "unknown style '%s' given for 'merge.conflictstyle'",
|
2515
2501
|
conflict_style->value);
|
2516
2502
|
error = -1;
|
2517
2503
|
git_config_entry_free(conflict_style);
|
@@ -2523,11 +2509,11 @@ static int checkout_data_init(
|
|
2523
2509
|
git_pool_init(&data->pool, 1);
|
2524
2510
|
|
2525
2511
|
if ((error = git_vector_init(&data->removes, 0, git__strcmp_cb)) < 0 ||
|
2526
|
-
|
2527
|
-
|
2528
|
-
|
2529
|
-
|
2530
|
-
|
2512
|
+
(error = git_vector_init(&data->remove_conflicts, 0, NULL)) < 0 ||
|
2513
|
+
(error = git_vector_init(&data->update_conflicts, 0, NULL)) < 0 ||
|
2514
|
+
(error = git_buf_puts(&data->target_path, data->opts.target_directory)) < 0 ||
|
2515
|
+
(error = git_path_to_dir(&data->target_path)) < 0 ||
|
2516
|
+
(error = git_strmap_alloc(&data->mkdir_map)) < 0)
|
2531
2517
|
goto cleanup;
|
2532
2518
|
|
2533
2519
|
data->target_len = git_buf_len(&data->target_path);
|
@@ -2693,7 +2679,7 @@ int git_checkout_index(
|
|
2693
2679
|
git_iterator *index_i;
|
2694
2680
|
|
2695
2681
|
if (!index && !repo) {
|
2696
|
-
|
2682
|
+
giterr_set(GITERR_CHECKOUT,
|
2697
2683
|
"must provide either repository or index to checkout");
|
2698
2684
|
return -1;
|
2699
2685
|
}
|
@@ -2701,7 +2687,7 @@ int git_checkout_index(
|
|
2701
2687
|
if (index && repo &&
|
2702
2688
|
git_index_owner(index) &&
|
2703
2689
|
git_index_owner(index) != repo) {
|
2704
|
-
|
2690
|
+
giterr_set(GITERR_CHECKOUT,
|
2705
2691
|
"index to checkout does not match repository");
|
2706
2692
|
return -1;
|
2707
2693
|
} else if(index && repo && !git_index_owner(index)) {
|
@@ -2740,12 +2726,12 @@ int git_checkout_tree(
|
|
2740
2726
|
git_iterator_options iter_opts = GIT_ITERATOR_OPTIONS_INIT;
|
2741
2727
|
|
2742
2728
|
if (!treeish && !repo) {
|
2743
|
-
|
2729
|
+
giterr_set(GITERR_CHECKOUT,
|
2744
2730
|
"must provide either repository or tree to checkout");
|
2745
2731
|
return -1;
|
2746
2732
|
}
|
2747
2733
|
if (treeish && repo && git_object_owner(treeish) != repo) {
|
2748
|
-
|
2734
|
+
giterr_set(GITERR_CHECKOUT,
|
2749
2735
|
"object to checkout does not match repository");
|
2750
2736
|
return -1;
|
2751
2737
|
}
|
@@ -2754,17 +2740,17 @@ int git_checkout_tree(
|
|
2754
2740
|
repo = git_object_owner(treeish);
|
2755
2741
|
|
2756
2742
|
if (treeish) {
|
2757
|
-
if (git_object_peel((git_object **)&tree, treeish,
|
2758
|
-
|
2759
|
-
|
2743
|
+
if (git_object_peel((git_object **)&tree, treeish, GIT_OBJ_TREE) < 0) {
|
2744
|
+
giterr_set(
|
2745
|
+
GITERR_CHECKOUT, "provided object cannot be peeled to a tree");
|
2760
2746
|
return -1;
|
2761
2747
|
}
|
2762
2748
|
}
|
2763
2749
|
else {
|
2764
2750
|
if ((error = checkout_lookup_head_tree(&tree, repo)) < 0) {
|
2765
2751
|
if (error != GIT_EUNBORNBRANCH)
|
2766
|
-
|
2767
|
-
|
2752
|
+
giterr_set(
|
2753
|
+
GITERR_CHECKOUT,
|
2768
2754
|
"HEAD could not be peeled to a tree and no treeish given");
|
2769
2755
|
return error;
|
2770
2756
|
}
|
@@ -2796,14 +2782,9 @@ int git_checkout_head(
|
|
2796
2782
|
return git_checkout_tree(repo, NULL, opts);
|
2797
2783
|
}
|
2798
2784
|
|
2799
|
-
int
|
2785
|
+
int git_checkout_init_options(git_checkout_options *opts, unsigned int version)
|
2800
2786
|
{
|
2801
2787
|
GIT_INIT_STRUCTURE_FROM_TEMPLATE(
|
2802
2788
|
opts, version, git_checkout_options, GIT_CHECKOUT_OPTIONS_INIT);
|
2803
2789
|
return 0;
|
2804
2790
|
}
|
2805
|
-
|
2806
|
-
int git_checkout_init_options(git_checkout_options *opts, unsigned int version)
|
2807
|
-
{
|
2808
|
-
return git_checkout_options_init(opts, version);
|
2809
|
-
}
|