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/oid.c
CHANGED
@@ -17,7 +17,7 @@ static char to_hex[] = "0123456789abcdef";
|
|
17
17
|
|
18
18
|
static int oid_error_invalid(const char *msg)
|
19
19
|
{
|
20
|
-
|
20
|
+
giterr_set(GITERR_INVALID, "unable to parse OID - %s", msg);
|
21
21
|
return -1;
|
22
22
|
}
|
23
23
|
|
@@ -237,7 +237,7 @@ int git_oid_streq(const git_oid *oid_a, const char *str)
|
|
237
237
|
return git_oid_strcmp(oid_a, str) == 0 ? 0 : -1;
|
238
238
|
}
|
239
239
|
|
240
|
-
int
|
240
|
+
int git_oid_iszero(const git_oid *oid_a)
|
241
241
|
{
|
242
242
|
const unsigned char *a = oid_a->id;
|
243
243
|
unsigned int i;
|
@@ -247,11 +247,6 @@ int git_oid_is_zero(const git_oid *oid_a)
|
|
247
247
|
return 1;
|
248
248
|
}
|
249
249
|
|
250
|
-
int git_oid_iszero(const git_oid *oid_a)
|
251
|
-
{
|
252
|
-
return git_oid_is_zero(oid_a);
|
253
|
-
}
|
254
|
-
|
255
250
|
typedef short node_index;
|
256
251
|
|
257
252
|
typedef union {
|
@@ -268,7 +263,7 @@ struct git_oid_shorten {
|
|
268
263
|
static int resize_trie(git_oid_shorten *self, size_t new_size)
|
269
264
|
{
|
270
265
|
self->nodes = git__reallocarray(self->nodes, new_size, sizeof(trie_node));
|
271
|
-
|
266
|
+
GITERR_CHECK_ALLOC(self->nodes);
|
272
267
|
|
273
268
|
if (new_size > self->size) {
|
274
269
|
memset(&self->nodes[self->size], 0x0, (new_size - self->size) * sizeof(trie_node));
|
@@ -386,7 +381,7 @@ int git_oid_shorten_add(git_oid_shorten *os, const char *text_oid)
|
|
386
381
|
node_index idx;
|
387
382
|
|
388
383
|
if (os->full) {
|
389
|
-
|
384
|
+
giterr_set(GITERR_INVALID, "unable to shorten OID - OID set full");
|
390
385
|
return -1;
|
391
386
|
}
|
392
387
|
|
@@ -401,7 +396,7 @@ int git_oid_shorten_add(git_oid_shorten *os, const char *text_oid)
|
|
401
396
|
trie_node *node;
|
402
397
|
|
403
398
|
if (c == -1) {
|
404
|
-
|
399
|
+
giterr_set(GITERR_INVALID, "unable to shorten OID - invalid hex value");
|
405
400
|
return -1;
|
406
401
|
}
|
407
402
|
|
@@ -416,7 +411,7 @@ int git_oid_shorten_add(git_oid_shorten *os, const char *text_oid)
|
|
416
411
|
node = push_leaf(os, idx, git__fromhex(tail[0]), &tail[1]);
|
417
412
|
if (node == NULL) {
|
418
413
|
if (os->full)
|
419
|
-
|
414
|
+
giterr_set(GITERR_INVALID, "unable to shorten OID - OID set full");
|
420
415
|
return -1;
|
421
416
|
}
|
422
417
|
}
|
@@ -424,7 +419,7 @@ int git_oid_shorten_add(git_oid_shorten *os, const char *text_oid)
|
|
424
419
|
if (node->children[c] == 0) {
|
425
420
|
if (push_leaf(os, idx, c, &text_oid[i + 1]) == NULL) {
|
426
421
|
if (os->full)
|
427
|
-
|
422
|
+
giterr_set(GITERR_INVALID, "unable to shorten OID - OID set full");
|
428
423
|
return -1;
|
429
424
|
}
|
430
425
|
break;
|
data/vendor/libgit2/src/oidmap.c
CHANGED
@@ -7,15 +7,6 @@
|
|
7
7
|
|
8
8
|
#include "oidmap.h"
|
9
9
|
|
10
|
-
#define kmalloc git__malloc
|
11
|
-
#define kcalloc git__calloc
|
12
|
-
#define krealloc git__realloc
|
13
|
-
#define kreallocarray git__reallocarray
|
14
|
-
#define kfree git__free
|
15
|
-
#include "khash.h"
|
16
|
-
|
17
|
-
__KHASH_TYPE(oid, const git_oid *, void *)
|
18
|
-
|
19
10
|
GIT_INLINE(khint_t) git_oidmap_hash(const git_oid *oid)
|
20
11
|
{
|
21
12
|
khint_t h;
|
@@ -25,12 +16,9 @@ GIT_INLINE(khint_t) git_oidmap_hash(const git_oid *oid)
|
|
25
16
|
|
26
17
|
__KHASH_IMPL(oid, static kh_inline, const git_oid *, void *, 1, git_oidmap_hash, git_oid_equal)
|
27
18
|
|
28
|
-
|
19
|
+
git_oidmap *git_oidmap_alloc()
|
29
20
|
{
|
30
|
-
|
31
|
-
GIT_ERROR_CHECK_ALLOC(*out);
|
32
|
-
|
33
|
-
return 0;
|
21
|
+
return kh_init(oid);
|
34
22
|
}
|
35
23
|
|
36
24
|
void git_oidmap_free(git_oidmap *map)
|
@@ -48,60 +36,70 @@ size_t git_oidmap_size(git_oidmap *map)
|
|
48
36
|
return kh_size(map);
|
49
37
|
}
|
50
38
|
|
51
|
-
|
39
|
+
size_t git_oidmap_lookup_index(git_oidmap *map, const git_oid *key)
|
52
40
|
{
|
53
|
-
|
54
|
-
if (idx == kh_end(map) || !kh_exist(map, idx))
|
55
|
-
return NULL;
|
56
|
-
return kh_val(map, idx);
|
41
|
+
return kh_get(oid, map, key);
|
57
42
|
}
|
58
43
|
|
59
|
-
int
|
44
|
+
int git_oidmap_valid_index(git_oidmap *map, size_t idx)
|
60
45
|
{
|
61
|
-
|
62
|
-
|
46
|
+
return idx != kh_end(map);
|
47
|
+
}
|
63
48
|
|
64
|
-
|
65
|
-
|
66
|
-
|
49
|
+
int git_oidmap_exists(git_oidmap *map, const git_oid *key)
|
50
|
+
{
|
51
|
+
return kh_get(oid, map, key) != kh_end(map);
|
52
|
+
}
|
67
53
|
|
68
|
-
|
69
|
-
|
54
|
+
int git_oidmap_has_data(git_oidmap *map, size_t idx)
|
55
|
+
{
|
56
|
+
return kh_exist(map, idx);
|
57
|
+
}
|
70
58
|
|
71
|
-
|
59
|
+
const git_oid *git_oidmap_key(git_oidmap *map, size_t idx)
|
60
|
+
{
|
61
|
+
return kh_key(map, idx);
|
62
|
+
}
|
72
63
|
|
73
|
-
|
64
|
+
void git_oidmap_set_key_at(git_oidmap *map, size_t idx, git_oid *key)
|
65
|
+
{
|
66
|
+
kh_key(map, idx) = key;
|
74
67
|
}
|
75
68
|
|
76
|
-
|
69
|
+
void *git_oidmap_value_at(git_oidmap *map, size_t idx)
|
77
70
|
{
|
78
|
-
|
79
|
-
if (idx == kh_end(map))
|
80
|
-
return GIT_ENOTFOUND;
|
81
|
-
kh_del(oid, map, idx);
|
82
|
-
return 0;
|
71
|
+
return kh_val(map, idx);
|
83
72
|
}
|
84
73
|
|
85
|
-
|
74
|
+
void git_oidmap_set_value_at(git_oidmap *map, size_t idx, void *value)
|
86
75
|
{
|
87
|
-
|
76
|
+
kh_val(map, idx) = value;
|
88
77
|
}
|
89
78
|
|
90
|
-
|
79
|
+
void git_oidmap_delete_at(git_oidmap *map, size_t idx)
|
91
80
|
{
|
92
|
-
|
81
|
+
kh_del(oid, map, idx);
|
82
|
+
}
|
93
83
|
|
94
|
-
|
95
|
-
|
84
|
+
int git_oidmap_put(git_oidmap *map, const git_oid *key, int *err)
|
85
|
+
{
|
86
|
+
return kh_put(oid, map, key, err);
|
87
|
+
}
|
96
88
|
|
97
|
-
|
98
|
-
|
89
|
+
void git_oidmap_insert(git_oidmap *map, const git_oid *key, void *value, int *rval)
|
90
|
+
{
|
91
|
+
khiter_t idx = kh_put(oid, map, key, rval);
|
99
92
|
|
100
|
-
if (
|
101
|
-
*
|
102
|
-
|
103
|
-
|
104
|
-
|
93
|
+
if ((*rval) >= 0) {
|
94
|
+
if ((*rval) == 0)
|
95
|
+
kh_key(map, idx) = key;
|
96
|
+
kh_val(map, idx) = value;
|
97
|
+
}
|
98
|
+
}
|
105
99
|
|
106
|
-
|
100
|
+
void git_oidmap_delete(git_oidmap *map, const git_oid *key)
|
101
|
+
{
|
102
|
+
khiter_t idx = git_oidmap_lookup_index(map, key);
|
103
|
+
if (git_oidmap_valid_index(map, idx))
|
104
|
+
git_oidmap_delete_at(map, idx);
|
107
105
|
}
|
data/vendor/libgit2/src/oidmap.h
CHANGED
@@ -11,118 +11,41 @@
|
|
11
11
|
|
12
12
|
#include "git2/oid.h"
|
13
13
|
|
14
|
-
|
15
|
-
|
14
|
+
#define kmalloc git__malloc
|
15
|
+
#define kcalloc git__calloc
|
16
|
+
#define krealloc git__realloc
|
17
|
+
#define kreallocarray git__reallocarray
|
18
|
+
#define kfree git__free
|
19
|
+
#include "khash.h"
|
16
20
|
|
17
|
-
|
18
|
-
|
19
|
-
*
|
20
|
-
* @param out Pointer to the map that shall be allocated.
|
21
|
-
* @return 0 on success, an error code if allocation has failed.
|
22
|
-
*/
|
23
|
-
int git_oidmap_new(git_oidmap **out);
|
21
|
+
__KHASH_TYPE(oid, const git_oid *, void *)
|
22
|
+
typedef khash_t(oid) git_oidmap;
|
24
23
|
|
25
|
-
|
26
|
-
* Free memory associated with the map.
|
27
|
-
*
|
28
|
-
* Note that this function will _not_ free values added to this
|
29
|
-
* map.
|
30
|
-
*
|
31
|
-
* @param map Pointer to the map that is to be free'd. May be
|
32
|
-
* `NULL`.
|
33
|
-
*/
|
24
|
+
git_oidmap *git_oidmap_alloc(void);
|
34
25
|
void git_oidmap_free(git_oidmap *map);
|
35
|
-
|
36
|
-
/**
|
37
|
-
* Clear all entries from the map.
|
38
|
-
*
|
39
|
-
* This function will remove all entries from the associated map.
|
40
|
-
* Memory associated with it will not be released, though.
|
41
|
-
*
|
42
|
-
* @param map Pointer to the map that shall be cleared. May be
|
43
|
-
* `NULL`.
|
44
|
-
*/
|
45
26
|
void git_oidmap_clear(git_oidmap *map);
|
46
27
|
|
47
|
-
/**
|
48
|
-
* Return the number of elements in the map.
|
49
|
-
*
|
50
|
-
* @parameter map map containing the elements
|
51
|
-
* @return number of elements in the map
|
52
|
-
*/
|
53
28
|
size_t git_oidmap_size(git_oidmap *map);
|
54
29
|
|
55
|
-
|
56
|
-
*
|
57
|
-
*
|
58
|
-
* @param map map to search key in
|
59
|
-
* @param key key to search for
|
60
|
-
* @return value associated with the given key or NULL if the key was not found
|
61
|
-
*/
|
62
|
-
void *git_oidmap_get(git_oidmap *map, const git_oid *key);
|
30
|
+
size_t git_oidmap_lookup_index(git_oidmap *map, const git_oid *key);
|
31
|
+
int git_oidmap_valid_index(git_oidmap *map, size_t idx);
|
63
32
|
|
64
|
-
|
65
|
-
*
|
66
|
-
*
|
67
|
-
* If the map has no corresponding entry for the given key, a new
|
68
|
-
* entry will be created with the given value. If an entry exists
|
69
|
-
* already, its value will be updated to match the given value.
|
70
|
-
*
|
71
|
-
* @param map map to create new entry in
|
72
|
-
* @param key key to set
|
73
|
-
* @param value value to associate the key with; may be NULL
|
74
|
-
* @return zero if the key was successfully set, a negative error
|
75
|
-
* code otherwise
|
76
|
-
*/
|
77
|
-
int git_oidmap_set(git_oidmap *map, const git_oid *key, void *value);
|
33
|
+
int git_oidmap_exists(git_oidmap *map, const git_oid *key);
|
34
|
+
int git_oidmap_has_data(git_oidmap *map, size_t idx);
|
78
35
|
|
79
|
-
|
80
|
-
*
|
81
|
-
*
|
82
|
-
*
|
83
|
-
*
|
84
|
-
*
|
85
|
-
* @param map map to delete key in
|
86
|
-
* @param key key to delete
|
87
|
-
* @return `0` if the key has been deleted, GIT_ENOTFOUND if no
|
88
|
-
* such key was found, a negative code in case of an
|
89
|
-
* error
|
90
|
-
*/
|
91
|
-
int git_oidmap_delete(git_oidmap *map, const git_oid *key);
|
36
|
+
const git_oid *git_oidmap_key(git_oidmap *map, size_t idx);
|
37
|
+
void git_oidmap_set_key_at(git_oidmap *map, size_t idx, git_oid *key);
|
38
|
+
void *git_oidmap_value_at(git_oidmap *map, size_t idx);
|
39
|
+
void git_oidmap_set_value_at(git_oidmap *map, size_t idx, void *value);
|
40
|
+
void git_oidmap_delete_at(git_oidmap *map, size_t idx);
|
92
41
|
|
93
|
-
|
94
|
-
*
|
95
|
-
*
|
96
|
-
* @param map map to query for the key
|
97
|
-
* @param key key to search for
|
98
|
-
* @return 0 if the key has not been found, 1 otherwise
|
99
|
-
*/
|
100
|
-
int git_oidmap_exists(git_oidmap *map, const git_oid *key);
|
42
|
+
int git_oidmap_put(git_oidmap *map, const git_oid *key, int *err);
|
43
|
+
void git_oidmap_insert(git_oidmap *map, const git_oid *key, void *value, int *rval);
|
44
|
+
void git_oidmap_delete(git_oidmap *map, const git_oid *key);
|
101
45
|
|
102
|
-
|
103
|
-
* Iterate over entries of the map.
|
104
|
-
*
|
105
|
-
* This functions allows to iterate over all key-value entries of
|
106
|
-
* the map. The current position is stored in the `iter` variable
|
107
|
-
* and should be initialized to `0` before the first call to this
|
108
|
-
* function.
|
109
|
-
*
|
110
|
-
* @param map map to iterate over
|
111
|
-
* @param value pointer to the variable where to store the current
|
112
|
-
* value. May be NULL.
|
113
|
-
* @param iter iterator storing the current position. Initialize
|
114
|
-
* with zero previous to the first call.
|
115
|
-
* @param key pointer to the variable where to store the current
|
116
|
-
* key. May be NULL.
|
117
|
-
* @return `0` if the next entry was correctly retrieved.
|
118
|
-
* GIT_ITEROVER if no entries are left. A negative error
|
119
|
-
* code otherwise.
|
120
|
-
*/
|
121
|
-
int git_oidmap_iterate(void **value, git_oidmap *map, size_t *iter, const git_oid **key);
|
46
|
+
#define git_oidmap_foreach_value kh_foreach_value
|
122
47
|
|
123
|
-
#define
|
124
|
-
|
125
|
-
code; \
|
126
|
-
} }
|
48
|
+
#define git_oidmap_begin kh_begin
|
49
|
+
#define git_oidmap_end kh_end
|
127
50
|
|
128
51
|
#endif
|
@@ -38,13 +38,7 @@ struct tree_walk_context {
|
|
38
38
|
|
39
39
|
struct pack_write_context {
|
40
40
|
git_indexer *indexer;
|
41
|
-
|
42
|
-
};
|
43
|
-
|
44
|
-
struct walk_object {
|
45
|
-
git_oid id;
|
46
|
-
unsigned int uninteresting:1,
|
47
|
-
seen:1;
|
41
|
+
git_transfer_progress *stats;
|
48
42
|
};
|
49
43
|
|
50
44
|
#ifdef GIT_THREADS
|
@@ -105,7 +99,7 @@ static int packbuilder_config(git_packbuilder *pb)
|
|
105
99
|
ret = git_config_get_int64(&val, config, KEY); \
|
106
100
|
if (!ret) { \
|
107
101
|
if (!git__is_sizet(val)) { \
|
108
|
-
|
102
|
+
giterr_set(GITERR_CONFIG, \
|
109
103
|
"configuration value '%s' is too large", KEY); \
|
110
104
|
ret = -1; \
|
111
105
|
goto out; \
|
@@ -139,15 +133,17 @@ int git_packbuilder_new(git_packbuilder **out, git_repository *repo)
|
|
139
133
|
*out = NULL;
|
140
134
|
|
141
135
|
pb = git__calloc(1, sizeof(*pb));
|
142
|
-
|
136
|
+
GITERR_CHECK_ALLOC(pb);
|
143
137
|
|
144
|
-
|
138
|
+
pb->object_ix = git_oidmap_alloc();
|
139
|
+
if (!pb->object_ix)
|
145
140
|
goto on_error;
|
146
141
|
|
147
|
-
|
142
|
+
pb->walk_objects = git_oidmap_alloc();
|
143
|
+
if (!pb->walk_objects)
|
148
144
|
goto on_error;
|
149
145
|
|
150
|
-
git_pool_init(&pb->object_pool, sizeof(
|
146
|
+
git_pool_init(&pb->object_pool, sizeof(git_walk_object));
|
151
147
|
|
152
148
|
pb->repo = repo;
|
153
149
|
pb->nr_threads = 1; /* do not spawn any thread by default */
|
@@ -164,7 +160,7 @@ int git_packbuilder_new(git_packbuilder **out, git_repository *repo)
|
|
164
160
|
git_mutex_init(&pb->progress_mutex) ||
|
165
161
|
git_cond_init(&pb->progress_cond))
|
166
162
|
{
|
167
|
-
|
163
|
+
giterr_set(GITERR_OS, "failed to initialize packbuilder mutex");
|
168
164
|
goto on_error;
|
169
165
|
}
|
170
166
|
|
@@ -192,25 +188,25 @@ unsigned int git_packbuilder_set_threads(git_packbuilder *pb, unsigned int n)
|
|
192
188
|
return pb->nr_threads;
|
193
189
|
}
|
194
190
|
|
195
|
-
static
|
191
|
+
static void rehash(git_packbuilder *pb)
|
196
192
|
{
|
197
193
|
git_pobject *po;
|
194
|
+
khiter_t pos;
|
198
195
|
size_t i;
|
196
|
+
int ret;
|
199
197
|
|
200
198
|
git_oidmap_clear(pb->object_ix);
|
201
|
-
|
202
199
|
for (i = 0, po = pb->object_list; i < pb->nr_objects; i++, po++) {
|
203
|
-
|
204
|
-
|
200
|
+
pos = git_oidmap_put(pb->object_ix, &po->id, &ret);
|
201
|
+
git_oidmap_set_value_at(pb->object_ix, pos, po);
|
205
202
|
}
|
206
|
-
|
207
|
-
return 0;
|
208
203
|
}
|
209
204
|
|
210
205
|
int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
|
211
206
|
const char *name)
|
212
207
|
{
|
213
208
|
git_pobject *po;
|
209
|
+
khiter_t pos;
|
214
210
|
size_t newsize;
|
215
211
|
int ret;
|
216
212
|
|
@@ -222,11 +218,11 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
|
|
222
218
|
return 0;
|
223
219
|
|
224
220
|
if (pb->nr_objects >= pb->nr_alloc) {
|
225
|
-
|
226
|
-
|
221
|
+
GITERR_CHECK_ALLOC_ADD(&newsize, pb->nr_alloc, 1024);
|
222
|
+
GITERR_CHECK_ALLOC_MULTIPLY(&newsize, newsize, 3 / 2);
|
227
223
|
|
228
224
|
if (!git__is_uint32(newsize)) {
|
229
|
-
|
225
|
+
giterr_set(GITERR_NOMEMORY, "packfile too large to fit in memory.");
|
230
226
|
return -1;
|
231
227
|
}
|
232
228
|
|
@@ -234,10 +230,8 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
|
|
234
230
|
|
235
231
|
pb->object_list = git__reallocarray(pb->object_list,
|
236
232
|
pb->nr_alloc, sizeof(*po));
|
237
|
-
|
238
|
-
|
239
|
-
if (rehash(pb) < 0)
|
240
|
-
return -1;
|
233
|
+
GITERR_CHECK_ALLOC(pb->object_list);
|
234
|
+
rehash(pb);
|
241
235
|
}
|
242
236
|
|
243
237
|
po = pb->object_list + pb->nr_objects;
|
@@ -250,10 +244,13 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
|
|
250
244
|
git_oid_cpy(&po->id, oid);
|
251
245
|
po->hash = name_hash(name);
|
252
246
|
|
253
|
-
|
254
|
-
|
255
|
-
|
247
|
+
pos = git_oidmap_put(pb->object_ix, &po->id, &ret);
|
248
|
+
if (ret < 0) {
|
249
|
+
giterr_set_oom();
|
250
|
+
return ret;
|
256
251
|
}
|
252
|
+
assert(ret != 0);
|
253
|
+
git_oidmap_set_value_at(pb->object_ix, pos, po);
|
257
254
|
|
258
255
|
pb->done = false;
|
259
256
|
|
@@ -269,7 +266,7 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
|
|
269
266
|
pb->nr_objects, 0, pb->progress_cb_payload);
|
270
267
|
|
271
268
|
if (ret)
|
272
|
-
return
|
269
|
+
return giterr_set_after_callback(ret);
|
273
270
|
}
|
274
271
|
}
|
275
272
|
|
@@ -298,7 +295,7 @@ static int get_delta(void **out, git_odb *odb, git_pobject *po)
|
|
298
295
|
goto on_error;
|
299
296
|
|
300
297
|
if (error == GIT_EBUFS || delta_size != po->delta_size) {
|
301
|
-
|
298
|
+
giterr_set(GITERR_INVALID, "delta size changed");
|
302
299
|
goto on_error;
|
303
300
|
}
|
304
301
|
|
@@ -321,7 +318,7 @@ static int write_object(
|
|
321
318
|
void *cb_data)
|
322
319
|
{
|
323
320
|
git_odb_object *obj = NULL;
|
324
|
-
|
321
|
+
git_otype type;
|
325
322
|
unsigned char hdr[10], *zbuf = NULL;
|
326
323
|
void *data = NULL;
|
327
324
|
size_t hdr_len, zbuf_len = COMPRESS_BUFLEN, data_len;
|
@@ -339,7 +336,7 @@ static int write_object(
|
|
339
336
|
goto done;
|
340
337
|
|
341
338
|
data_len = po->delta_size;
|
342
|
-
type =
|
339
|
+
type = GIT_OBJ_REF_DELTA;
|
343
340
|
} else {
|
344
341
|
if ((error = git_odb_read(&obj, pb->odb, &po->id)) < 0)
|
345
342
|
goto done;
|
@@ -356,7 +353,7 @@ static int write_object(
|
|
356
353
|
(error = git_hash_update(&pb->ctx, hdr, hdr_len)) < 0)
|
357
354
|
goto done;
|
358
355
|
|
359
|
-
if (type ==
|
356
|
+
if (type == GIT_OBJ_REF_DELTA) {
|
360
357
|
if ((error = write_cb(po->delta->id.id, GIT_OID_RAWSZ, cb_data)) < 0 ||
|
361
358
|
(error = git_hash_update(&pb->ctx, po->delta->id.id, GIT_OID_RAWSZ)) < 0)
|
362
359
|
goto done;
|
@@ -371,7 +368,7 @@ static int write_object(
|
|
371
368
|
goto done;
|
372
369
|
} else {
|
373
370
|
zbuf = git__malloc(zbuf_len);
|
374
|
-
|
371
|
+
GITERR_CHECK_ALLOC(zbuf);
|
375
372
|
|
376
373
|
git_zstream_reset(&pb->zstream);
|
377
374
|
git_zstream_set_input(&pb->zstream, data, data_len);
|
@@ -513,12 +510,15 @@ static int cb_tag_foreach(const char *name, git_oid *oid, void *data)
|
|
513
510
|
{
|
514
511
|
git_packbuilder *pb = data;
|
515
512
|
git_pobject *po;
|
513
|
+
khiter_t pos;
|
516
514
|
|
517
515
|
GIT_UNUSED(name);
|
518
516
|
|
519
|
-
|
517
|
+
pos = git_oidmap_lookup_index(pb->object_ix, oid);
|
518
|
+
if (!git_oidmap_valid_index(pb->object_ix, pos))
|
520
519
|
return 0;
|
521
520
|
|
521
|
+
po = git_oidmap_value_at(pb->object_ix, pos);
|
522
522
|
po->tagged = 1;
|
523
523
|
|
524
524
|
/* TODO: peel objects */
|
@@ -590,8 +590,8 @@ static git_pobject **compute_write_order(git_packbuilder *pb)
|
|
590
590
|
*/
|
591
591
|
for (i = last_untagged; i < pb->nr_objects; i++) {
|
592
592
|
git_pobject *po = pb->object_list + i;
|
593
|
-
if (po->type !=
|
594
|
-
po->type !=
|
593
|
+
if (po->type != GIT_OBJ_COMMIT &&
|
594
|
+
po->type != GIT_OBJ_TAG)
|
595
595
|
continue;
|
596
596
|
add_to_write_order(wo, &wo_end, po);
|
597
597
|
}
|
@@ -601,7 +601,7 @@ static git_pobject **compute_write_order(git_packbuilder *pb)
|
|
601
601
|
*/
|
602
602
|
for (i = last_untagged; i < pb->nr_objects; i++) {
|
603
603
|
git_pobject *po = pb->object_list + i;
|
604
|
-
if (po->type !=
|
604
|
+
if (po->type != GIT_OBJ_TREE)
|
605
605
|
continue;
|
606
606
|
add_to_write_order(wo, &wo_end, po);
|
607
607
|
}
|
@@ -617,7 +617,7 @@ static git_pobject **compute_write_order(git_packbuilder *pb)
|
|
617
617
|
|
618
618
|
if (wo_end != pb->nr_objects) {
|
619
619
|
git__free(wo);
|
620
|
-
|
620
|
+
giterr_set(GITERR_INVALID, "invalid write order");
|
621
621
|
return NULL;
|
622
622
|
}
|
623
623
|
|
@@ -641,7 +641,7 @@ static int write_pack(git_packbuilder *pb,
|
|
641
641
|
return -1;
|
642
642
|
|
643
643
|
if (!git__is_uint32(pb->nr_objects)) {
|
644
|
-
|
644
|
+
giterr_set(GITERR_INVALID, "too many objects");
|
645
645
|
return -1;
|
646
646
|
}
|
647
647
|
|
@@ -798,13 +798,13 @@ static int try_delta(git_packbuilder *pb, struct unpacked *trg,
|
|
798
798
|
|
799
799
|
sz = git_odb_object_size(obj);
|
800
800
|
trg->data = git__malloc(sz);
|
801
|
-
|
801
|
+
GITERR_CHECK_ALLOC(trg->data);
|
802
802
|
memcpy(trg->data, git_odb_object_data(obj), sz);
|
803
803
|
|
804
804
|
git_odb_object_free(obj);
|
805
805
|
|
806
806
|
if (sz != trg_size) {
|
807
|
-
|
807
|
+
giterr_set(GITERR_INVALID,
|
808
808
|
"inconsistent target object length");
|
809
809
|
return -1;
|
810
810
|
}
|
@@ -820,13 +820,13 @@ static int try_delta(git_packbuilder *pb, struct unpacked *trg,
|
|
820
820
|
|
821
821
|
sz = obj_sz;
|
822
822
|
src->data = git__malloc(sz);
|
823
|
-
|
823
|
+
GITERR_CHECK_ALLOC(src->data);
|
824
824
|
memcpy(src->data, git_odb_object_data(obj), sz);
|
825
825
|
|
826
826
|
git_odb_object_free(obj);
|
827
827
|
|
828
828
|
if (sz != src_size) {
|
829
|
-
|
829
|
+
giterr_set(GITERR_INVALID,
|
830
830
|
"inconsistent source object length");
|
831
831
|
return -1;
|
832
832
|
}
|
@@ -872,7 +872,7 @@ static int try_delta(git_packbuilder *pb, struct unpacked *trg,
|
|
872
872
|
}
|
873
873
|
|
874
874
|
trg_object->delta_data = git__realloc(delta_buf, delta_size);
|
875
|
-
|
875
|
+
GITERR_CHECK_ALLOC(trg_object->delta_data);
|
876
876
|
} else {
|
877
877
|
/* create delta when writing the pack */
|
878
878
|
git_packbuilder__cache_unlock(pb);
|
@@ -938,7 +938,7 @@ static int report_delta_progress(
|
|
938
938
|
count, pb->nr_objects, pb->progress_cb_payload);
|
939
939
|
|
940
940
|
if (ret)
|
941
|
-
return
|
941
|
+
return giterr_set_after_callback(ret);
|
942
942
|
}
|
943
943
|
}
|
944
944
|
|
@@ -957,7 +957,7 @@ static int find_deltas(git_packbuilder *pb, git_pobject **list,
|
|
957
957
|
int error = -1;
|
958
958
|
|
959
959
|
array = git__calloc(window, sizeof(struct unpacked));
|
960
|
-
|
960
|
+
GITERR_CHECK_ALLOC(array);
|
961
961
|
|
962
962
|
for (;;) {
|
963
963
|
struct unpacked *n = array + idx;
|
@@ -1043,7 +1043,7 @@ static int find_deltas(git_packbuilder *pb, git_pobject **list,
|
|
1043
1043
|
|
1044
1044
|
git__free(po->delta_data);
|
1045
1045
|
po->delta_data = git__malloc(zbuf.size);
|
1046
|
-
|
1046
|
+
GITERR_CHECK_ALLOC(po->delta_data);
|
1047
1047
|
|
1048
1048
|
memcpy(po->delta_data, zbuf.ptr, zbuf.size);
|
1049
1049
|
po->z_delta_size = zbuf.size;
|
@@ -1095,7 +1095,7 @@ on_error:
|
|
1095
1095
|
git__free(array[i].data);
|
1096
1096
|
}
|
1097
1097
|
git__free(array);
|
1098
|
-
|
1098
|
+
git_buf_free(&zbuf);
|
1099
1099
|
|
1100
1100
|
return error;
|
1101
1101
|
}
|
@@ -1136,7 +1136,7 @@ static void *threaded_find_deltas(void *arg)
|
|
1136
1136
|
git_packbuilder__progress_unlock(me->pb);
|
1137
1137
|
|
1138
1138
|
if (git_mutex_lock(&me->mutex)) {
|
1139
|
-
|
1139
|
+
giterr_set(GITERR_THREAD, "unable to lock packfile condition mutex");
|
1140
1140
|
return NULL;
|
1141
1141
|
}
|
1142
1142
|
|
@@ -1174,7 +1174,7 @@ static int ll_find_deltas(git_packbuilder *pb, git_pobject **list,
|
|
1174
1174
|
}
|
1175
1175
|
|
1176
1176
|
p = git__mallocarray(pb->nr_threads, sizeof(*p));
|
1177
|
-
|
1177
|
+
GITERR_CHECK_ALLOC(p);
|
1178
1178
|
|
1179
1179
|
/* Partition the work among the threads */
|
1180
1180
|
for (i = 0; i < pb->nr_threads; ++i) {
|
@@ -1215,7 +1215,7 @@ static int ll_find_deltas(git_packbuilder *pb, git_pobject **list,
|
|
1215
1215
|
ret = git_thread_create(&p[i].thread,
|
1216
1216
|
threaded_find_deltas, &p[i]);
|
1217
1217
|
if (ret) {
|
1218
|
-
|
1218
|
+
giterr_set(GITERR_THREAD, "unable to create thread");
|
1219
1219
|
return -1;
|
1220
1220
|
}
|
1221
1221
|
active_threads++;
|
@@ -1284,7 +1284,7 @@ static int ll_find_deltas(git_packbuilder *pb, git_pobject **list,
|
|
1284
1284
|
git_packbuilder__progress_unlock(pb);
|
1285
1285
|
|
1286
1286
|
if (git_mutex_lock(&target->mutex)) {
|
1287
|
-
|
1287
|
+
giterr_set(GITERR_THREAD, "unable to lock packfile condition mutex");
|
1288
1288
|
git__free(p);
|
1289
1289
|
return -1;
|
1290
1290
|
}
|
@@ -1325,7 +1325,7 @@ static int prepare_pack(git_packbuilder *pb)
|
|
1325
1325
|
pb->progress_cb(GIT_PACKBUILDER_DELTAFICATION, 0, pb->nr_objects, pb->progress_cb_payload);
|
1326
1326
|
|
1327
1327
|
delta_list = git__mallocarray(pb->nr_objects, sizeof(*delta_list));
|
1328
|
-
|
1328
|
+
GITERR_CHECK_ALLOC(delta_list);
|
1329
1329
|
|
1330
1330
|
for (i = 0; i < pb->nr_objects; ++i) {
|
1331
1331
|
git_pobject *po = pb->object_list + i;
|
@@ -1379,25 +1379,21 @@ int git_packbuilder_write(
|
|
1379
1379
|
git_packbuilder *pb,
|
1380
1380
|
const char *path,
|
1381
1381
|
unsigned int mode,
|
1382
|
-
|
1382
|
+
git_transfer_progress_cb progress_cb,
|
1383
1383
|
void *progress_cb_payload)
|
1384
1384
|
{
|
1385
|
-
git_indexer_options opts = GIT_INDEXER_OPTIONS_INIT;
|
1386
1385
|
git_indexer *indexer;
|
1387
|
-
|
1386
|
+
git_transfer_progress stats;
|
1388
1387
|
struct pack_write_context ctx;
|
1389
1388
|
int t;
|
1390
1389
|
|
1391
1390
|
PREPARE_PACK;
|
1392
1391
|
|
1393
|
-
opts.progress_cb = progress_cb;
|
1394
|
-
opts.progress_cb_payload = progress_cb_payload;
|
1395
|
-
|
1396
1392
|
if (git_indexer_new(
|
1397
|
-
&indexer, path, mode, pb->odb,
|
1393
|
+
&indexer, path, mode, pb->odb, progress_cb, progress_cb_payload) < 0)
|
1398
1394
|
return -1;
|
1399
1395
|
|
1400
|
-
if (!
|
1396
|
+
if (!git_repository__cvar(&t, pb->repo, GIT_CVAR_FSYNCOBJECTFILES) && t)
|
1401
1397
|
git_indexer__set_fsync(indexer, 1);
|
1402
1398
|
|
1403
1399
|
ctx.indexer = indexer;
|
@@ -1430,7 +1426,7 @@ static int cb_tree_walk(
|
|
1430
1426
|
struct tree_walk_context *ctx = payload;
|
1431
1427
|
|
1432
1428
|
/* A commit inside a tree represents a submodule commit and should be skipped. */
|
1433
|
-
if (git_tree_entry_type(entry) ==
|
1429
|
+
if (git_tree_entry_type(entry) == GIT_OBJ_COMMIT)
|
1434
1430
|
return 0;
|
1435
1431
|
|
1436
1432
|
if (!(error = git_buf_sets(&ctx->buf, root)) &&
|
@@ -1467,7 +1463,7 @@ int git_packbuilder_insert_tree(git_packbuilder *pb, const git_oid *oid)
|
|
1467
1463
|
error = git_tree_walk(tree, GIT_TREEWALK_PRE, cb_tree_walk, &context);
|
1468
1464
|
|
1469
1465
|
git_tree_free(tree);
|
1470
|
-
|
1466
|
+
git_buf_free(&context.buf);
|
1471
1467
|
return error;
|
1472
1468
|
}
|
1473
1469
|
|
@@ -1478,27 +1474,27 @@ int git_packbuilder_insert_recur(git_packbuilder *pb, const git_oid *id, const c
|
|
1478
1474
|
|
1479
1475
|
assert(pb && id);
|
1480
1476
|
|
1481
|
-
if ((error = git_object_lookup(&obj, pb->repo, id,
|
1477
|
+
if ((error = git_object_lookup(&obj, pb->repo, id, GIT_OBJ_ANY)) < 0)
|
1482
1478
|
return error;
|
1483
1479
|
|
1484
1480
|
switch (git_object_type(obj)) {
|
1485
|
-
case
|
1481
|
+
case GIT_OBJ_BLOB:
|
1486
1482
|
error = git_packbuilder_insert(pb, id, name);
|
1487
1483
|
break;
|
1488
|
-
case
|
1484
|
+
case GIT_OBJ_TREE:
|
1489
1485
|
error = git_packbuilder_insert_tree(pb, id);
|
1490
1486
|
break;
|
1491
|
-
case
|
1487
|
+
case GIT_OBJ_COMMIT:
|
1492
1488
|
error = git_packbuilder_insert_commit(pb, id);
|
1493
1489
|
break;
|
1494
|
-
case
|
1490
|
+
case GIT_OBJ_TAG:
|
1495
1491
|
if ((error = git_packbuilder_insert(pb, id, name)) < 0)
|
1496
1492
|
goto cleanup;
|
1497
1493
|
error = git_packbuilder_insert_recur(pb, git_tag_target_id((git_tag *) obj), NULL);
|
1498
1494
|
break;
|
1499
1495
|
|
1500
1496
|
default:
|
1501
|
-
|
1497
|
+
giterr_set(GITERR_INVALID, "unknown object type");
|
1502
1498
|
error = -1;
|
1503
1499
|
}
|
1504
1500
|
|
@@ -1517,13 +1513,13 @@ size_t git_packbuilder_written(git_packbuilder *pb)
|
|
1517
1513
|
return pb->nr_written;
|
1518
1514
|
}
|
1519
1515
|
|
1520
|
-
|
1516
|
+
int lookup_walk_object(git_walk_object **out, git_packbuilder *pb, const git_oid *id)
|
1521
1517
|
{
|
1522
|
-
|
1518
|
+
git_walk_object *obj;
|
1523
1519
|
|
1524
1520
|
obj = git_pool_mallocz(&pb->object_pool, 1);
|
1525
1521
|
if (!obj) {
|
1526
|
-
|
1522
|
+
giterr_set_oom();
|
1527
1523
|
return -1;
|
1528
1524
|
}
|
1529
1525
|
|
@@ -1533,17 +1529,20 @@ static int lookup_walk_object(struct walk_object **out, git_packbuilder *pb, con
|
|
1533
1529
|
return 0;
|
1534
1530
|
}
|
1535
1531
|
|
1536
|
-
static int retrieve_object(
|
1532
|
+
static int retrieve_object(git_walk_object **out, git_packbuilder *pb, const git_oid *id)
|
1537
1533
|
{
|
1538
|
-
struct walk_object *obj;
|
1539
1534
|
int error;
|
1535
|
+
khiter_t pos;
|
1536
|
+
git_walk_object *obj;
|
1540
1537
|
|
1541
|
-
|
1538
|
+
pos = git_oidmap_lookup_index(pb->walk_objects, id);
|
1539
|
+
if (git_oidmap_valid_index(pb->walk_objects, pos)) {
|
1540
|
+
obj = git_oidmap_value_at(pb->walk_objects, pos);
|
1541
|
+
} else {
|
1542
1542
|
if ((error = lookup_walk_object(&obj, pb, id)) < 0)
|
1543
1543
|
return error;
|
1544
1544
|
|
1545
|
-
|
1546
|
-
return error;
|
1545
|
+
git_oidmap_insert(pb->walk_objects, &obj->id, obj, &error);
|
1547
1546
|
}
|
1548
1547
|
|
1549
1548
|
*out = obj;
|
@@ -1553,7 +1552,7 @@ static int retrieve_object(struct walk_object **out, git_packbuilder *pb, const
|
|
1553
1552
|
static int mark_blob_uninteresting(git_packbuilder *pb, const git_oid *id)
|
1554
1553
|
{
|
1555
1554
|
int error;
|
1556
|
-
|
1555
|
+
git_walk_object *obj;
|
1557
1556
|
|
1558
1557
|
if ((error = retrieve_object(&obj, pb, id)) < 0)
|
1559
1558
|
return error;
|
@@ -1565,7 +1564,7 @@ static int mark_blob_uninteresting(git_packbuilder *pb, const git_oid *id)
|
|
1565
1564
|
|
1566
1565
|
static int mark_tree_uninteresting(git_packbuilder *pb, const git_oid *id)
|
1567
1566
|
{
|
1568
|
-
|
1567
|
+
git_walk_object *obj;
|
1569
1568
|
git_tree *tree;
|
1570
1569
|
int error;
|
1571
1570
|
size_t i;
|
@@ -1585,11 +1584,11 @@ static int mark_tree_uninteresting(git_packbuilder *pb, const git_oid *id)
|
|
1585
1584
|
const git_tree_entry *entry = git_tree_entry_byindex(tree, i);
|
1586
1585
|
const git_oid *entry_id = git_tree_entry_id(entry);
|
1587
1586
|
switch (git_tree_entry_type(entry)) {
|
1588
|
-
case
|
1587
|
+
case GIT_OBJ_TREE:
|
1589
1588
|
if ((error = mark_tree_uninteresting(pb, entry_id)) < 0)
|
1590
1589
|
goto cleanup;
|
1591
1590
|
break;
|
1592
|
-
case
|
1591
|
+
case GIT_OBJ_BLOB:
|
1593
1592
|
if ((error = mark_blob_uninteresting(pb, entry_id)) < 0)
|
1594
1593
|
goto cleanup;
|
1595
1594
|
break;
|
@@ -1637,7 +1636,7 @@ int insert_tree(git_packbuilder *pb, git_tree *tree)
|
|
1637
1636
|
size_t i;
|
1638
1637
|
int error;
|
1639
1638
|
git_tree *subtree;
|
1640
|
-
|
1639
|
+
git_walk_object *obj;
|
1641
1640
|
const char *name;
|
1642
1641
|
|
1643
1642
|
if ((error = retrieve_object(&obj, pb, git_tree_id(tree))) < 0)
|
@@ -1655,7 +1654,7 @@ int insert_tree(git_packbuilder *pb, git_tree *tree)
|
|
1655
1654
|
const git_tree_entry *entry = git_tree_entry_byindex(tree, i);
|
1656
1655
|
const git_oid *entry_id = git_tree_entry_id(entry);
|
1657
1656
|
switch (git_tree_entry_type(entry)) {
|
1658
|
-
case
|
1657
|
+
case GIT_OBJ_TREE:
|
1659
1658
|
if ((error = git_tree_lookup(&subtree, pb->repo, entry_id)) < 0)
|
1660
1659
|
return error;
|
1661
1660
|
|
@@ -1666,7 +1665,7 @@ int insert_tree(git_packbuilder *pb, git_tree *tree)
|
|
1666
1665
|
return error;
|
1667
1666
|
|
1668
1667
|
break;
|
1669
|
-
case
|
1668
|
+
case GIT_OBJ_BLOB:
|
1670
1669
|
if ((error = retrieve_object(&obj, pb, entry_id)) < 0)
|
1671
1670
|
return error;
|
1672
1671
|
if (obj->uninteresting)
|
@@ -1685,7 +1684,7 @@ int insert_tree(git_packbuilder *pb, git_tree *tree)
|
|
1685
1684
|
return error;
|
1686
1685
|
}
|
1687
1686
|
|
1688
|
-
int insert_commit(git_packbuilder *pb,
|
1687
|
+
int insert_commit(git_packbuilder *pb, git_walk_object *obj)
|
1689
1688
|
{
|
1690
1689
|
int error;
|
1691
1690
|
git_commit *commit = NULL;
|
@@ -1715,7 +1714,7 @@ int git_packbuilder_insert_walk(git_packbuilder *pb, git_revwalk *walk)
|
|
1715
1714
|
{
|
1716
1715
|
int error;
|
1717
1716
|
git_oid id;
|
1718
|
-
|
1717
|
+
git_walk_object *obj;
|
1719
1718
|
|
1720
1719
|
assert(pb && walk);
|
1721
1720
|
|