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
|
@@ -120,14 +120,12 @@ static int read_tree_internal(git_tree_cache **out,
|
|
|
120
120
|
|
|
121
121
|
/* Parse children: */
|
|
122
122
|
if (tree->children_count > 0) {
|
|
123
|
-
|
|
123
|
+
unsigned int i;
|
|
124
124
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
tree->children = git_pool_malloc(pool, bufsize);
|
|
125
|
+
tree->children = git_pool_malloc(pool, tree->children_count * sizeof(git_tree_cache *));
|
|
128
126
|
GIT_ERROR_CHECK_ALLOC(tree->children);
|
|
129
127
|
|
|
130
|
-
memset(tree->children, 0x0,
|
|
128
|
+
memset(tree->children, 0x0, tree->children_count * sizeof(git_tree_cache *));
|
|
131
129
|
|
|
132
130
|
for (i = 0; i < tree->children_count; ++i) {
|
|
133
131
|
if (read_tree_internal(&tree->children[i], &buffer, buffer_end, pool) < 0)
|
|
@@ -162,7 +160,7 @@ int git_tree_cache_read(git_tree_cache **tree, const char *buffer, size_t buffer
|
|
|
162
160
|
static int read_tree_recursive(git_tree_cache *cache, const git_tree *tree, git_pool *pool)
|
|
163
161
|
{
|
|
164
162
|
git_repository *repo;
|
|
165
|
-
size_t i, j, nentries, ntrees
|
|
163
|
+
size_t i, j, nentries, ntrees;
|
|
166
164
|
int error;
|
|
167
165
|
|
|
168
166
|
repo = git_tree_owner(tree);
|
|
@@ -184,10 +182,8 @@ static int read_tree_recursive(git_tree_cache *cache, const git_tree *tree, git_
|
|
|
184
182
|
ntrees++;
|
|
185
183
|
}
|
|
186
184
|
|
|
187
|
-
GIT_ERROR_CHECK_ALLOC_MULTIPLY(&alloc_size, ntrees, sizeof(git_tree_cache *));
|
|
188
|
-
|
|
189
185
|
cache->children_count = ntrees;
|
|
190
|
-
cache->children = git_pool_mallocz(pool,
|
|
186
|
+
cache->children = git_pool_mallocz(pool, ntrees * sizeof(git_tree_cache *));
|
|
191
187
|
GIT_ERROR_CHECK_ALLOC(cache->children);
|
|
192
188
|
|
|
193
189
|
j = 0;
|
|
@@ -236,14 +232,11 @@ int git_tree_cache_read_tree(git_tree_cache **out, const git_tree *tree, git_poo
|
|
|
236
232
|
|
|
237
233
|
int git_tree_cache_new(git_tree_cache **out, const char *name, git_pool *pool)
|
|
238
234
|
{
|
|
239
|
-
size_t name_len
|
|
235
|
+
size_t name_len;
|
|
240
236
|
git_tree_cache *tree;
|
|
241
237
|
|
|
242
238
|
name_len = strlen(name);
|
|
243
|
-
|
|
244
|
-
GIT_ERROR_CHECK_ALLOC_ADD3(&alloc_size, sizeof(git_tree_cache), name_len, 1);
|
|
245
|
-
|
|
246
|
-
tree = git_pool_malloc(pool, alloc_size);
|
|
239
|
+
tree = git_pool_malloc(pool, sizeof(git_tree_cache) + name_len + 1);
|
|
247
240
|
GIT_ERROR_CHECK_ALLOC(tree);
|
|
248
241
|
|
|
249
242
|
memset(tree, 0x0, sizeof(git_tree_cache));
|
data/vendor/libgit2/src/tree.c
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
#include "commit.h"
|
|
11
11
|
#include "git2/repository.h"
|
|
12
12
|
#include "git2/object.h"
|
|
13
|
-
#include "
|
|
13
|
+
#include "fileops.h"
|
|
14
14
|
#include "tree-cache.h"
|
|
15
15
|
#include "index.h"
|
|
16
16
|
|
|
@@ -340,11 +340,11 @@ size_t git_tree_entrycount(const git_tree *tree)
|
|
|
340
340
|
return tree->entries.size;
|
|
341
341
|
}
|
|
342
342
|
|
|
343
|
-
|
|
343
|
+
unsigned int git_treebuilder_entrycount(git_treebuilder *bld)
|
|
344
344
|
{
|
|
345
345
|
assert(bld);
|
|
346
346
|
|
|
347
|
-
return
|
|
347
|
+
return git_strmap_num_entries(bld->map);
|
|
348
348
|
}
|
|
349
349
|
|
|
350
350
|
static int tree_error(const char *str, const char *path)
|
|
@@ -479,7 +479,7 @@ static int check_entry(git_repository *repo, const char *filename, const git_oid
|
|
|
479
479
|
if (!valid_entry_name(repo, filename))
|
|
480
480
|
return tree_error("failed to insert entry: invalid name for a tree entry", filename);
|
|
481
481
|
|
|
482
|
-
if (
|
|
482
|
+
if (git_oid_iszero(id))
|
|
483
483
|
return tree_error("failed to insert entry: invalid null OID", filename);
|
|
484
484
|
|
|
485
485
|
if (filemode != GIT_FILEMODE_COMMIT &&
|
|
@@ -507,7 +507,8 @@ static int append_entry(
|
|
|
507
507
|
|
|
508
508
|
entry->attr = (uint16_t)filemode;
|
|
509
509
|
|
|
510
|
-
|
|
510
|
+
git_strmap_insert(bld->map, entry->filename, entry, &error);
|
|
511
|
+
if (error < 0) {
|
|
511
512
|
git_tree_entry_free(entry);
|
|
512
513
|
git_error_set(GIT_ERROR_TREE, "failed to append entry %s to the tree builder", filename);
|
|
513
514
|
return -1;
|
|
@@ -687,7 +688,7 @@ int git_treebuilder_new(
|
|
|
687
688
|
|
|
688
689
|
bld->repo = repo;
|
|
689
690
|
|
|
690
|
-
if (
|
|
691
|
+
if (git_strmap_alloc(&bld->map) < 0) {
|
|
691
692
|
git__free(bld);
|
|
692
693
|
return -1;
|
|
693
694
|
}
|
|
@@ -722,19 +723,24 @@ int git_treebuilder_insert(
|
|
|
722
723
|
{
|
|
723
724
|
git_tree_entry *entry;
|
|
724
725
|
int error;
|
|
726
|
+
size_t pos;
|
|
725
727
|
|
|
726
728
|
assert(bld && id && filename);
|
|
727
729
|
|
|
728
730
|
if ((error = check_entry(bld->repo, filename, id, filemode)) < 0)
|
|
729
731
|
return error;
|
|
730
732
|
|
|
731
|
-
|
|
733
|
+
pos = git_strmap_lookup_index(bld->map, filename);
|
|
734
|
+
if (git_strmap_valid_index(bld->map, pos)) {
|
|
735
|
+
entry = git_strmap_value_at(bld->map, pos);
|
|
732
736
|
git_oid_cpy((git_oid *) entry->oid, id);
|
|
733
737
|
} else {
|
|
734
738
|
entry = alloc_entry(filename, strlen(filename), id);
|
|
735
739
|
GIT_ERROR_CHECK_ALLOC(entry);
|
|
736
740
|
|
|
737
|
-
|
|
741
|
+
git_strmap_insert(bld->map, entry->filename, entry, &error);
|
|
742
|
+
|
|
743
|
+
if (error < 0) {
|
|
738
744
|
git_tree_entry_free(entry);
|
|
739
745
|
git_error_set(GIT_ERROR_TREE, "failed to insert %s", filename);
|
|
740
746
|
return -1;
|
|
@@ -751,8 +757,16 @@ int git_treebuilder_insert(
|
|
|
751
757
|
|
|
752
758
|
static git_tree_entry *treebuilder_get(git_treebuilder *bld, const char *filename)
|
|
753
759
|
{
|
|
760
|
+
git_tree_entry *entry = NULL;
|
|
761
|
+
size_t pos;
|
|
762
|
+
|
|
754
763
|
assert(bld && filename);
|
|
755
|
-
|
|
764
|
+
|
|
765
|
+
pos = git_strmap_lookup_index(bld->map, filename);
|
|
766
|
+
if (git_strmap_valid_index(bld->map, pos))
|
|
767
|
+
entry = git_strmap_value_at(bld->map, pos);
|
|
768
|
+
|
|
769
|
+
return entry;
|
|
756
770
|
}
|
|
757
771
|
|
|
758
772
|
const git_tree_entry *git_treebuilder_get(git_treebuilder *bld, const char *filename)
|
|
@@ -797,7 +811,7 @@ int git_treebuilder_write_with_buffer(git_oid *oid, git_treebuilder *bld, git_bu
|
|
|
797
811
|
|
|
798
812
|
git_buf_clear(tree);
|
|
799
813
|
|
|
800
|
-
entrycount =
|
|
814
|
+
entrycount = git_strmap_num_entries(bld->map);
|
|
801
815
|
if ((error = git_vector_init(&entries, entrycount, entry_sort_cmp)) < 0)
|
|
802
816
|
goto out;
|
|
803
817
|
|
|
@@ -32,7 +32,7 @@ int git__mmap_alignment(size_t *alignment)
|
|
|
32
32
|
return git__page_size(alignment);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
int p_mmap(git_map *out, size_t len, int prot, int flags, int fd,
|
|
35
|
+
int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offset)
|
|
36
36
|
{
|
|
37
37
|
int mprot = PROT_READ;
|
|
38
38
|
int mflag = 0;
|
|
@@ -59,7 +59,7 @@ GIT_INLINE(int) p_fsync(int fd)
|
|
|
59
59
|
#define p_strcasecmp(s1, s2) strcasecmp(s1, s2)
|
|
60
60
|
#define p_strncasecmp(s1, s2, c) strncasecmp(s1, s2, c)
|
|
61
61
|
#define p_vsnprintf(b, c, f, a) vsnprintf(b, c, f, a)
|
|
62
|
-
#define p_snprintf snprintf
|
|
62
|
+
#define p_snprintf(b, c, ...) snprintf(b, c, __VA_ARGS__)
|
|
63
63
|
#define p_mkstemp(p) mkstemp(p)
|
|
64
64
|
#define p_chdir(p) chdir(p)
|
|
65
65
|
#define p_chmod(p,m) chmod(p, m)
|
|
@@ -89,4 +89,14 @@ GIT_INLINE(int) p_futimes(int f, const struct p_timeval t[2])
|
|
|
89
89
|
# define p_futimes futimes
|
|
90
90
|
#endif
|
|
91
91
|
|
|
92
|
+
#ifdef GIT_USE_REGCOMP_L
|
|
93
|
+
#include <xlocale.h>
|
|
94
|
+
GIT_INLINE(int) p_regcomp(regex_t *preg, const char *pattern, int cflags)
|
|
95
|
+
{
|
|
96
|
+
return regcomp_l(preg, pattern, cflags, (locale_t) 0);
|
|
97
|
+
}
|
|
98
|
+
#else
|
|
99
|
+
# define p_regcomp regcomp
|
|
100
|
+
#endif
|
|
101
|
+
|
|
92
102
|
#endif
|
|
@@ -7,8 +7,6 @@
|
|
|
7
7
|
#ifndef INCLUDE_userdiff_h__
|
|
8
8
|
#define INCLUDE_userdiff_h__
|
|
9
9
|
|
|
10
|
-
#include "regexp.h"
|
|
11
|
-
|
|
12
10
|
/*
|
|
13
11
|
* This file isolates the built in diff driver function name patterns.
|
|
14
12
|
* Most of these patterns are taken from Git (with permission from the
|
|
@@ -31,7 +29,7 @@ typedef struct {
|
|
|
31
29
|
#define PATTERNS(NAME, FN_PATS, WORD_PAT) \
|
|
32
30
|
{ NAME, FN_PATS, WORD_PAT WORD_DEFAULT, 0 }
|
|
33
31
|
#define IPATTERN(NAME, FN_PATS, WORD_PAT) \
|
|
34
|
-
{ NAME, FN_PATS, WORD_PAT WORD_DEFAULT,
|
|
32
|
+
{ NAME, FN_PATS, WORD_PAT WORD_DEFAULT, REG_ICASE }
|
|
35
33
|
|
|
36
34
|
/*
|
|
37
35
|
* The table of diff driver patterns
|
data/vendor/libgit2/src/util.c
CHANGED
|
@@ -192,7 +192,7 @@ int git__strntol32(int32_t *result, const char *nptr, size_t nptr_len, const cha
|
|
|
192
192
|
|
|
193
193
|
tmp_int = tmp_long & 0xFFFFFFFF;
|
|
194
194
|
if (tmp_int != tmp_long) {
|
|
195
|
-
int len =
|
|
195
|
+
int len = tmp_endptr - nptr;
|
|
196
196
|
git_error_set(GIT_ERROR_INVALID, "failed to convert: '%.*s' is too large", len, nptr);
|
|
197
197
|
return -1;
|
|
198
198
|
}
|
|
@@ -204,6 +204,13 @@ int git__strntol32(int32_t *result, const char *nptr, size_t nptr_len, const cha
|
|
|
204
204
|
return error;
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
+
int git__strcmp(const char *a, const char *b)
|
|
208
|
+
{
|
|
209
|
+
while (*a && *b && *a == *b)
|
|
210
|
+
++a, ++b;
|
|
211
|
+
return (int)(*(const unsigned char *)a) - (int)(*(const unsigned char *)b);
|
|
212
|
+
}
|
|
213
|
+
|
|
207
214
|
int git__strcasecmp(const char *a, const char *b)
|
|
208
215
|
{
|
|
209
216
|
while (*a && *b && git__tolower(*a) == git__tolower(*b))
|
|
@@ -233,6 +240,15 @@ int git__strcasesort_cmp(const char *a, const char *b)
|
|
|
233
240
|
return cmp;
|
|
234
241
|
}
|
|
235
242
|
|
|
243
|
+
int git__strncmp(const char *a, const char *b, size_t sz)
|
|
244
|
+
{
|
|
245
|
+
while (sz && *a && *b && *a == *b)
|
|
246
|
+
--sz, ++a, ++b;
|
|
247
|
+
if (!sz)
|
|
248
|
+
return 0;
|
|
249
|
+
return (int)(*(const unsigned char *)a) - (int)(*(const unsigned char *)b);
|
|
250
|
+
}
|
|
251
|
+
|
|
236
252
|
int git__strncasecmp(const char *a, const char *b, size_t sz)
|
|
237
253
|
{
|
|
238
254
|
int al, bl;
|
|
@@ -285,18 +301,7 @@ GIT_INLINE(int) prefixcmp(const char *str, size_t str_n, const char *prefix, boo
|
|
|
285
301
|
|
|
286
302
|
int git__prefixcmp(const char *str, const char *prefix)
|
|
287
303
|
{
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
while (1) {
|
|
291
|
-
p = *prefix++;
|
|
292
|
-
s = *str++;
|
|
293
|
-
|
|
294
|
-
if (!p)
|
|
295
|
-
return 0;
|
|
296
|
-
|
|
297
|
-
if (s != p)
|
|
298
|
-
return s - p;
|
|
299
|
-
}
|
|
304
|
+
return prefixcmp(str, SIZE_MAX, prefix, false);
|
|
300
305
|
}
|
|
301
306
|
|
|
302
307
|
int git__prefixncmp(const char *str, size_t str_n, const char *prefix)
|
|
@@ -719,37 +724,6 @@ static int GIT_STDLIB_CALL git__qsort_r_glue_cmp(
|
|
|
719
724
|
}
|
|
720
725
|
#endif
|
|
721
726
|
|
|
722
|
-
|
|
723
|
-
#if !defined(HAVE_QSORT_R_BSD) && \
|
|
724
|
-
!defined(HAVE_QSORT_R_GNU) && \
|
|
725
|
-
!defined(HAVE_QSORT_S)
|
|
726
|
-
static void swap(uint8_t *a, uint8_t *b, size_t elsize)
|
|
727
|
-
{
|
|
728
|
-
char tmp[256];
|
|
729
|
-
|
|
730
|
-
while (elsize) {
|
|
731
|
-
size_t n = elsize < sizeof(tmp) ? elsize : sizeof(tmp);
|
|
732
|
-
memcpy(tmp, a + elsize - n, n);
|
|
733
|
-
memcpy(a + elsize - n, b + elsize - n, n);
|
|
734
|
-
memcpy(b + elsize - n, tmp, n);
|
|
735
|
-
elsize -= n;
|
|
736
|
-
}
|
|
737
|
-
}
|
|
738
|
-
|
|
739
|
-
static void insertsort(
|
|
740
|
-
void *els, size_t nel, size_t elsize,
|
|
741
|
-
git__sort_r_cmp cmp, void *payload)
|
|
742
|
-
{
|
|
743
|
-
uint8_t *base = els;
|
|
744
|
-
uint8_t *end = base + nel * elsize;
|
|
745
|
-
uint8_t *i, *j;
|
|
746
|
-
|
|
747
|
-
for (i = base + elsize; i < end; i += elsize)
|
|
748
|
-
for (j = i; j > base && cmp(j, j - elsize, payload) < 0; j -= elsize)
|
|
749
|
-
swap(j, j - elsize, elsize);
|
|
750
|
-
}
|
|
751
|
-
#endif
|
|
752
|
-
|
|
753
727
|
void git__qsort_r(
|
|
754
728
|
void *els, size_t nel, size_t elsize, git__sort_r_cmp cmp, void *payload)
|
|
755
729
|
{
|
|
@@ -762,10 +736,33 @@ void git__qsort_r(
|
|
|
762
736
|
git__qsort_r_glue glue = { cmp, payload };
|
|
763
737
|
qsort_s(els, nel, elsize, git__qsort_r_glue_cmp, &glue);
|
|
764
738
|
#else
|
|
765
|
-
|
|
739
|
+
git__insertsort_r(els, nel, elsize, NULL, cmp, payload);
|
|
766
740
|
#endif
|
|
767
741
|
}
|
|
768
742
|
|
|
743
|
+
void git__insertsort_r(
|
|
744
|
+
void *els, size_t nel, size_t elsize, void *swapel,
|
|
745
|
+
git__sort_r_cmp cmp, void *payload)
|
|
746
|
+
{
|
|
747
|
+
uint8_t *base = els;
|
|
748
|
+
uint8_t *end = base + nel * elsize;
|
|
749
|
+
uint8_t *i, *j;
|
|
750
|
+
bool freeswap = !swapel;
|
|
751
|
+
|
|
752
|
+
if (freeswap)
|
|
753
|
+
swapel = git__malloc(elsize);
|
|
754
|
+
|
|
755
|
+
for (i = base + elsize; i < end; i += elsize)
|
|
756
|
+
for (j = i; j > base && cmp(j, j - elsize, payload) < 0; j -= elsize) {
|
|
757
|
+
memcpy(swapel, j, elsize);
|
|
758
|
+
memcpy(j, j - elsize, elsize);
|
|
759
|
+
memcpy(j - elsize, swapel, elsize);
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
if (freeswap)
|
|
763
|
+
git__free(swapel);
|
|
764
|
+
}
|
|
765
|
+
|
|
769
766
|
/*
|
|
770
767
|
* git__utf8_iterate is taken from the utf8proc project,
|
|
771
768
|
* http://www.public-software-group.org/utf8proc
|
|
@@ -810,23 +807,23 @@ static const int8_t utf8proc_utf8class[256] = {
|
|
|
810
807
|
4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0
|
|
811
808
|
};
|
|
812
809
|
|
|
813
|
-
int git__utf8_charlen(const uint8_t *str,
|
|
810
|
+
int git__utf8_charlen(const uint8_t *str, int str_len)
|
|
814
811
|
{
|
|
815
|
-
|
|
812
|
+
int length, i;
|
|
816
813
|
|
|
817
814
|
length = utf8proc_utf8class[str[0]];
|
|
818
815
|
if (!length)
|
|
819
816
|
return -1;
|
|
820
817
|
|
|
821
|
-
if (str_len
|
|
822
|
-
return -
|
|
818
|
+
if (str_len >= 0 && length > str_len)
|
|
819
|
+
return -str_len;
|
|
823
820
|
|
|
824
821
|
for (i = 1; i < length; i++) {
|
|
825
822
|
if ((str[i] & 0xC0) != 0x80)
|
|
826
|
-
return -
|
|
823
|
+
return -i;
|
|
827
824
|
}
|
|
828
825
|
|
|
829
|
-
return
|
|
826
|
+
return length;
|
|
830
827
|
}
|
|
831
828
|
|
|
832
829
|
int git__utf8_iterate(const uint8_t *str, int str_len, int32_t *dst)
|
|
@@ -867,6 +864,11 @@ int git__utf8_iterate(const uint8_t *str, int str_len, int32_t *dst)
|
|
|
867
864
|
return length;
|
|
868
865
|
}
|
|
869
866
|
|
|
867
|
+
double git_time_monotonic(void)
|
|
868
|
+
{
|
|
869
|
+
return git__timer();
|
|
870
|
+
}
|
|
871
|
+
|
|
870
872
|
size_t git__utf8_valid_buf_length(const uint8_t *str, size_t str_len)
|
|
871
873
|
{
|
|
872
874
|
size_t offset = 0;
|
data/vendor/libgit2/src/util.h
CHANGED
|
@@ -30,17 +30,6 @@
|
|
|
30
30
|
# define max(a,b) ((a) > (b) ? (a) : (b))
|
|
31
31
|
#endif
|
|
32
32
|
|
|
33
|
-
#if defined(__GNUC__)
|
|
34
|
-
# define GIT_CONTAINER_OF(ptr, type, member) \
|
|
35
|
-
__builtin_choose_expr( \
|
|
36
|
-
__builtin_offsetof(type, member) == 0 && \
|
|
37
|
-
__builtin_types_compatible_p(typeof(&((type *) 0)->member), typeof(ptr)), \
|
|
38
|
-
((type *) (ptr)), \
|
|
39
|
-
(void)0)
|
|
40
|
-
#else
|
|
41
|
-
# define GIT_CONTAINER_OF(ptr, type, member) (type *)(ptr)
|
|
42
|
-
#endif
|
|
43
|
-
|
|
44
33
|
#define GIT_DATE_RFC2822_SZ 32
|
|
45
34
|
|
|
46
35
|
/**
|
|
@@ -137,6 +126,10 @@ extern void git__tsort_r(
|
|
|
137
126
|
extern void git__qsort_r(
|
|
138
127
|
void *els, size_t nel, size_t elsize, git__sort_r_cmp cmp, void *payload);
|
|
139
128
|
|
|
129
|
+
extern void git__insertsort_r(
|
|
130
|
+
void *els, size_t nel, size_t elsize, void *swapel,
|
|
131
|
+
git__sort_r_cmp cmp, void *payload);
|
|
132
|
+
|
|
140
133
|
/**
|
|
141
134
|
* @param position If non-NULL, this will be set to the position where the
|
|
142
135
|
* element is or would be inserted if not found.
|
|
@@ -157,13 +150,12 @@ extern int git__bsearch_r(
|
|
|
157
150
|
void *payload,
|
|
158
151
|
size_t *position);
|
|
159
152
|
|
|
160
|
-
#define git__strcmp strcmp
|
|
161
|
-
#define git__strncmp strncmp
|
|
162
|
-
|
|
163
153
|
extern int git__strcmp_cb(const void *a, const void *b);
|
|
164
154
|
extern int git__strcasecmp_cb(const void *a, const void *b);
|
|
165
155
|
|
|
156
|
+
extern int git__strcmp(const char *a, const char *b);
|
|
166
157
|
extern int git__strcasecmp(const char *a, const char *b);
|
|
158
|
+
extern int git__strncmp(const char *a, const char *b, size_t sz);
|
|
167
159
|
extern int git__strncasecmp(const char *a, const char *b, size_t sz);
|
|
168
160
|
|
|
169
161
|
extern int git__strcasesort_cmp(const char *a, const char *b);
|
|
@@ -357,9 +349,22 @@ GIT_INLINE(void) git__memzero(void *data, size_t size)
|
|
|
357
349
|
|
|
358
350
|
GIT_INLINE(double) git__timer(void)
|
|
359
351
|
{
|
|
360
|
-
/*
|
|
352
|
+
/* We need the initial tick count to detect if the tick
|
|
353
|
+
* count has rolled over. */
|
|
354
|
+
static DWORD initial_tick_count = 0;
|
|
355
|
+
|
|
356
|
+
/* GetTickCount returns the number of milliseconds that have
|
|
361
357
|
* elapsed since the system was started. */
|
|
362
|
-
|
|
358
|
+
DWORD count = GetTickCount();
|
|
359
|
+
|
|
360
|
+
if(initial_tick_count == 0) {
|
|
361
|
+
initial_tick_count = count;
|
|
362
|
+
} else if (count < initial_tick_count) {
|
|
363
|
+
/* The tick count has rolled over - adjust for it. */
|
|
364
|
+
count = (0xFFFFFFFF - initial_tick_count) + count;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
return (double) count / (double) 1000;
|
|
363
368
|
}
|
|
364
369
|
|
|
365
370
|
#elif __APPLE__
|
|
@@ -50,7 +50,7 @@ int git__mmap_alignment(size_t *page_size)
|
|
|
50
50
|
return 0;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
int p_mmap(git_map *out, size_t len, int prot, int flags, int fd,
|
|
53
|
+
int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offset)
|
|
54
54
|
{
|
|
55
55
|
HANDLE fh = (HANDLE)_get_osfhandle(fd);
|
|
56
56
|
DWORD alignment = get_allocation_granularity();
|
|
@@ -58,8 +58,8 @@ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, off64_t offset
|
|
|
58
58
|
DWORD view_prot = 0;
|
|
59
59
|
DWORD off_low = 0;
|
|
60
60
|
DWORD off_hi = 0;
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
git_off_t page_start;
|
|
62
|
+
git_off_t page_offset;
|
|
63
63
|
|
|
64
64
|
GIT_MMAP_VALIDATE(out, len, prot, flags);
|
|
65
65
|
|
|
@@ -99,6 +99,8 @@ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, off64_t offset
|
|
|
99
99
|
return -1;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
+
assert(sizeof(git_off_t) == 8);
|
|
103
|
+
|
|
102
104
|
off_low = (DWORD)(page_start);
|
|
103
105
|
off_hi = (DWORD)(page_start >> 32);
|
|
104
106
|
out->data = MapViewOfFile(out->fmh, view_prot, off_hi, off_low, len);
|