rugged 0.27.10 → 0.27.10.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 +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/reflog.c
CHANGED
@@ -74,30 +74,32 @@ int git_reflog_write(git_reflog *reflog)
|
|
74
74
|
|
75
75
|
int git_reflog_append(git_reflog *reflog, const git_oid *new_oid, const git_signature *committer, const char *msg)
|
76
76
|
{
|
77
|
-
const git_reflog_entry *previous;
|
78
77
|
git_reflog_entry *entry;
|
78
|
+
const git_reflog_entry *previous;
|
79
|
+
const char *newline;
|
79
80
|
|
80
81
|
assert(reflog && new_oid && committer);
|
81
82
|
|
82
83
|
entry = git__calloc(1, sizeof(git_reflog_entry));
|
83
|
-
|
84
|
+
GITERR_CHECK_ALLOC(entry);
|
84
85
|
|
85
86
|
if ((git_signature_dup(&entry->committer, committer)) < 0)
|
86
87
|
goto cleanup;
|
87
88
|
|
88
89
|
if (msg != NULL) {
|
89
|
-
|
90
|
-
|
91
|
-
if ((entry->msg = git__strndup(msg, msglen)) == NULL)
|
90
|
+
if ((entry->msg = git__strdup(msg)) == NULL)
|
92
91
|
goto cleanup;
|
93
92
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
93
|
+
newline = strchr(msg, '\n');
|
94
|
+
|
95
|
+
if (newline) {
|
96
|
+
if (newline[1] != '\0') {
|
97
|
+
giterr_set(GITERR_INVALID, "reflog message cannot contain newline");
|
98
|
+
goto cleanup;
|
99
|
+
}
|
100
|
+
|
101
|
+
entry->msg[newline - msg] = '\0';
|
102
|
+
}
|
101
103
|
}
|
102
104
|
|
103
105
|
previous = git_reflog_entry_byindex(reflog, 0);
|
@@ -192,7 +194,7 @@ int git_reflog_drop(git_reflog *reflog, size_t idx, int rewrite_previous_entry)
|
|
192
194
|
entry = (git_reflog_entry *)git_reflog_entry_byindex(reflog, idx);
|
193
195
|
|
194
196
|
if (entry == NULL) {
|
195
|
-
|
197
|
+
giterr_set(GITERR_REFERENCE, "no reflog entry at index %"PRIuZ, idx);
|
196
198
|
return GIT_ENOTFOUND;
|
197
199
|
}
|
198
200
|
|
data/vendor/libgit2/src/refs.c
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
#include "hash.h"
|
11
11
|
#include "repository.h"
|
12
|
-
#include "
|
12
|
+
#include "fileops.h"
|
13
13
|
#include "filebuf.h"
|
14
14
|
#include "pack.h"
|
15
15
|
#include "reflog.h"
|
@@ -59,7 +59,7 @@ git_reference *git_reference__alloc_symbolic(
|
|
59
59
|
if (!ref)
|
60
60
|
return NULL;
|
61
61
|
|
62
|
-
ref->type =
|
62
|
+
ref->type = GIT_REF_SYMBOLIC;
|
63
63
|
|
64
64
|
if ((ref->target.symbolic = git__strdup(target)) == NULL) {
|
65
65
|
git__free(ref);
|
@@ -82,7 +82,7 @@ git_reference *git_reference__alloc(
|
|
82
82
|
if (!ref)
|
83
83
|
return NULL;
|
84
84
|
|
85
|
-
ref->type =
|
85
|
+
ref->type = GIT_REF_OID;
|
86
86
|
git_oid_cpy(&ref->target.oid, oid);
|
87
87
|
|
88
88
|
if (peel != NULL)
|
@@ -108,12 +108,12 @@ git_reference *git_reference__set_name(
|
|
108
108
|
|
109
109
|
int git_reference_dup(git_reference **dest, git_reference *source)
|
110
110
|
{
|
111
|
-
if (source->type ==
|
111
|
+
if (source->type == GIT_REF_SYMBOLIC)
|
112
112
|
*dest = git_reference__alloc_symbolic(source->name, source->target.symbolic);
|
113
113
|
else
|
114
114
|
*dest = git_reference__alloc(source->name, &source->target.oid, &source->peel);
|
115
115
|
|
116
|
-
|
116
|
+
GITERR_CHECK_ALLOC(*dest);
|
117
117
|
|
118
118
|
(*dest)->db = source->db;
|
119
119
|
GIT_REFCOUNT_INC((*dest)->db);
|
@@ -126,7 +126,7 @@ void git_reference_free(git_reference *reference)
|
|
126
126
|
if (reference == NULL)
|
127
127
|
return;
|
128
128
|
|
129
|
-
if (reference->type ==
|
129
|
+
if (reference->type == GIT_REF_SYMBOLIC)
|
130
130
|
git__free(reference->target.symbolic);
|
131
131
|
|
132
132
|
if (reference->db)
|
@@ -140,7 +140,7 @@ int git_reference_delete(git_reference *ref)
|
|
140
140
|
const git_oid *old_id = NULL;
|
141
141
|
const char *old_target = NULL;
|
142
142
|
|
143
|
-
if (ref->type ==
|
143
|
+
if (ref->type == GIT_REF_OID)
|
144
144
|
old_id = &ref->target.oid;
|
145
145
|
else
|
146
146
|
old_target = ref->target.symbolic;
|
@@ -186,14 +186,14 @@ static int reference_normalize_for_repo(
|
|
186
186
|
bool validate)
|
187
187
|
{
|
188
188
|
int precompose;
|
189
|
-
unsigned int flags =
|
189
|
+
unsigned int flags = GIT_REF_FORMAT_ALLOW_ONELEVEL;
|
190
190
|
|
191
|
-
if (!
|
191
|
+
if (!git_repository__cvar(&precompose, repo, GIT_CVAR_PRECOMPOSE) &&
|
192
192
|
precompose)
|
193
|
-
flags |=
|
193
|
+
flags |= GIT_REF_FORMAT__PRECOMPOSE_UNICODE;
|
194
194
|
|
195
195
|
if (!validate)
|
196
|
-
flags |=
|
196
|
+
flags |= GIT_REF_FORMAT__VALIDATION_DISABLE;
|
197
197
|
|
198
198
|
return git_reference_normalize_name(out, GIT_REFNAME_MAX, name, flags);
|
199
199
|
}
|
@@ -205,7 +205,7 @@ int git_reference_lookup_resolved(
|
|
205
205
|
int max_nesting)
|
206
206
|
{
|
207
207
|
git_refname_t scan_name;
|
208
|
-
|
208
|
+
git_ref_t scan_type;
|
209
209
|
int error = 0, nesting;
|
210
210
|
git_reference *ref = NULL;
|
211
211
|
git_refdb *refdb;
|
@@ -219,7 +219,7 @@ int git_reference_lookup_resolved(
|
|
219
219
|
else if (max_nesting < 0)
|
220
220
|
max_nesting = DEFAULT_NESTING_LEVEL;
|
221
221
|
|
222
|
-
scan_type =
|
222
|
+
scan_type = GIT_REF_SYMBOLIC;
|
223
223
|
|
224
224
|
if ((error = reference_normalize_for_repo(scan_name, repo, name, true)) < 0)
|
225
225
|
return error;
|
@@ -228,7 +228,7 @@ int git_reference_lookup_resolved(
|
|
228
228
|
return error;
|
229
229
|
|
230
230
|
for (nesting = max_nesting;
|
231
|
-
nesting >= 0 && scan_type ==
|
231
|
+
nesting >= 0 && scan_type == GIT_REF_SYMBOLIC;
|
232
232
|
nesting--)
|
233
233
|
{
|
234
234
|
if (nesting != max_nesting) {
|
@@ -242,8 +242,8 @@ int git_reference_lookup_resolved(
|
|
242
242
|
scan_type = ref->type;
|
243
243
|
}
|
244
244
|
|
245
|
-
if (scan_type !=
|
246
|
-
|
245
|
+
if (scan_type != GIT_REF_OID && max_nesting != 0) {
|
246
|
+
giterr_set(GITERR_REFERENCE,
|
247
247
|
"cannot resolve reference (>%u levels deep)", max_nesting);
|
248
248
|
git_reference_free(ref);
|
249
249
|
return -1;
|
@@ -282,7 +282,7 @@ int git_reference__read_head(
|
|
282
282
|
|
283
283
|
out:
|
284
284
|
git__free(name);
|
285
|
-
|
285
|
+
git_buf_free(&reference);
|
286
286
|
|
287
287
|
return error;
|
288
288
|
}
|
@@ -339,22 +339,22 @@ int git_reference_dwim(git_reference **out, git_repository *repo, const char *re
|
|
339
339
|
cleanup:
|
340
340
|
if (error && !foundvalid) {
|
341
341
|
/* never found a valid reference name */
|
342
|
-
|
342
|
+
giterr_set(GITERR_REFERENCE,
|
343
343
|
"could not use '%s' as valid reference name", git_buf_cstr(&name));
|
344
344
|
}
|
345
345
|
|
346
346
|
if (error == GIT_ENOTFOUND)
|
347
|
-
|
347
|
+
giterr_set(GITERR_REFERENCE, "no reference found for shorthand '%s'", refname);
|
348
348
|
|
349
|
-
|
350
|
-
|
349
|
+
git_buf_free(&name);
|
350
|
+
git_buf_free(&refnamebuf);
|
351
351
|
return error;
|
352
352
|
}
|
353
353
|
|
354
354
|
/**
|
355
355
|
* Getters
|
356
356
|
*/
|
357
|
-
|
357
|
+
git_ref_t git_reference_type(const git_reference *ref)
|
358
358
|
{
|
359
359
|
assert(ref);
|
360
360
|
return ref->type;
|
@@ -376,7 +376,7 @@ const git_oid *git_reference_target(const git_reference *ref)
|
|
376
376
|
{
|
377
377
|
assert(ref);
|
378
378
|
|
379
|
-
if (ref->type !=
|
379
|
+
if (ref->type != GIT_REF_OID)
|
380
380
|
return NULL;
|
381
381
|
|
382
382
|
return &ref->target.oid;
|
@@ -386,7 +386,7 @@ const git_oid *git_reference_target_peel(const git_reference *ref)
|
|
386
386
|
{
|
387
387
|
assert(ref);
|
388
388
|
|
389
|
-
if (ref->type !=
|
389
|
+
if (ref->type != GIT_REF_OID || git_oid_iszero(&ref->peel))
|
390
390
|
return NULL;
|
391
391
|
|
392
392
|
return &ref->peel;
|
@@ -396,7 +396,7 @@ const char *git_reference_symbolic_target(const git_reference *ref)
|
|
396
396
|
{
|
397
397
|
assert(ref);
|
398
398
|
|
399
|
-
if (ref->type !=
|
399
|
+
if (ref->type != GIT_REF_SYMBOLIC)
|
400
400
|
return NULL;
|
401
401
|
|
402
402
|
return ref->target.symbolic;
|
@@ -436,8 +436,8 @@ static int reference__create(
|
|
436
436
|
if (oid != NULL) {
|
437
437
|
assert(symbolic == NULL);
|
438
438
|
|
439
|
-
if (!git_object__is_valid(repo, oid,
|
440
|
-
|
439
|
+
if (!git_object__is_valid(repo, oid, GIT_OBJ_ANY)) {
|
440
|
+
giterr_set(GITERR_REFERENCE,
|
441
441
|
"target OID for the reference doesn't exist on the repository");
|
442
442
|
return -1;
|
443
443
|
}
|
@@ -455,7 +455,7 @@ static int reference__create(
|
|
455
455
|
ref = git_reference__alloc_symbolic(normalized, normalized_target);
|
456
456
|
}
|
457
457
|
|
458
|
-
|
458
|
+
GITERR_CHECK_ALLOC(ref);
|
459
459
|
|
460
460
|
if ((error = git_refdb_write(refdb, ref, force, signature, log_message, old_id, old_target)) < 0) {
|
461
461
|
git_reference_free(ref);
|
@@ -566,10 +566,10 @@ int git_reference_symbolic_create(
|
|
566
566
|
|
567
567
|
static int ensure_is_an_updatable_direct_reference(git_reference *ref)
|
568
568
|
{
|
569
|
-
if (ref->type ==
|
569
|
+
if (ref->type == GIT_REF_OID)
|
570
570
|
return 0;
|
571
571
|
|
572
|
-
|
572
|
+
giterr_set(GITERR_REFERENCE, "cannot set OID on symbolic reference");
|
573
573
|
return -1;
|
574
574
|
}
|
575
575
|
|
@@ -594,10 +594,10 @@ int git_reference_set_target(
|
|
594
594
|
|
595
595
|
static int ensure_is_an_updatable_symbolic_reference(git_reference *ref)
|
596
596
|
{
|
597
|
-
if (ref->type ==
|
597
|
+
if (ref->type == GIT_REF_SYMBOLIC)
|
598
598
|
return 0;
|
599
599
|
|
600
|
-
|
600
|
+
giterr_set(GITERR_REFERENCE, "cannot set symbolic target on a direct reference");
|
601
601
|
return -1;
|
602
602
|
}
|
603
603
|
|
@@ -631,7 +631,7 @@ static int update_wt_heads(git_repository *repo, const char *path, void *payload
|
|
631
631
|
int error;
|
632
632
|
|
633
633
|
if ((error = git_reference__read_head(&head, repo, path)) < 0) {
|
634
|
-
|
634
|
+
giterr_set(GITERR_REFERENCE, "could not read HEAD when renaming references");
|
635
635
|
goto out;
|
636
636
|
}
|
637
637
|
|
@@ -640,7 +640,7 @@ static int update_wt_heads(git_repository *repo, const char *path, void *payload
|
|
640
640
|
goto out;
|
641
641
|
}
|
642
642
|
|
643
|
-
if (git_reference_type(head) !=
|
643
|
+
if (git_reference_type(head) != GIT_REF_SYMBOLIC ||
|
644
644
|
git__strcmp(head->target.symbolic, data->old_name) != 0) {
|
645
645
|
error = 0;
|
646
646
|
goto out;
|
@@ -648,7 +648,7 @@ static int update_wt_heads(git_repository *repo, const char *path, void *payload
|
|
648
648
|
|
649
649
|
/* Update HEAD it was pointing to the reference being renamed */
|
650
650
|
if ((error = git_repository_create_head(gitdir, data->new_name)) < 0) {
|
651
|
-
|
651
|
+
giterr_set(GITERR_REFERENCE, "failed to update HEAD after renaming reference");
|
652
652
|
goto out;
|
653
653
|
}
|
654
654
|
|
@@ -692,7 +692,7 @@ static int reference__rename(git_reference **out, git_reference *ref, const char
|
|
692
692
|
payload.old_name = ref->name;
|
693
693
|
memcpy(&payload.new_name, &normalized, sizeof(normalized));
|
694
694
|
|
695
|
-
error = git_repository_foreach_head(repo, update_wt_heads,
|
695
|
+
error = git_repository_foreach_head(repo, update_wt_heads, &payload);
|
696
696
|
}
|
697
697
|
|
698
698
|
return error;
|
@@ -723,14 +723,14 @@ int git_reference_rename(
|
|
723
723
|
int git_reference_resolve(git_reference **ref_out, const git_reference *ref)
|
724
724
|
{
|
725
725
|
switch (git_reference_type(ref)) {
|
726
|
-
case
|
726
|
+
case GIT_REF_OID:
|
727
727
|
return git_reference_lookup(ref_out, ref->db->repo, ref->name);
|
728
728
|
|
729
|
-
case
|
729
|
+
case GIT_REF_SYMBOLIC:
|
730
730
|
return git_reference_lookup_resolved(ref_out, ref->db->repo, ref->target.symbolic, -1);
|
731
731
|
|
732
732
|
default:
|
733
|
-
|
733
|
+
giterr_set(GITERR_REFERENCE, "invalid reference");
|
734
734
|
return -1;
|
735
735
|
}
|
736
736
|
}
|
@@ -749,7 +749,7 @@ int git_reference_foreach(
|
|
749
749
|
|
750
750
|
while (!(error = git_reference_next(&ref, iter))) {
|
751
751
|
if ((error = callback(ref, payload)) != 0) {
|
752
|
-
|
752
|
+
giterr_set_after_callback(error);
|
753
753
|
break;
|
754
754
|
}
|
755
755
|
}
|
@@ -775,7 +775,7 @@ int git_reference_foreach_name(
|
|
775
775
|
|
776
776
|
while (!(error = git_reference_next_name(&refname, iter))) {
|
777
777
|
if ((error = callback(refname, payload)) != 0) {
|
778
|
-
|
778
|
+
giterr_set_after_callback(error);
|
779
779
|
break;
|
780
780
|
}
|
781
781
|
}
|
@@ -802,7 +802,7 @@ int git_reference_foreach_glob(
|
|
802
802
|
|
803
803
|
while (!(error = git_reference_next_name(&refname, iter))) {
|
804
804
|
if ((error = callback(refname, payload)) != 0) {
|
805
|
-
|
805
|
+
giterr_set_after_callback(error);
|
806
806
|
break;
|
807
807
|
}
|
808
808
|
}
|
@@ -856,7 +856,7 @@ void git_reference_iterator_free(git_reference_iterator *iter)
|
|
856
856
|
static int cb__reflist_add(const char *ref, void *data)
|
857
857
|
{
|
858
858
|
char *name = git__strdup(ref);
|
859
|
-
|
859
|
+
GITERR_CHECK_ALLOC(name);
|
860
860
|
return git_vector_insert((git_vector *)data, name);
|
861
861
|
}
|
862
862
|
|
@@ -897,13 +897,14 @@ static int is_valid_ref_char(char ch)
|
|
897
897
|
case '\\':
|
898
898
|
case '?':
|
899
899
|
case '[':
|
900
|
+
case '*':
|
900
901
|
return 0;
|
901
902
|
default:
|
902
903
|
return 1;
|
903
904
|
}
|
904
905
|
}
|
905
906
|
|
906
|
-
static int ensure_segment_validity(const char *name
|
907
|
+
static int ensure_segment_validity(const char *name)
|
907
908
|
{
|
908
909
|
const char *current = name;
|
909
910
|
char prev = '\0';
|
@@ -926,12 +927,6 @@ static int ensure_segment_validity(const char *name, char may_contain_glob)
|
|
926
927
|
if (prev == '@' && *current == '{')
|
927
928
|
return -1; /* Refname contains "@{" */
|
928
929
|
|
929
|
-
if (*current == '*') {
|
930
|
-
if (!may_contain_glob)
|
931
|
-
return -1;
|
932
|
-
may_contain_glob = 0;
|
933
|
-
}
|
934
|
-
|
935
930
|
prev = *current;
|
936
931
|
}
|
937
932
|
|
@@ -975,7 +970,7 @@ int git_reference__normalize_name(
|
|
975
970
|
int segment_len, segments_count = 0, error = GIT_EINVALIDSPEC;
|
976
971
|
unsigned int process_flags;
|
977
972
|
bool normalize = (buf != NULL);
|
978
|
-
bool validate = (flags &
|
973
|
+
bool validate = (flags & GIT_REF_FORMAT__VALIDATION_DISABLE) == 0;
|
979
974
|
|
980
975
|
#ifdef GIT_USE_ICONV
|
981
976
|
git_path_iconv_t ic = GIT_PATH_ICONV_INIT;
|
@@ -993,7 +988,7 @@ int git_reference__normalize_name(
|
|
993
988
|
git_buf_clear(buf);
|
994
989
|
|
995
990
|
#ifdef GIT_USE_ICONV
|
996
|
-
if ((flags &
|
991
|
+
if ((flags & GIT_REF_FORMAT__PRECOMPOSE_UNICODE) != 0) {
|
997
992
|
size_t namelen = strlen(current);
|
998
993
|
if ((error = git_path_iconv_init_precompose(&ic)) < 0 ||
|
999
994
|
(error = git_path_iconv(&ic, ¤t, &namelen)) < 0)
|
@@ -1010,20 +1005,19 @@ int git_reference__normalize_name(
|
|
1010
1005
|
}
|
1011
1006
|
|
1012
1007
|
while (true) {
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
1016
|
-
|
1017
|
-
|
1008
|
+
segment_len = ensure_segment_validity(current);
|
1009
|
+
if (segment_len < 0) {
|
1010
|
+
if ((process_flags & GIT_REF_FORMAT_REFSPEC_PATTERN) &&
|
1011
|
+
current[0] == '*' &&
|
1012
|
+
(current[1] == '\0' || current[1] == '/')) {
|
1013
|
+
/* Accept one wildcard as a full refname component. */
|
1014
|
+
process_flags &= ~GIT_REF_FORMAT_REFSPEC_PATTERN;
|
1015
|
+
segment_len = 1;
|
1016
|
+
} else
|
1017
|
+
goto cleanup;
|
1018
|
+
}
|
1018
1019
|
|
1019
1020
|
if (segment_len > 0) {
|
1020
|
-
/*
|
1021
|
-
* There may only be one glob in a pattern, thus we reset
|
1022
|
-
* the pattern-flag in case the current segment has one.
|
1023
|
-
*/
|
1024
|
-
if (memchr(current, '*', segment_len))
|
1025
|
-
process_flags &= ~GIT_REFERENCE_FORMAT_REFSPEC_PATTERN;
|
1026
|
-
|
1027
1021
|
if (normalize) {
|
1028
1022
|
size_t cur_len = git_buf_len(buf);
|
1029
1023
|
|
@@ -1062,13 +1056,13 @@ int git_reference__normalize_name(
|
|
1062
1056
|
if (current[segment_len - 1] == '/')
|
1063
1057
|
goto cleanup;
|
1064
1058
|
|
1065
|
-
if ((segments_count == 1 ) && !(flags &
|
1059
|
+
if ((segments_count == 1 ) && !(flags & GIT_REF_FORMAT_ALLOW_ONELEVEL))
|
1066
1060
|
goto cleanup;
|
1067
1061
|
|
1068
1062
|
if ((segments_count == 1 ) &&
|
1069
|
-
!(flags &
|
1063
|
+
!(flags & GIT_REF_FORMAT_REFSPEC_SHORTHAND) &&
|
1070
1064
|
!(is_all_caps_and_underscore(name, (size_t)segment_len) ||
|
1071
|
-
((flags &
|
1065
|
+
((flags & GIT_REF_FORMAT_REFSPEC_PATTERN) && !strcmp("*", name))))
|
1072
1066
|
goto cleanup;
|
1073
1067
|
|
1074
1068
|
if ((segments_count > 1)
|
@@ -1079,12 +1073,12 @@ int git_reference__normalize_name(
|
|
1079
1073
|
|
1080
1074
|
cleanup:
|
1081
1075
|
if (error == GIT_EINVALIDSPEC)
|
1082
|
-
|
1083
|
-
|
1076
|
+
giterr_set(
|
1077
|
+
GITERR_REFERENCE,
|
1084
1078
|
"the given reference name '%s' is not valid", name);
|
1085
1079
|
|
1086
1080
|
if (error && normalize)
|
1087
|
-
|
1081
|
+
git_buf_free(buf);
|
1088
1082
|
|
1089
1083
|
#ifdef GIT_USE_ICONV
|
1090
1084
|
git_path_iconv_clear(&ic);
|
@@ -1106,8 +1100,8 @@ int git_reference_normalize_name(
|
|
1106
1100
|
goto cleanup;
|
1107
1101
|
|
1108
1102
|
if (git_buf_len(&buf) > buffer_size - 1) {
|
1109
|
-
|
1110
|
-
|
1103
|
+
giterr_set(
|
1104
|
+
GITERR_REFERENCE,
|
1111
1105
|
"the provided buffer is too short to hold the normalization of '%s'", name);
|
1112
1106
|
error = GIT_EBUFS;
|
1113
1107
|
goto cleanup;
|
@@ -1118,17 +1112,17 @@ int git_reference_normalize_name(
|
|
1118
1112
|
error = 0;
|
1119
1113
|
|
1120
1114
|
cleanup:
|
1121
|
-
|
1115
|
+
git_buf_free(&buf);
|
1122
1116
|
return error;
|
1123
1117
|
}
|
1124
1118
|
|
1125
|
-
#define
|
1119
|
+
#define GIT_REF_TYPEMASK (GIT_REF_OID | GIT_REF_SYMBOLIC)
|
1126
1120
|
|
1127
1121
|
int git_reference_cmp(
|
1128
1122
|
const git_reference *ref1,
|
1129
1123
|
const git_reference *ref2)
|
1130
1124
|
{
|
1131
|
-
|
1125
|
+
git_ref_t type1, type2;
|
1132
1126
|
assert(ref1 && ref2);
|
1133
1127
|
|
1134
1128
|
type1 = git_reference_type(ref1);
|
@@ -1136,9 +1130,9 @@ int git_reference_cmp(
|
|
1136
1130
|
|
1137
1131
|
/* let's put symbolic refs before OIDs */
|
1138
1132
|
if (type1 != type2)
|
1139
|
-
return (type1 ==
|
1133
|
+
return (type1 == GIT_REF_SYMBOLIC) ? -1 : 1;
|
1140
1134
|
|
1141
|
-
if (type1 ==
|
1135
|
+
if (type1 == GIT_REF_SYMBOLIC)
|
1142
1136
|
return strcmp(ref1->target.symbolic, ref2->target.symbolic);
|
1143
1137
|
|
1144
1138
|
return git_oid__cmp(&ref1->target.oid, &ref2->target.oid);
|
@@ -1154,7 +1148,7 @@ static int get_terminal(git_reference **out, git_repository *repo, const char *r
|
|
1154
1148
|
int error = 0;
|
1155
1149
|
|
1156
1150
|
if (nesting > MAX_NESTING_LEVEL) {
|
1157
|
-
|
1151
|
+
giterr_set(GITERR_REFERENCE, "reference chain too deep (%d)", nesting);
|
1158
1152
|
return GIT_ENOTFOUND;
|
1159
1153
|
}
|
1160
1154
|
|
@@ -1164,7 +1158,7 @@ static int get_terminal(git_reference **out, git_repository *repo, const char *r
|
|
1164
1158
|
return error;
|
1165
1159
|
}
|
1166
1160
|
|
1167
|
-
if (git_reference_type(ref) ==
|
1161
|
+
if (git_reference_type(ref) == GIT_REF_OID) {
|
1168
1162
|
*out = ref;
|
1169
1163
|
error = 0;
|
1170
1164
|
} else {
|
@@ -1203,16 +1197,16 @@ int git_reference__update_terminal(
|
|
1203
1197
|
|
1204
1198
|
/* found a dangling symref */
|
1205
1199
|
if (error == GIT_ENOTFOUND && ref) {
|
1206
|
-
assert(git_reference_type(ref) ==
|
1207
|
-
|
1200
|
+
assert(git_reference_type(ref) == GIT_REF_SYMBOLIC);
|
1201
|
+
giterr_clear();
|
1208
1202
|
error = reference__create(&ref2, repo, ref->target.symbolic, oid, NULL, 0, to_use,
|
1209
1203
|
log_message, NULL, NULL);
|
1210
1204
|
} else if (error == GIT_ENOTFOUND) {
|
1211
|
-
|
1205
|
+
giterr_clear();
|
1212
1206
|
error = reference__create(&ref2, repo, ref_name, oid, NULL, 0, to_use,
|
1213
1207
|
log_message, NULL, NULL);
|
1214
1208
|
} else if (error == 0) {
|
1215
|
-
assert(git_reference_type(ref) ==
|
1209
|
+
assert(git_reference_type(ref) == GIT_REF_OID);
|
1216
1210
|
error = reference__create(&ref2, repo, ref->name, oid, NULL, 1, to_use,
|
1217
1211
|
log_message, &ref->target.oid, NULL);
|
1218
1212
|
}
|
@@ -1270,7 +1264,7 @@ int git_reference__update_for_commit(
|
|
1270
1264
|
|
1271
1265
|
done:
|
1272
1266
|
git_reference_free(ref_new);
|
1273
|
-
|
1267
|
+
git_buf_free(&reflog_msg);
|
1274
1268
|
git_commit_free(commit);
|
1275
1269
|
return error;
|
1276
1270
|
}
|
@@ -1347,8 +1341,8 @@ int git_reference_is_note(const git_reference *ref)
|
|
1347
1341
|
|
1348
1342
|
static int peel_error(int error, const git_reference *ref, const char* msg)
|
1349
1343
|
{
|
1350
|
-
|
1351
|
-
|
1344
|
+
giterr_set(
|
1345
|
+
GITERR_INVALID,
|
1352
1346
|
"the reference '%s' cannot be peeled - %s", git_reference_name(ref), msg);
|
1353
1347
|
return error;
|
1354
1348
|
}
|
@@ -1356,7 +1350,7 @@ static int peel_error(int error, const git_reference *ref, const char* msg)
|
|
1356
1350
|
int git_reference_peel(
|
1357
1351
|
git_object **peeled,
|
1358
1352
|
const git_reference *ref,
|
1359
|
-
|
1353
|
+
git_otype target_type)
|
1360
1354
|
{
|
1361
1355
|
const git_reference *resolved = NULL;
|
1362
1356
|
git_reference *allocated = NULL;
|
@@ -1365,7 +1359,7 @@ int git_reference_peel(
|
|
1365
1359
|
|
1366
1360
|
assert(ref);
|
1367
1361
|
|
1368
|
-
if (ref->type ==
|
1362
|
+
if (ref->type == GIT_REF_OID) {
|
1369
1363
|
resolved = ref;
|
1370
1364
|
} else {
|
1371
1365
|
if ((error = git_reference_resolve(&allocated, ref)) < 0)
|
@@ -1380,12 +1374,12 @@ int git_reference_peel(
|
|
1380
1374
|
* to a commit. So we only want to use the peeled value
|
1381
1375
|
* if it is not zero and the target is not a tag.
|
1382
1376
|
*/
|
1383
|
-
if (target_type !=
|
1377
|
+
if (target_type != GIT_OBJ_TAG && !git_oid_iszero(&resolved->peel)) {
|
1384
1378
|
error = git_object_lookup(&target,
|
1385
|
-
git_reference_owner(ref), &resolved->peel,
|
1379
|
+
git_reference_owner(ref), &resolved->peel, GIT_OBJ_ANY);
|
1386
1380
|
} else {
|
1387
1381
|
error = git_object_lookup(&target,
|
1388
|
-
git_reference_owner(ref), &resolved->target.oid,
|
1382
|
+
git_reference_owner(ref), &resolved->target.oid, GIT_OBJ_ANY);
|
1389
1383
|
}
|
1390
1384
|
|
1391
1385
|
if (error < 0) {
|
@@ -1393,7 +1387,7 @@ int git_reference_peel(
|
|
1393
1387
|
goto cleanup;
|
1394
1388
|
}
|
1395
1389
|
|
1396
|
-
if (target_type ==
|
1390
|
+
if (target_type == GIT_OBJ_ANY && git_object_type(target) != GIT_OBJ_TAG)
|
1397
1391
|
error = git_object_dup(peeled, target);
|
1398
1392
|
else
|
1399
1393
|
error = git_object_peel(peeled, target, target_type);
|
@@ -1408,7 +1402,7 @@ cleanup:
|
|
1408
1402
|
int git_reference__is_valid_name(const char *refname, unsigned int flags)
|
1409
1403
|
{
|
1410
1404
|
if (git_reference__normalize_name(NULL, refname, flags) < 0) {
|
1411
|
-
|
1405
|
+
giterr_clear();
|
1412
1406
|
return false;
|
1413
1407
|
}
|
1414
1408
|
|
@@ -1417,7 +1411,7 @@ int git_reference__is_valid_name(const char *refname, unsigned int flags)
|
|
1417
1411
|
|
1418
1412
|
int git_reference_is_valid_name(const char *refname)
|
1419
1413
|
{
|
1420
|
-
return git_reference__is_valid_name(refname,
|
1414
|
+
return git_reference__is_valid_name(refname, GIT_REF_FORMAT_ALLOW_ONELEVEL);
|
1421
1415
|
}
|
1422
1416
|
|
1423
1417
|
const char *git_reference__shorthand(const char *name)
|
@@ -1439,27 +1433,3 @@ const char *git_reference_shorthand(const git_reference *ref)
|
|
1439
1433
|
{
|
1440
1434
|
return git_reference__shorthand(ref->name);
|
1441
1435
|
}
|
1442
|
-
|
1443
|
-
int git_reference__is_unborn_head(bool *unborn, const git_reference *ref, git_repository *repo)
|
1444
|
-
{
|
1445
|
-
int error;
|
1446
|
-
git_reference *tmp_ref;
|
1447
|
-
assert(unborn && ref && repo);
|
1448
|
-
|
1449
|
-
if (ref->type == GIT_REFERENCE_DIRECT) {
|
1450
|
-
*unborn = 0;
|
1451
|
-
return 0;
|
1452
|
-
}
|
1453
|
-
|
1454
|
-
error = git_reference_lookup_resolved(&tmp_ref, repo, ref->name, -1);
|
1455
|
-
git_reference_free(tmp_ref);
|
1456
|
-
|
1457
|
-
if (error != 0 && error != GIT_ENOTFOUND)
|
1458
|
-
return error;
|
1459
|
-
else if (error == GIT_ENOTFOUND && git__strcmp(ref->name, GIT_HEAD_FILE) == 0)
|
1460
|
-
*unborn = true;
|
1461
|
-
else
|
1462
|
-
*unborn = false;
|
1463
|
-
|
1464
|
-
return 0;
|
1465
|
-
}
|