rugged 0.28.4 → 0.28.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +0 -1
- data/vendor/libgit2/CMakeLists.txt +16 -36
- data/vendor/libgit2/COPYING +0 -28
- data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +1 -5
- data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
- data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +0 -6
- data/vendor/libgit2/deps/http-parser/http_parser.c +6 -11
- data/vendor/libgit2/deps/regex/CMakeLists.txt +2 -0
- data/vendor/libgit2/deps/regex/COPYING +502 -0
- data/vendor/libgit2/deps/regex/config.h +7 -0
- data/vendor/libgit2/deps/regex/regcomp.c +3857 -0
- data/vendor/libgit2/deps/regex/regex.c +92 -0
- data/vendor/libgit2/deps/regex/regex.h +582 -0
- data/vendor/libgit2/deps/regex/regex_internal.c +1744 -0
- data/vendor/libgit2/deps/regex/regex_internal.h +819 -0
- data/vendor/libgit2/deps/regex/regexec.c +4369 -0
- data/vendor/libgit2/deps/zlib/adler32.c +7 -0
- data/vendor/libgit2/deps/zlib/crc32.c +7 -0
- data/vendor/libgit2/include/git2.h +0 -2
- data/vendor/libgit2/include/git2/apply.h +2 -22
- data/vendor/libgit2/include/git2/attr.h +12 -19
- data/vendor/libgit2/include/git2/blame.h +2 -2
- data/vendor/libgit2/include/git2/blob.h +12 -44
- data/vendor/libgit2/include/git2/buffer.h +14 -20
- data/vendor/libgit2/include/git2/checkout.h +14 -46
- data/vendor/libgit2/include/git2/cherrypick.h +3 -3
- data/vendor/libgit2/include/git2/clone.h +2 -2
- data/vendor/libgit2/include/git2/commit.h +1 -23
- data/vendor/libgit2/include/git2/common.h +5 -7
- data/vendor/libgit2/include/git2/config.h +12 -12
- data/vendor/libgit2/include/git2/deprecated.h +3 -243
- data/vendor/libgit2/include/git2/describe.h +4 -4
- data/vendor/libgit2/include/git2/diff.h +14 -16
- data/vendor/libgit2/include/git2/filter.h +0 -8
- data/vendor/libgit2/include/git2/index.h +1 -2
- data/vendor/libgit2/include/git2/indexer.h +4 -48
- data/vendor/libgit2/include/git2/inttypes.h +309 -0
- data/vendor/libgit2/include/git2/merge.h +10 -6
- data/vendor/libgit2/include/git2/net.h +5 -0
- data/vendor/libgit2/include/git2/object.h +14 -2
- data/vendor/libgit2/include/git2/odb.h +2 -3
- data/vendor/libgit2/include/git2/odb_backend.h +4 -5
- data/vendor/libgit2/include/git2/oid.h +1 -1
- data/vendor/libgit2/include/git2/pack.h +1 -12
- data/vendor/libgit2/include/git2/proxy.h +3 -5
- data/vendor/libgit2/include/git2/rebase.h +2 -46
- data/vendor/libgit2/include/git2/refs.h +0 -19
- data/vendor/libgit2/include/git2/remote.h +12 -35
- data/vendor/libgit2/include/git2/repository.h +2 -24
- data/vendor/libgit2/include/git2/revert.h +1 -1
- data/vendor/libgit2/include/git2/stash.h +3 -3
- data/vendor/libgit2/include/git2/status.h +16 -25
- data/vendor/libgit2/include/git2/submodule.h +3 -20
- data/vendor/libgit2/include/git2/sys/alloc.h +9 -9
- data/vendor/libgit2/include/git2/sys/odb_backend.h +4 -48
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +21 -57
- data/vendor/libgit2/include/git2/sys/repository.h +1 -5
- data/vendor/libgit2/include/git2/sys/time.h +31 -0
- data/vendor/libgit2/include/git2/sys/transport.h +2 -2
- data/vendor/libgit2/include/git2/tag.h +2 -11
- data/vendor/libgit2/include/git2/trace.h +2 -2
- data/vendor/libgit2/include/git2/transport.h +340 -11
- data/vendor/libgit2/include/git2/tree.h +1 -1
- data/vendor/libgit2/include/git2/types.h +89 -4
- data/vendor/libgit2/include/git2/version.h +2 -2
- data/vendor/libgit2/include/git2/worktree.h +5 -5
- data/vendor/libgit2/libgit2.pc.in +13 -0
- data/vendor/libgit2/src/CMakeLists.txt +222 -88
- data/vendor/libgit2/src/alloc.c +14 -2
- data/vendor/libgit2/src/apply.c +30 -60
- data/vendor/libgit2/src/attr.c +64 -70
- data/vendor/libgit2/src/attr_file.c +96 -189
- data/vendor/libgit2/src/attr_file.h +9 -9
- data/vendor/libgit2/src/attrcache.c +46 -44
- data/vendor/libgit2/src/attrcache.h +1 -2
- data/vendor/libgit2/src/blame.c +5 -17
- data/vendor/libgit2/src/blame.h +1 -1
- data/vendor/libgit2/src/blame_git.c +7 -21
- data/vendor/libgit2/src/blob.c +17 -81
- data/vendor/libgit2/src/blob.h +2 -2
- data/vendor/libgit2/src/branch.c +5 -29
- data/vendor/libgit2/src/buffer.c +7 -14
- data/vendor/libgit2/src/cache.c +33 -26
- data/vendor/libgit2/src/cache.h +1 -1
- data/vendor/libgit2/src/cc-compat.h +0 -5
- data/vendor/libgit2/src/checkout.c +16 -26
- data/vendor/libgit2/src/cherrypick.c +3 -9
- data/vendor/libgit2/src/clone.c +7 -29
- data/vendor/libgit2/src/clone.h +0 -4
- data/vendor/libgit2/src/commit.c +21 -69
- data/vendor/libgit2/src/commit.h +0 -6
- data/vendor/libgit2/src/commit_list.c +76 -28
- data/vendor/libgit2/src/commit_list.h +2 -2
- data/vendor/libgit2/src/common.h +75 -3
- data/vendor/libgit2/src/config.c +40 -31
- data/vendor/libgit2/src/config.h +6 -7
- data/vendor/libgit2/src/config_backend.h +0 -12
- data/vendor/libgit2/src/config_cache.c +39 -39
- data/vendor/libgit2/src/config_entries.c +99 -69
- data/vendor/libgit2/src/config_entries.h +0 -1
- data/vendor/libgit2/src/config_file.c +380 -337
- data/vendor/libgit2/src/config_mem.c +16 -12
- data/vendor/libgit2/src/config_parse.c +29 -49
- data/vendor/libgit2/src/config_parse.h +12 -13
- data/vendor/libgit2/src/crlf.c +14 -14
- data/vendor/libgit2/src/describe.c +20 -21
- data/vendor/libgit2/src/diff.c +58 -43
- data/vendor/libgit2/src/diff.h +1 -2
- data/vendor/libgit2/src/diff_driver.c +38 -37
- data/vendor/libgit2/src/diff_file.c +7 -9
- data/vendor/libgit2/src/diff_file.h +1 -1
- data/vendor/libgit2/src/diff_generate.c +85 -135
- data/vendor/libgit2/src/diff_generate.h +2 -2
- data/vendor/libgit2/src/diff_parse.c +1 -1
- data/vendor/libgit2/src/diff_print.c +13 -25
- data/vendor/libgit2/src/diff_stats.c +1 -1
- data/vendor/libgit2/src/diff_tform.c +4 -4
- data/vendor/libgit2/src/errors.c +22 -12
- data/vendor/libgit2/src/features.h.in +2 -9
- data/vendor/libgit2/src/fetch.c +2 -7
- data/vendor/libgit2/src/fetchhead.c +1 -1
- data/vendor/libgit2/src/filebuf.c +10 -6
- data/vendor/libgit2/src/filebuf.h +2 -2
- data/vendor/libgit2/src/{futils.c → fileops.c} +17 -21
- data/vendor/libgit2/src/{futils.h → fileops.h} +5 -5
- data/vendor/libgit2/src/filter.c +8 -16
- data/vendor/libgit2/src/fnmatch.c +248 -0
- data/vendor/libgit2/src/fnmatch.h +48 -0
- data/vendor/libgit2/src/global.c +40 -12
- data/vendor/libgit2/src/global.h +2 -0
- data/vendor/libgit2/src/hash.c +0 -61
- data/vendor/libgit2/src/hash.h +21 -19
- data/vendor/libgit2/src/hash/{sha1/collisiondetect.c → hash_collisiondetect.h} +17 -14
- data/vendor/libgit2/src/hash/{sha1/common_crypto.c → hash_common_crypto.h} +19 -15
- data/vendor/libgit2/src/hash/{sha1/generic.c → hash_generic.c} +10 -22
- data/vendor/libgit2/src/hash/{sha1/generic.h → hash_generic.h} +14 -4
- data/vendor/libgit2/src/hash/{sha1/mbedtls.c → hash_mbedtls.c} +7 -15
- data/vendor/libgit2/src/hash/{sha1/mbedtls.h → hash_mbedtls.h} +11 -6
- data/vendor/libgit2/src/hash/{sha1/openssl.c → hash_openssl.h} +18 -14
- data/vendor/libgit2/src/hash/{sha1/win32.c → hash_win32.c} +24 -34
- data/vendor/libgit2/src/hash/{sha1/win32.h → hash_win32.h} +19 -6
- data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/sha1.c +3 -14
- data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/sha1.h +0 -0
- data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/ubc_check.c +0 -0
- data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/ubc_check.h +0 -0
- data/vendor/libgit2/src/hashsig.c +1 -1
- data/vendor/libgit2/src/idxmap.c +65 -91
- data/vendor/libgit2/src/idxmap.h +15 -151
- data/vendor/libgit2/src/ignore.c +38 -32
- data/vendor/libgit2/src/index.c +43 -66
- data/vendor/libgit2/src/index.h +1 -1
- data/vendor/libgit2/src/indexer.c +70 -69
- data/vendor/libgit2/src/integer.h +4 -39
- data/vendor/libgit2/src/iterator.c +22 -27
- data/vendor/libgit2/src/map.h +1 -1
- data/vendor/libgit2/src/merge.c +44 -58
- data/vendor/libgit2/src/merge_driver.c +4 -4
- data/vendor/libgit2/src/merge_file.c +1 -1
- data/vendor/libgit2/src/mwindow.c +23 -18
- data/vendor/libgit2/src/mwindow.h +4 -4
- data/vendor/libgit2/src/netops.c +165 -55
- data/vendor/libgit2/src/netops.h +25 -3
- data/vendor/libgit2/src/notes.c +2 -2
- data/vendor/libgit2/src/object.c +2 -2
- data/vendor/libgit2/src/object.h +0 -2
- data/vendor/libgit2/src/odb.c +23 -41
- data/vendor/libgit2/src/odb.h +2 -3
- data/vendor/libgit2/src/odb_loose.c +10 -17
- data/vendor/libgit2/src/odb_mempack.c +23 -10
- data/vendor/libgit2/src/odb_pack.c +4 -4
- data/vendor/libgit2/src/offmap.c +55 -43
- data/vendor/libgit2/src/offmap.h +24 -102
- data/vendor/libgit2/src/oid.c +1 -6
- data/vendor/libgit2/src/oidmap.c +57 -39
- data/vendor/libgit2/src/oidmap.h +19 -99
- data/vendor/libgit2/src/pack-objects.c +32 -25
- data/vendor/libgit2/src/pack-objects.h +1 -1
- data/vendor/libgit2/src/pack.c +47 -45
- data/vendor/libgit2/src/pack.h +14 -12
- data/vendor/libgit2/src/parse.c +0 -10
- data/vendor/libgit2/src/parse.h +3 -3
- data/vendor/libgit2/src/patch.c +1 -1
- data/vendor/libgit2/src/patch_generate.c +2 -2
- data/vendor/libgit2/src/patch_parse.c +31 -124
- data/vendor/libgit2/src/path.c +6 -43
- data/vendor/libgit2/src/path.h +0 -2
- data/vendor/libgit2/src/pathspec.c +13 -13
- data/vendor/libgit2/src/pool.c +22 -26
- data/vendor/libgit2/src/pool.h +7 -7
- data/vendor/libgit2/src/posix.c +7 -7
- data/vendor/libgit2/src/posix.h +1 -12
- data/vendor/libgit2/src/proxy.c +2 -7
- data/vendor/libgit2/src/push.c +5 -10
- data/vendor/libgit2/src/reader.c +2 -2
- data/vendor/libgit2/src/rebase.c +7 -66
- data/vendor/libgit2/src/refdb.c +0 -12
- data/vendor/libgit2/src/refdb_fs.c +165 -214
- data/vendor/libgit2/src/reflog.c +13 -11
- data/vendor/libgit2/src/refs.c +18 -24
- data/vendor/libgit2/src/refspec.c +16 -9
- data/vendor/libgit2/src/remote.c +52 -50
- data/vendor/libgit2/src/remote.h +2 -2
- data/vendor/libgit2/src/repository.c +100 -115
- data/vendor/libgit2/src/repository.h +40 -49
- data/vendor/libgit2/src/revert.c +3 -8
- data/vendor/libgit2/src/revparse.c +19 -18
- data/vendor/libgit2/src/revwalk.c +30 -63
- data/vendor/libgit2/src/revwalk.h +0 -20
- data/vendor/libgit2/src/settings.c +0 -5
- data/vendor/libgit2/src/sortedcache.c +26 -12
- data/vendor/libgit2/src/sortedcache.h +1 -1
- data/vendor/libgit2/src/stash.c +65 -45
- data/vendor/libgit2/src/status.c +9 -15
- data/vendor/libgit2/src/{allocators/stdalloc.c → stdalloc.c} +4 -3
- data/vendor/libgit2/src/{allocators/stdalloc.h → stdalloc.h} +4 -4
- data/vendor/libgit2/src/streams/openssl.c +0 -20
- data/vendor/libgit2/src/streams/socket.c +2 -2
- data/vendor/libgit2/src/strmap.c +84 -37
- data/vendor/libgit2/src/strmap.h +33 -105
- data/vendor/libgit2/src/submodule.c +70 -102
- data/vendor/libgit2/src/submodule.h +1 -1
- data/vendor/libgit2/src/sysdir.c +1 -11
- data/vendor/libgit2/src/tag.c +2 -10
- data/vendor/libgit2/src/trace.c +1 -1
- data/vendor/libgit2/src/trace.h +2 -2
- data/vendor/libgit2/src/trailer.c +32 -46
- data/vendor/libgit2/src/transaction.c +9 -10
- data/vendor/libgit2/src/transports/auth.c +9 -10
- data/vendor/libgit2/src/transports/auth.h +4 -11
- data/vendor/libgit2/src/transports/auth_negotiate.c +9 -23
- data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
- data/vendor/libgit2/src/transports/cred.c +6 -6
- data/vendor/libgit2/src/{allocators/win32_crtdbg.h → transports/cred.h} +4 -5
- data/vendor/libgit2/src/transports/git.c +16 -11
- data/vendor/libgit2/src/transports/http.c +276 -419
- data/vendor/libgit2/src/transports/http.h +1 -1
- data/vendor/libgit2/src/transports/local.c +9 -9
- data/vendor/libgit2/src/transports/smart.c +17 -17
- data/vendor/libgit2/src/transports/smart.h +2 -2
- data/vendor/libgit2/src/transports/smart_protocol.c +60 -36
- data/vendor/libgit2/src/transports/ssh.c +36 -46
- data/vendor/libgit2/src/transports/winhttp.c +207 -231
- data/vendor/libgit2/src/tree-cache.c +7 -14
- data/vendor/libgit2/src/tree.c +24 -10
- data/vendor/libgit2/src/unix/map.c +1 -1
- data/vendor/libgit2/src/unix/posix.h +11 -1
- data/vendor/libgit2/src/userdiff.h +1 -3
- data/vendor/libgit2/src/util.c +53 -51
- data/vendor/libgit2/src/util.h +21 -16
- data/vendor/libgit2/src/win32/map.c +5 -3
- data/vendor/libgit2/src/win32/path_w32.c +2 -12
- data/vendor/libgit2/src/win32/path_w32.h +29 -0
- data/vendor/libgit2/src/win32/posix.h +4 -1
- data/vendor/libgit2/src/win32/posix_w32.c +5 -40
- data/vendor/libgit2/src/win32/precompiled.h +2 -0
- data/vendor/libgit2/src/win32/thread.c +10 -5
- data/vendor/libgit2/src/win32/w32_buffer.c +3 -7
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +93 -0
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +2 -0
- data/vendor/libgit2/src/win32/w32_stack.c +9 -4
- data/vendor/libgit2/src/win32/w32_stack.h +3 -3
- data/vendor/libgit2/src/win32/w32_util.c +0 -31
- data/vendor/libgit2/src/win32/w32_util.h +32 -6
- data/vendor/libgit2/src/worktree.c +22 -36
- data/vendor/libgit2/src/xdiff/xdiffi.c +1 -1
- data/vendor/libgit2/src/xdiff/xmerge.c +0 -12
- data/vendor/libgit2/src/xdiff/xpatience.c +0 -3
- metadata +34 -98
- data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +0 -28
- data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +0 -38
- data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +0 -37
- data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +0 -110
- data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +0 -53
- data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +0 -124
- data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +0 -66
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +0 -21
- data/vendor/libgit2/deps/ntlmclient/compat.h +0 -33
- data/vendor/libgit2/deps/ntlmclient/crypt.h +0 -64
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +0 -120
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +0 -18
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -145
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +0 -18
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +0 -130
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +0 -21
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +0 -1420
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +0 -174
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +0 -320
- data/vendor/libgit2/deps/ntlmclient/unicode.h +0 -36
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +0 -445
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +0 -201
- data/vendor/libgit2/deps/ntlmclient/utf8.h +0 -1257
- data/vendor/libgit2/deps/ntlmclient/util.c +0 -21
- data/vendor/libgit2/deps/ntlmclient/util.h +0 -14
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +0 -140
- data/vendor/libgit2/deps/pcre/COPYING +0 -5
- data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +0 -22
- data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +0 -17
- data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +0 -58
- data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +0 -29
- data/vendor/libgit2/deps/pcre/config.h.in +0 -57
- data/vendor/libgit2/deps/pcre/pcre.h +0 -641
- data/vendor/libgit2/deps/pcre/pcre_byte_order.c +0 -319
- data/vendor/libgit2/deps/pcre/pcre_chartables.c +0 -198
- data/vendor/libgit2/deps/pcre/pcre_compile.c +0 -9800
- data/vendor/libgit2/deps/pcre/pcre_config.c +0 -190
- data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +0 -3676
- data/vendor/libgit2/deps/pcre/pcre_exec.c +0 -7173
- data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +0 -245
- data/vendor/libgit2/deps/pcre/pcre_get.c +0 -669
- data/vendor/libgit2/deps/pcre/pcre_globals.c +0 -86
- data/vendor/libgit2/deps/pcre/pcre_internal.h +0 -2787
- data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +0 -11913
- data/vendor/libgit2/deps/pcre/pcre_maketables.c +0 -156
- data/vendor/libgit2/deps/pcre/pcre_newline.c +0 -210
- data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +0 -94
- data/vendor/libgit2/deps/pcre/pcre_printint.c +0 -834
- data/vendor/libgit2/deps/pcre/pcre_refcount.c +0 -92
- data/vendor/libgit2/deps/pcre/pcre_string_utils.c +0 -211
- data/vendor/libgit2/deps/pcre/pcre_study.c +0 -1686
- data/vendor/libgit2/deps/pcre/pcre_tables.c +0 -727
- data/vendor/libgit2/deps/pcre/pcre_ucd.c +0 -3644
- data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +0 -301
- data/vendor/libgit2/deps/pcre/pcre_version.c +0 -98
- data/vendor/libgit2/deps/pcre/pcre_xclass.c +0 -268
- data/vendor/libgit2/deps/pcre/pcreposix.c +0 -421
- data/vendor/libgit2/deps/pcre/pcreposix.h +0 -117
- data/vendor/libgit2/deps/pcre/ucp.h +0 -224
- data/vendor/libgit2/include/git2/cert.h +0 -135
- data/vendor/libgit2/include/git2/cred.h +0 -308
- data/vendor/libgit2/include/git2/sys/cred.h +0 -90
- data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
- data/vendor/libgit2/src/config_snapshot.c +0 -206
- data/vendor/libgit2/src/errors.h +0 -81
- data/vendor/libgit2/src/hash/sha1.h +0 -38
- data/vendor/libgit2/src/hash/sha1/collisiondetect.h +0 -19
- data/vendor/libgit2/src/hash/sha1/common_crypto.h +0 -19
- data/vendor/libgit2/src/hash/sha1/openssl.h +0 -19
- data/vendor/libgit2/src/net.c +0 -184
- data/vendor/libgit2/src/net.h +0 -36
- data/vendor/libgit2/src/regexp.c +0 -221
- data/vendor/libgit2/src/regexp.h +0 -97
- data/vendor/libgit2/src/transports/auth_ntlm.c +0 -223
- data/vendor/libgit2/src/transports/auth_ntlm.h +0 -35
- data/vendor/libgit2/src/wildmatch.c +0 -320
- data/vendor/libgit2/src/wildmatch.h +0 -23
- data/vendor/libgit2/src/win32/w32_common.h +0 -39
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/vendor/libgit2/src/idxmap.c
CHANGED
|
@@ -32,148 +32,122 @@ static kh_inline khint_t idxentry_hash(const git_index_entry *e)
|
|
|
32
32
|
__KHASH_IMPL(idx, static kh_inline, const git_index_entry *, git_index_entry *, 1, idxentry_hash, idxentry_equal)
|
|
33
33
|
__KHASH_IMPL(idxicase, static kh_inline, const git_index_entry *, git_index_entry *, 1, idxentry_hash, idxentry_icase_equal)
|
|
34
34
|
|
|
35
|
-
int
|
|
35
|
+
int git_idxmap_alloc(git_idxmap **map)
|
|
36
36
|
{
|
|
37
|
-
*
|
|
38
|
-
|
|
37
|
+
if ((*map = kh_init(idx)) == NULL) {
|
|
38
|
+
git_error_set_oom();
|
|
39
|
+
return -1;
|
|
40
|
+
}
|
|
39
41
|
|
|
40
42
|
return 0;
|
|
41
43
|
}
|
|
42
44
|
|
|
43
|
-
int
|
|
45
|
+
int git_idxmap_icase_alloc(git_idxmap_icase **map)
|
|
44
46
|
{
|
|
45
|
-
*
|
|
46
|
-
|
|
47
|
+
if ((*map = kh_init(idxicase)) == NULL) {
|
|
48
|
+
git_error_set_oom();
|
|
49
|
+
return -1;
|
|
50
|
+
}
|
|
47
51
|
|
|
48
52
|
return 0;
|
|
49
53
|
}
|
|
50
54
|
|
|
51
|
-
void
|
|
55
|
+
void git_idxmap_insert(git_idxmap *map, const git_index_entry *key, void *value, int *rval)
|
|
52
56
|
{
|
|
53
|
-
|
|
57
|
+
khiter_t idx = kh_put(idx, map, key, rval);
|
|
58
|
+
|
|
59
|
+
if ((*rval) >= 0) {
|
|
60
|
+
if ((*rval) == 0)
|
|
61
|
+
kh_key(map, idx) = key;
|
|
62
|
+
kh_val(map, idx) = value;
|
|
63
|
+
}
|
|
54
64
|
}
|
|
55
65
|
|
|
56
|
-
void
|
|
66
|
+
void git_idxmap_icase_insert(git_idxmap_icase *map, const git_index_entry *key, void *value, int *rval)
|
|
57
67
|
{
|
|
58
|
-
|
|
68
|
+
khiter_t idx = kh_put(idxicase, map, key, rval);
|
|
69
|
+
|
|
70
|
+
if ((*rval) >= 0) {
|
|
71
|
+
if ((*rval) == 0)
|
|
72
|
+
kh_key(map, idx) = key;
|
|
73
|
+
kh_val(map, idx) = value;
|
|
74
|
+
}
|
|
59
75
|
}
|
|
60
76
|
|
|
61
|
-
|
|
77
|
+
size_t git_idxmap_lookup_index(git_idxmap *map, const git_index_entry *key)
|
|
62
78
|
{
|
|
63
|
-
|
|
79
|
+
return kh_get(idx, map, key);
|
|
64
80
|
}
|
|
65
81
|
|
|
66
|
-
|
|
82
|
+
size_t git_idxmap_icase_lookup_index(git_idxmap_icase *map, const git_index_entry *key)
|
|
67
83
|
{
|
|
68
|
-
|
|
84
|
+
return kh_get(idxicase, map, key);
|
|
69
85
|
}
|
|
70
86
|
|
|
71
|
-
|
|
87
|
+
void *git_idxmap_value_at(git_idxmap *map, size_t idx)
|
|
72
88
|
{
|
|
73
|
-
|
|
74
|
-
kh_resize(idx, map, (khiter_t)size) < 0) {
|
|
75
|
-
git_error_set_oom();
|
|
76
|
-
return -1;
|
|
77
|
-
}
|
|
78
|
-
return 0;
|
|
89
|
+
return kh_val(map, idx);
|
|
79
90
|
}
|
|
80
91
|
|
|
81
|
-
int
|
|
92
|
+
int git_idxmap_valid_index(git_idxmap *map, size_t idx)
|
|
82
93
|
{
|
|
83
|
-
|
|
84
|
-
kh_resize(idxicase, map, (khiter_t)size) < 0) {
|
|
85
|
-
git_error_set_oom();
|
|
86
|
-
return -1;
|
|
87
|
-
}
|
|
88
|
-
return 0;
|
|
94
|
+
return idx != kh_end(map);
|
|
89
95
|
}
|
|
90
96
|
|
|
91
|
-
|
|
97
|
+
int git_idxmap_has_data(git_idxmap *map, size_t idx)
|
|
92
98
|
{
|
|
93
|
-
|
|
94
|
-
if (idx == kh_end(map) || !kh_exist(map, idx))
|
|
95
|
-
return NULL;
|
|
96
|
-
return kh_val(map, idx);
|
|
99
|
+
return kh_exist(map, idx);
|
|
97
100
|
}
|
|
98
101
|
|
|
99
|
-
|
|
102
|
+
void git_idxmap_resize(git_idxmap *map, size_t size)
|
|
100
103
|
{
|
|
101
|
-
|
|
102
|
-
int rval;
|
|
103
|
-
|
|
104
|
-
idx = kh_put(idx, map, key, &rval);
|
|
105
|
-
if (rval < 0)
|
|
106
|
-
return -1;
|
|
107
|
-
|
|
108
|
-
if (rval == 0)
|
|
109
|
-
kh_key(map, idx) = key;
|
|
110
|
-
|
|
111
|
-
kh_val(map, idx) = value;
|
|
112
|
-
|
|
113
|
-
return 0;
|
|
104
|
+
kh_resize(idx, map, size);
|
|
114
105
|
}
|
|
115
106
|
|
|
116
|
-
|
|
107
|
+
void git_idxmap_icase_resize(git_idxmap_icase *map, size_t size)
|
|
117
108
|
{
|
|
118
|
-
|
|
119
|
-
int rval;
|
|
120
|
-
|
|
121
|
-
idx = kh_put(idxicase, map, key, &rval);
|
|
122
|
-
if (rval < 0)
|
|
123
|
-
return -1;
|
|
124
|
-
|
|
125
|
-
if (rval == 0)
|
|
126
|
-
kh_key(map, idx) = key;
|
|
127
|
-
|
|
128
|
-
kh_val(map, idx) = value;
|
|
129
|
-
|
|
130
|
-
return 0;
|
|
109
|
+
kh_resize(idxicase, map, size);
|
|
131
110
|
}
|
|
132
111
|
|
|
133
|
-
void
|
|
112
|
+
void git_idxmap_free(git_idxmap *map)
|
|
134
113
|
{
|
|
135
|
-
|
|
136
|
-
if (idx == kh_end(map) || !kh_exist(map, idx))
|
|
137
|
-
return NULL;
|
|
138
|
-
return kh_val(map, idx);
|
|
114
|
+
kh_destroy(idx, map);
|
|
139
115
|
}
|
|
140
116
|
|
|
141
|
-
void
|
|
117
|
+
void git_idxmap_icase_free(git_idxmap_icase *map)
|
|
142
118
|
{
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
if ((*rval) >= 0) {
|
|
146
|
-
if ((*rval) == 0)
|
|
147
|
-
kh_key(map, idx) = key;
|
|
148
|
-
kh_val(map, idx) = value;
|
|
149
|
-
}
|
|
119
|
+
kh_destroy(idxicase, map);
|
|
150
120
|
}
|
|
151
121
|
|
|
152
|
-
void
|
|
122
|
+
void git_idxmap_clear(git_idxmap *map)
|
|
153
123
|
{
|
|
154
|
-
|
|
124
|
+
kh_clear(idx, map);
|
|
125
|
+
}
|
|
155
126
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
kh_val(map, idx) = value;
|
|
160
|
-
}
|
|
127
|
+
void git_idxmap_icase_clear(git_idxmap_icase *map)
|
|
128
|
+
{
|
|
129
|
+
kh_clear(idxicase, map);
|
|
161
130
|
}
|
|
162
131
|
|
|
163
|
-
|
|
132
|
+
void git_idxmap_delete_at(git_idxmap *map, size_t idx)
|
|
164
133
|
{
|
|
165
|
-
khiter_t idx = kh_get(idx, map, key);
|
|
166
|
-
if (idx == kh_end(map))
|
|
167
|
-
return GIT_ENOTFOUND;
|
|
168
134
|
kh_del(idx, map, idx);
|
|
169
|
-
return 0;
|
|
170
135
|
}
|
|
171
136
|
|
|
172
|
-
|
|
137
|
+
void git_idxmap_icase_delete_at(git_idxmap_icase *map, size_t idx)
|
|
173
138
|
{
|
|
174
|
-
khiter_t idx = kh_get(idxicase, map, key);
|
|
175
|
-
if (idx == kh_end(map))
|
|
176
|
-
return GIT_ENOTFOUND;
|
|
177
139
|
kh_del(idxicase, map, idx);
|
|
178
|
-
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
void git_idxmap_delete(git_idxmap *map, const git_index_entry *key)
|
|
143
|
+
{
|
|
144
|
+
khiter_t idx = git_idxmap_lookup_index(map, key);
|
|
145
|
+
if (git_idxmap_valid_index(map, idx))
|
|
146
|
+
git_idxmap_delete_at(map, idx);
|
|
147
|
+
}
|
|
148
|
+
void git_idxmap_icase_delete(git_idxmap_icase *map, const git_index_entry *key)
|
|
149
|
+
{
|
|
150
|
+
khiter_t idx = git_idxmap_icase_lookup_index(map, key);
|
|
151
|
+
if (git_idxmap_valid_index((git_idxmap *)map, idx))
|
|
152
|
+
git_idxmap_icase_delete_at(map, idx);
|
|
179
153
|
}
|
data/vendor/libgit2/src/idxmap.h
CHANGED
|
@@ -11,167 +11,31 @@
|
|
|
11
11
|
|
|
12
12
|
#include "git2/index.h"
|
|
13
13
|
|
|
14
|
-
/** A map with `git_index_entry`s as key. */
|
|
15
14
|
typedef struct kh_idx_s git_idxmap;
|
|
16
|
-
/** A map with case-insensitive `git_index_entry`s as key */
|
|
17
15
|
typedef struct kh_idxicase_s git_idxmap_icase;
|
|
18
16
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* @return 0 on success, an error code if allocation has failed.
|
|
24
|
-
*/
|
|
25
|
-
int git_idxmap_new(git_idxmap **out);
|
|
17
|
+
int git_idxmap_alloc(git_idxmap **map);
|
|
18
|
+
int git_idxmap_icase_alloc(git_idxmap_icase **map);
|
|
19
|
+
void git_idxmap_insert(git_idxmap *map, const git_index_entry *key, void *value, int *rval);
|
|
20
|
+
void git_idxmap_icase_insert(git_idxmap_icase *map, const git_index_entry *key, void *value, int *rval);
|
|
26
21
|
|
|
27
|
-
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*/
|
|
33
|
-
int git_idxmap_icase_new(git_idxmap_icase **out);
|
|
22
|
+
size_t git_idxmap_lookup_index(git_idxmap *map, const git_index_entry *key);
|
|
23
|
+
size_t git_idxmap_icase_lookup_index(git_idxmap_icase *map, const git_index_entry *key);
|
|
24
|
+
void *git_idxmap_value_at(git_idxmap *map, size_t idx);
|
|
25
|
+
int git_idxmap_valid_index(git_idxmap *map, size_t idx);
|
|
26
|
+
int git_idxmap_has_data(git_idxmap *map, size_t idx);
|
|
34
27
|
|
|
35
|
-
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* Note that this function will _not_ free values added to this
|
|
39
|
-
* map.
|
|
40
|
-
*
|
|
41
|
-
* @param map Pointer to the map that is to be free'd. May be
|
|
42
|
-
* `NULL`.
|
|
43
|
-
*/
|
|
28
|
+
void git_idxmap_resize(git_idxmap *map, size_t size);
|
|
29
|
+
void git_idxmap_icase_resize(git_idxmap_icase *map, size_t size);
|
|
44
30
|
void git_idxmap_free(git_idxmap *map);
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Free memory associated with the map.
|
|
48
|
-
*
|
|
49
|
-
* Note that this function will _not_ free values added to this
|
|
50
|
-
* map.
|
|
51
|
-
*
|
|
52
|
-
* @param map Pointer to the map that is to be free'd. May be
|
|
53
|
-
* `NULL`.
|
|
54
|
-
*/
|
|
55
31
|
void git_idxmap_icase_free(git_idxmap_icase *map);
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Clear all entries from the map.
|
|
59
|
-
*
|
|
60
|
-
* This function will remove all entries from the associated map.
|
|
61
|
-
* Memory associated with it will not be released, though.
|
|
62
|
-
*
|
|
63
|
-
* @param map Pointer to the map that shall be cleared. May be
|
|
64
|
-
* `NULL`.
|
|
65
|
-
*/
|
|
66
32
|
void git_idxmap_clear(git_idxmap *map);
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Clear all entries from the map.
|
|
70
|
-
*
|
|
71
|
-
* This function will remove all entries from the associated map.
|
|
72
|
-
* Memory associated with it will not be released, though.
|
|
73
|
-
*
|
|
74
|
-
* @param map Pointer to the map that shall be cleared. May be
|
|
75
|
-
* `NULL`.
|
|
76
|
-
*/
|
|
77
33
|
void git_idxmap_icase_clear(git_idxmap_icase *map);
|
|
78
34
|
|
|
79
|
-
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
* @param map map that shall be resized
|
|
83
|
-
* @param size count of entries that the map shall hold
|
|
84
|
-
* @return `0` if the map was successfully resized, a negative
|
|
85
|
-
* error code otherwise
|
|
86
|
-
*/
|
|
87
|
-
int git_idxmap_resize(git_idxmap *map, size_t size);
|
|
35
|
+
void git_idxmap_delete_at(git_idxmap *map, size_t idx);
|
|
36
|
+
void git_idxmap_icase_delete_at(git_idxmap_icase *map, size_t idx);
|
|
88
37
|
|
|
89
|
-
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* @param map map that shall be resized
|
|
93
|
-
* @param size count of entries that the map shall hold
|
|
94
|
-
* @return `0` if the map was successfully resized, a negative
|
|
95
|
-
* error code otherwise
|
|
96
|
-
*/
|
|
97
|
-
int git_idxmap_icase_resize(git_idxmap_icase *map, size_t size);
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Return value associated with the given key.
|
|
101
|
-
*
|
|
102
|
-
* @param map map to search key in
|
|
103
|
-
* @param key key to search for; the index entry will be searched
|
|
104
|
-
* for by its case-sensitive path
|
|
105
|
-
* @return value associated with the given key or NULL if the key was not found
|
|
106
|
-
*/
|
|
107
|
-
void *git_idxmap_get(git_idxmap *map, const git_index_entry *key);
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Return value associated with the given key.
|
|
111
|
-
*
|
|
112
|
-
* @param map map to search key in
|
|
113
|
-
* @param key key to search for; the index entry will be searched
|
|
114
|
-
* for by its case-insensitive path
|
|
115
|
-
* @return value associated with the given key or NULL if the key was not found
|
|
116
|
-
*/
|
|
117
|
-
void *git_idxmap_icase_get(git_idxmap_icase *map, const git_index_entry *key);
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Set the entry for key to value.
|
|
121
|
-
*
|
|
122
|
-
* If the map has no corresponding entry for the given key, a new
|
|
123
|
-
* entry will be created with the given value. If an entry exists
|
|
124
|
-
* already, its value will be updated to match the given value.
|
|
125
|
-
*
|
|
126
|
-
* @param map map to create new entry in
|
|
127
|
-
* @param key key to set
|
|
128
|
-
* @param value value to associate the key with; may be NULL
|
|
129
|
-
* @return zero if the key was successfully set, a negative error
|
|
130
|
-
* code otherwise
|
|
131
|
-
*/
|
|
132
|
-
int git_idxmap_set(git_idxmap *map, const git_index_entry *key, void *value);
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Set the entry for key to value.
|
|
136
|
-
*
|
|
137
|
-
* If the map has no corresponding entry for the given key, a new
|
|
138
|
-
* entry will be created with the given value. If an entry exists
|
|
139
|
-
* already, its value will be updated to match the given value.
|
|
140
|
-
*
|
|
141
|
-
* @param map map to create new entry in
|
|
142
|
-
* @param key key to set
|
|
143
|
-
* @param value value to associate the key with; may be NULL
|
|
144
|
-
* @return zero if the key was successfully set, a negative error
|
|
145
|
-
* code otherwise
|
|
146
|
-
*/
|
|
147
|
-
int git_idxmap_icase_set(git_idxmap_icase *map, const git_index_entry *key, void *value);
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Delete an entry from the map.
|
|
151
|
-
*
|
|
152
|
-
* Delete the given key and its value from the map. If no such
|
|
153
|
-
* key exists, this will do nothing.
|
|
154
|
-
*
|
|
155
|
-
* @param map map to delete key in
|
|
156
|
-
* @param key key to delete
|
|
157
|
-
* @return `0` if the key has been deleted, GIT_ENOTFOUND if no
|
|
158
|
-
* such key was found, a negative code in case of an
|
|
159
|
-
* error
|
|
160
|
-
*/
|
|
161
|
-
int git_idxmap_delete(git_idxmap *map, const git_index_entry *key);
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Delete an entry from the map.
|
|
165
|
-
*
|
|
166
|
-
* Delete the given key and its value from the map. If no such
|
|
167
|
-
* key exists, this will do nothing.
|
|
168
|
-
*
|
|
169
|
-
* @param map map to delete key in
|
|
170
|
-
* @param key key to delete
|
|
171
|
-
* @return `0` if the key has been deleted, GIT_ENOTFOUND if no
|
|
172
|
-
* such key was found, a negative code in case of an
|
|
173
|
-
* error
|
|
174
|
-
*/
|
|
175
|
-
int git_idxmap_icase_delete(git_idxmap_icase *map, const git_index_entry *key);
|
|
38
|
+
void git_idxmap_delete(git_idxmap *map, const git_index_entry *key);
|
|
39
|
+
void git_idxmap_icase_delete(git_idxmap_icase *map, const git_index_entry *key);
|
|
176
40
|
|
|
177
41
|
#endif
|
data/vendor/libgit2/src/ignore.c
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
#include "attrcache.h"
|
|
13
13
|
#include "path.h"
|
|
14
14
|
#include "config.h"
|
|
15
|
-
#include "
|
|
15
|
+
#include "fnmatch.h"
|
|
16
16
|
|
|
17
17
|
#define GIT_IGNORE_INTERNAL "[internal]exclude"
|
|
18
18
|
|
|
@@ -101,7 +101,7 @@ static int does_negate_pattern(git_attr_fnmatch *rule, git_attr_fnmatch *neg)
|
|
|
101
101
|
*/
|
|
102
102
|
static int does_negate_rule(int *out, git_vector *rules, git_attr_fnmatch *match)
|
|
103
103
|
{
|
|
104
|
-
int error = 0,
|
|
104
|
+
int error = 0, fnflags;
|
|
105
105
|
size_t i;
|
|
106
106
|
git_attr_fnmatch *rule;
|
|
107
107
|
char *path;
|
|
@@ -109,9 +109,9 @@ static int does_negate_rule(int *out, git_vector *rules, git_attr_fnmatch *match
|
|
|
109
109
|
|
|
110
110
|
*out = 0;
|
|
111
111
|
|
|
112
|
-
|
|
112
|
+
fnflags = FNM_PATHNAME;
|
|
113
113
|
if (match->flags & GIT_ATTR_FNMATCH_ICASE)
|
|
114
|
-
|
|
114
|
+
fnflags |= FNM_IGNORECASE;
|
|
115
115
|
|
|
116
116
|
/* path of the file relative to the workdir, so we match the rules in subdirs */
|
|
117
117
|
if (match->containing_dir) {
|
|
@@ -141,8 +141,13 @@ static int does_negate_rule(int *out, git_vector *rules, git_attr_fnmatch *match
|
|
|
141
141
|
if (git_buf_oom(&buf))
|
|
142
142
|
goto out;
|
|
143
143
|
|
|
144
|
+
if ((error = p_fnmatch(git_buf_cstr(&buf), path, fnflags)) < 0) {
|
|
145
|
+
git_error_set(GIT_ERROR_INVALID, "error matching pattern");
|
|
146
|
+
goto out;
|
|
147
|
+
}
|
|
148
|
+
|
|
144
149
|
/* if we found a match, we want to keep this rule */
|
|
145
|
-
if (
|
|
150
|
+
if (error != FNM_NOMATCH) {
|
|
146
151
|
*out = 1;
|
|
147
152
|
error = 0;
|
|
148
153
|
goto out;
|
|
@@ -158,16 +163,14 @@ out:
|
|
|
158
163
|
}
|
|
159
164
|
|
|
160
165
|
static int parse_ignore_file(
|
|
161
|
-
git_repository *repo, git_attr_file *attrs, const char *data
|
|
166
|
+
git_repository *repo, git_attr_file *attrs, const char *data)
|
|
162
167
|
{
|
|
163
168
|
int error = 0;
|
|
164
169
|
int ignore_case = false;
|
|
165
170
|
const char *scan = data, *context = NULL;
|
|
166
171
|
git_attr_fnmatch *match = NULL;
|
|
167
172
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
if (git_repository__configmap_lookup(&ignore_case, repo, GIT_CONFIGMAP_IGNORECASE) < 0)
|
|
173
|
+
if (git_repository__cvar(&ignore_case, repo, GIT_CVAR_IGNORECASE) < 0)
|
|
171
174
|
git_error_clear();
|
|
172
175
|
|
|
173
176
|
/* if subdir file path, convert context for file paths */
|
|
@@ -190,7 +193,9 @@ static int parse_ignore_file(
|
|
|
190
193
|
}
|
|
191
194
|
|
|
192
195
|
match->flags =
|
|
193
|
-
GIT_ATTR_FNMATCH_ALLOWSPACE |
|
|
196
|
+
GIT_ATTR_FNMATCH_ALLOWSPACE |
|
|
197
|
+
GIT_ATTR_FNMATCH_ALLOWNEG |
|
|
198
|
+
GIT_ATTR_FNMATCH_NOLEADINGDIR;
|
|
194
199
|
|
|
195
200
|
if (!(error = git_attr_fnmatch__parse(
|
|
196
201
|
match, &attrs->pool, context, &scan)))
|
|
@@ -241,8 +246,9 @@ static int push_ignore_file(
|
|
|
241
246
|
int error = 0;
|
|
242
247
|
git_attr_file *file = NULL;
|
|
243
248
|
|
|
244
|
-
error = git_attr_cache__get(
|
|
245
|
-
|
|
249
|
+
error = git_attr_cache__get(
|
|
250
|
+
&file, ignores->repo, NULL, GIT_ATTR_FILE__FROM_FILE,
|
|
251
|
+
base, filename, parse_ignore_file);
|
|
246
252
|
if (error < 0)
|
|
247
253
|
return error;
|
|
248
254
|
|
|
@@ -268,12 +274,12 @@ static int get_internal_ignores(git_attr_file **out, git_repository *repo)
|
|
|
268
274
|
if ((error = git_attr_cache__init(repo)) < 0)
|
|
269
275
|
return error;
|
|
270
276
|
|
|
271
|
-
error = git_attr_cache__get(
|
|
272
|
-
|
|
277
|
+
error = git_attr_cache__get(
|
|
278
|
+
out, repo, NULL, GIT_ATTR_FILE__IN_MEMORY, NULL, GIT_IGNORE_INTERNAL, NULL);
|
|
273
279
|
|
|
274
280
|
/* if internal rules list is empty, insert default rules */
|
|
275
281
|
if (!error && !(*out)->rules.length)
|
|
276
|
-
error = parse_ignore_file(repo, *out, GIT_IGNORE_DEFAULT_RULES
|
|
282
|
+
error = parse_ignore_file(repo, *out, GIT_IGNORE_DEFAULT_RULES);
|
|
277
283
|
|
|
278
284
|
return error;
|
|
279
285
|
}
|
|
@@ -293,8 +299,8 @@ int git_ignore__for_path(
|
|
|
293
299
|
ignores->repo = repo;
|
|
294
300
|
|
|
295
301
|
/* Read the ignore_case flag */
|
|
296
|
-
if ((error =
|
|
297
|
-
&ignores->ignore_case, repo,
|
|
302
|
+
if ((error = git_repository__cvar(
|
|
303
|
+
&ignores->ignore_case, repo, GIT_CVAR_IGNORECASE)) < 0)
|
|
298
304
|
goto cleanup;
|
|
299
305
|
|
|
300
306
|
if ((error = git_attr_cache__init(repo)) < 0)
|
|
@@ -331,13 +337,16 @@ int git_ignore__for_path(
|
|
|
331
337
|
goto cleanup;
|
|
332
338
|
}
|
|
333
339
|
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
340
|
+
if ((error = git_repository_item_path(&infopath,
|
|
341
|
+
repo, GIT_REPOSITORY_ITEM_INFO)) < 0)
|
|
342
|
+
goto cleanup;
|
|
343
|
+
|
|
344
|
+
/* load .git/info/exclude */
|
|
345
|
+
error = push_ignore_file(
|
|
346
|
+
ignores, &ignores->ign_global,
|
|
347
|
+
infopath.ptr, GIT_IGNORE_FILE_INREPO);
|
|
348
|
+
if (error < 0)
|
|
349
|
+
goto cleanup;
|
|
341
350
|
|
|
342
351
|
/* load core.excludesfile */
|
|
343
352
|
if (git_repository_attr_cache(repo)->cfg_excl_file != NULL)
|
|
@@ -444,7 +453,7 @@ static bool ignore_lookup_in_rules(
|
|
|
444
453
|
int git_ignore__lookup(
|
|
445
454
|
int *out, git_ignores *ignores, const char *pathname, git_dir_flag dir_flag)
|
|
446
455
|
{
|
|
447
|
-
|
|
456
|
+
unsigned int i;
|
|
448
457
|
git_attr_file *file;
|
|
449
458
|
git_attr_path path;
|
|
450
459
|
|
|
@@ -458,11 +467,8 @@ int git_ignore__lookup(
|
|
|
458
467
|
if (ignore_lookup_in_rules(out, ignores->ign_internal, &path))
|
|
459
468
|
goto cleanup;
|
|
460
469
|
|
|
461
|
-
/* next process files in the path
|
|
462
|
-
|
|
463
|
-
* to ensure correct prioritization of rules
|
|
464
|
-
*/
|
|
465
|
-
git_vector_rforeach(&ignores->ign_path, i, file) {
|
|
470
|
+
/* next process files in the path */
|
|
471
|
+
git_vector_foreach(&ignores->ign_path, i, file) {
|
|
466
472
|
if (ignore_lookup_in_rules(out, file, &path))
|
|
467
473
|
goto cleanup;
|
|
468
474
|
}
|
|
@@ -486,7 +492,7 @@ int git_ignore_add_rule(git_repository *repo, const char *rules)
|
|
|
486
492
|
if ((error = get_internal_ignores(&ign_internal, repo)) < 0)
|
|
487
493
|
return error;
|
|
488
494
|
|
|
489
|
-
error = parse_ignore_file(repo, ign_internal, rules
|
|
495
|
+
error = parse_ignore_file(repo, ign_internal, rules);
|
|
490
496
|
git_attr_file__free(ign_internal);
|
|
491
497
|
|
|
492
498
|
return error;
|
|
@@ -502,7 +508,7 @@ int git_ignore_clear_internal_rules(git_repository *repo)
|
|
|
502
508
|
|
|
503
509
|
if (!(error = git_attr_file__clear_rules(ign_internal, true)))
|
|
504
510
|
error = parse_ignore_file(
|
|
505
|
-
|
|
511
|
+
repo, ign_internal, GIT_IGNORE_DEFAULT_RULES);
|
|
506
512
|
|
|
507
513
|
git_attr_file__free(ign_internal);
|
|
508
514
|
return error;
|