rugged 1.6.3 → 1.9.0
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/ext/rugged/rugged_allocator.c +0 -54
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +1 -0
- data/vendor/libgit2/CMakeLists.txt +25 -17
- data/vendor/libgit2/COPYING +195 -1
- data/vendor/libgit2/cmake/CheckPrototypeDefinitionSafe.cmake +16 -0
- data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
- data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
- data/vendor/libgit2/cmake/SelectGSSAPI.cmake +4 -4
- data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
- data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +34 -6
- data/vendor/libgit2/cmake/SelectHashes.cmake +32 -11
- data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
- data/vendor/libgit2/cmake/SelectSSH.cmake +22 -17
- data/vendor/libgit2/cmake/SelectXdiff.cmake +9 -0
- data/vendor/libgit2/cmake/SelectZlib.cmake +4 -0
- data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
- data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
- data/vendor/libgit2/deps/llhttp/api.c +510 -0
- data/vendor/libgit2/deps/llhttp/http.c +170 -0
- data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
- data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -1
- data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +4 -4
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +21 -21
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
- data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
- data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +1 -0
- data/vendor/libgit2/deps/pcre/LICENCE +5 -5
- data/vendor/libgit2/deps/pcre/pcre.h +2 -2
- data/vendor/libgit2/deps/pcre/pcre_compile.c +6 -3
- data/vendor/libgit2/deps/pcre/pcre_exec.c +2 -2
- data/vendor/libgit2/deps/xdiff/CMakeLists.txt +28 -0
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/git-xdiff.h +4 -1
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.c +19 -18
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.h +2 -4
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.c +3 -3
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xhistogram.c +7 -18
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmacros.h +18 -1
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmerge.c +22 -20
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xpatience.c +21 -30
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.c +13 -30
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.c +18 -1
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.h +2 -1
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
- data/vendor/libgit2/deps/zlib/LICENSE +22 -0
- data/vendor/libgit2/deps/zlib/adler32.c +5 -27
- data/vendor/libgit2/deps/zlib/crc32.c +94 -167
- data/vendor/libgit2/deps/zlib/deflate.c +358 -435
- data/vendor/libgit2/deps/zlib/deflate.h +41 -10
- data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
- data/vendor/libgit2/deps/zlib/infback.c +17 -30
- data/vendor/libgit2/deps/zlib/inffast.c +1 -4
- data/vendor/libgit2/deps/zlib/inffast.h +1 -1
- data/vendor/libgit2/deps/zlib/inflate.c +36 -102
- data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
- data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
- data/vendor/libgit2/deps/zlib/trees.c +287 -352
- data/vendor/libgit2/deps/zlib/zconf.h +23 -14
- data/vendor/libgit2/deps/zlib/zlib.h +202 -202
- data/vendor/libgit2/deps/zlib/zutil.c +18 -44
- data/vendor/libgit2/deps/zlib/zutil.h +13 -33
- data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
- data/vendor/libgit2/include/git2/apply.h +27 -6
- data/vendor/libgit2/include/git2/attr.h +17 -4
- data/vendor/libgit2/include/git2/blame.h +133 -28
- data/vendor/libgit2/include/git2/blob.h +71 -28
- data/vendor/libgit2/include/git2/branch.h +22 -15
- data/vendor/libgit2/include/git2/buffer.h +6 -4
- data/vendor/libgit2/include/git2/cert.h +2 -1
- data/vendor/libgit2/include/git2/checkout.h +83 -32
- data/vendor/libgit2/include/git2/cherrypick.h +10 -3
- data/vendor/libgit2/include/git2/clone.h +25 -9
- data/vendor/libgit2/include/git2/commit.h +132 -3
- data/vendor/libgit2/include/git2/common.h +138 -56
- data/vendor/libgit2/include/git2/config.h +93 -23
- data/vendor/libgit2/include/git2/credential.h +30 -2
- data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
- data/vendor/libgit2/include/git2/deprecated.h +133 -3
- data/vendor/libgit2/include/git2/describe.h +13 -1
- data/vendor/libgit2/include/git2/diff.h +77 -9
- data/vendor/libgit2/include/git2/email.h +9 -29
- data/vendor/libgit2/include/git2/errors.h +49 -74
- data/vendor/libgit2/include/git2/filter.h +14 -7
- data/vendor/libgit2/include/git2/global.h +8 -1
- data/vendor/libgit2/include/git2/graph.h +3 -2
- data/vendor/libgit2/include/git2/ignore.h +10 -0
- data/vendor/libgit2/include/git2/index.h +100 -6
- data/vendor/libgit2/include/git2/indexer.h +21 -4
- data/vendor/libgit2/include/git2/mailmap.h +7 -1
- data/vendor/libgit2/include/git2/merge.h +46 -1
- data/vendor/libgit2/include/git2/message.h +2 -2
- data/vendor/libgit2/include/git2/net.h +3 -1
- data/vendor/libgit2/include/git2/notes.h +9 -6
- data/vendor/libgit2/include/git2/object.h +9 -8
- data/vendor/libgit2/include/git2/odb.h +91 -49
- data/vendor/libgit2/include/git2/odb_backend.h +80 -52
- data/vendor/libgit2/include/git2/oid.h +24 -25
- data/vendor/libgit2/include/git2/oidarray.h +7 -1
- data/vendor/libgit2/include/git2/pack.h +13 -1
- data/vendor/libgit2/include/git2/patch.h +2 -3
- data/vendor/libgit2/include/git2/pathspec.h +9 -0
- data/vendor/libgit2/include/git2/proxy.h +10 -0
- data/vendor/libgit2/include/git2/rebase.h +9 -6
- data/vendor/libgit2/include/git2/refdb.h +2 -2
- data/vendor/libgit2/include/git2/reflog.h +3 -2
- data/vendor/libgit2/include/git2/refs.h +9 -6
- data/vendor/libgit2/include/git2/refspec.h +14 -4
- data/vendor/libgit2/include/git2/remote.h +112 -18
- data/vendor/libgit2/include/git2/repository.h +61 -15
- data/vendor/libgit2/include/git2/reset.h +16 -3
- data/vendor/libgit2/include/git2/revert.h +9 -4
- data/vendor/libgit2/include/git2/revparse.h +3 -3
- data/vendor/libgit2/include/git2/revwalk.h +3 -2
- data/vendor/libgit2/include/git2/signature.h +46 -1
- data/vendor/libgit2/include/git2/stash.h +17 -3
- data/vendor/libgit2/include/git2/status.h +10 -6
- data/vendor/libgit2/include/git2/stdint.h +87 -85
- data/vendor/libgit2/include/git2/strarray.h +2 -3
- data/vendor/libgit2/include/git2/submodule.h +20 -9
- data/vendor/libgit2/include/git2/sys/alloc.h +12 -34
- data/vendor/libgit2/include/git2/sys/commit.h +77 -3
- data/vendor/libgit2/include/git2/sys/commit_graph.h +109 -58
- data/vendor/libgit2/include/git2/sys/config.h +80 -4
- data/vendor/libgit2/include/git2/sys/credential.h +4 -3
- data/vendor/libgit2/include/git2/sys/diff.h +21 -1
- data/vendor/libgit2/include/git2/sys/email.h +7 -0
- data/vendor/libgit2/include/git2/sys/errors.h +76 -0
- data/vendor/libgit2/include/git2/sys/filter.h +66 -3
- data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
- data/vendor/libgit2/include/git2/sys/index.h +3 -2
- data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
- data/vendor/libgit2/include/git2/sys/merge.h +55 -7
- data/vendor/libgit2/include/git2/sys/midx.h +47 -4
- data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
- data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
- data/vendor/libgit2/include/git2/sys/path.h +12 -1
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
- data/vendor/libgit2/include/git2/sys/refs.h +3 -2
- data/vendor/libgit2/include/git2/sys/remote.h +8 -1
- data/vendor/libgit2/include/git2/sys/repository.h +63 -3
- data/vendor/libgit2/include/git2/sys/stream.h +25 -2
- data/vendor/libgit2/include/git2/sys/transport.h +44 -5
- data/vendor/libgit2/include/git2/tag.h +3 -1
- data/vendor/libgit2/include/git2/trace.h +9 -3
- data/vendor/libgit2/include/git2/transaction.h +3 -2
- data/vendor/libgit2/include/git2/transport.h +11 -3
- data/vendor/libgit2/include/git2/tree.h +16 -5
- data/vendor/libgit2/include/git2/types.h +19 -3
- data/vendor/libgit2/include/git2/version.h +44 -8
- data/vendor/libgit2/include/git2/worktree.h +19 -7
- data/vendor/libgit2/src/CMakeLists.txt +40 -15
- data/vendor/libgit2/src/cli/CMakeLists.txt +2 -2
- data/vendor/libgit2/src/cli/cmd.c +1 -1
- data/vendor/libgit2/src/cli/cmd.h +4 -0
- data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
- data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
- data/vendor/libgit2/src/cli/cmd_clone.c +27 -13
- data/vendor/libgit2/src/cli/cmd_config.c +241 -0
- data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
- data/vendor/libgit2/src/cli/cmd_help.c +6 -7
- data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
- data/vendor/libgit2/src/cli/cmd_init.c +102 -0
- data/vendor/libgit2/src/cli/common.c +168 -0
- data/vendor/libgit2/src/cli/common.h +63 -0
- data/vendor/libgit2/src/cli/error.h +1 -1
- data/vendor/libgit2/src/cli/main.c +52 -24
- data/vendor/libgit2/src/cli/opt.c +29 -3
- data/vendor/libgit2/src/cli/opt.h +21 -3
- data/vendor/libgit2/src/cli/opt_usage.c +102 -33
- data/vendor/libgit2/src/cli/opt_usage.h +6 -1
- data/vendor/libgit2/src/cli/progress.c +60 -10
- data/vendor/libgit2/src/cli/progress.h +16 -4
- data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
- data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
- data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
- data/vendor/libgit2/src/libgit2/CMakeLists.txt +27 -27
- data/vendor/libgit2/src/libgit2/annotated_commit.c +2 -2
- data/vendor/libgit2/src/libgit2/annotated_commit.h +1 -1
- data/vendor/libgit2/src/libgit2/apply.c +14 -16
- data/vendor/libgit2/src/libgit2/attr.c +30 -13
- data/vendor/libgit2/src/libgit2/attr_file.c +7 -2
- data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
- data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
- data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
- data/vendor/libgit2/src/libgit2/blame.c +152 -59
- data/vendor/libgit2/src/libgit2/blame.h +1 -0
- data/vendor/libgit2/src/libgit2/blame_git.c +0 -1
- data/vendor/libgit2/src/libgit2/branch.c +2 -2
- data/vendor/libgit2/src/libgit2/cache.c +22 -17
- data/vendor/libgit2/src/libgit2/cache.h +7 -9
- data/vendor/libgit2/src/libgit2/checkout.c +34 -24
- data/vendor/libgit2/src/libgit2/checkout.h +0 -2
- data/vendor/libgit2/src/libgit2/cherrypick.c +4 -5
- data/vendor/libgit2/src/libgit2/clone.c +186 -164
- data/vendor/libgit2/src/libgit2/clone.h +4 -1
- data/vendor/libgit2/src/libgit2/commit.c +123 -9
- data/vendor/libgit2/src/libgit2/commit_graph.c +166 -88
- data/vendor/libgit2/src/libgit2/commit_graph.h +21 -6
- data/vendor/libgit2/src/libgit2/commit_list.c +12 -5
- data/vendor/libgit2/src/libgit2/commit_list.h +1 -0
- data/vendor/libgit2/src/libgit2/config.c +394 -300
- data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
- data/vendor/libgit2/src/libgit2/config.h +9 -4
- data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
- data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
- data/vendor/libgit2/src/libgit2/config_file.c +113 -96
- data/vendor/libgit2/src/libgit2/config_list.c +285 -0
- data/vendor/libgit2/src/libgit2/config_list.h +32 -0
- data/vendor/libgit2/src/libgit2/config_mem.c +194 -40
- data/vendor/libgit2/src/libgit2/config_parse.c +10 -9
- data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
- data/vendor/libgit2/src/libgit2/describe.c +34 -31
- data/vendor/libgit2/src/libgit2/diff.c +17 -8
- data/vendor/libgit2/src/libgit2/diff.h +6 -6
- data/vendor/libgit2/src/libgit2/diff_driver.c +12 -19
- data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
- data/vendor/libgit2/src/libgit2/diff_file.c +7 -7
- data/vendor/libgit2/src/libgit2/diff_generate.c +39 -18
- data/vendor/libgit2/src/libgit2/diff_parse.c +22 -6
- data/vendor/libgit2/src/libgit2/diff_print.c +88 -13
- data/vendor/libgit2/src/libgit2/diff_tform.c +40 -12
- data/vendor/libgit2/src/libgit2/diff_xdiff.h +1 -1
- data/vendor/libgit2/src/libgit2/email.c +5 -3
- data/vendor/libgit2/src/libgit2/fetch.c +39 -9
- data/vendor/libgit2/src/libgit2/fetch.h +0 -2
- data/vendor/libgit2/src/libgit2/fetchhead.c +11 -9
- data/vendor/libgit2/src/libgit2/filter.c +5 -5
- data/vendor/libgit2/src/libgit2/git2.rc +3 -3
- data/vendor/libgit2/src/libgit2/grafts.c +270 -0
- data/vendor/libgit2/src/libgit2/grafts.h +35 -0
- data/vendor/libgit2/src/libgit2/graph.c +1 -1
- data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
- data/vendor/libgit2/src/libgit2/ident.c +3 -3
- data/vendor/libgit2/src/libgit2/ignore.c +9 -5
- data/vendor/libgit2/src/libgit2/index.c +392 -208
- data/vendor/libgit2/src/libgit2/index.h +16 -3
- data/vendor/libgit2/src/libgit2/index_map.c +95 -0
- data/vendor/libgit2/src/libgit2/index_map.h +28 -0
- data/vendor/libgit2/src/libgit2/indexer.c +44 -41
- data/vendor/libgit2/src/libgit2/iterator.c +34 -13
- data/vendor/libgit2/src/libgit2/iterator.h +3 -0
- data/vendor/libgit2/src/libgit2/libgit2.c +155 -331
- data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
- data/vendor/libgit2/src/libgit2/merge.c +56 -46
- data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
- data/vendor/libgit2/src/libgit2/merge_file.c +0 -2
- data/vendor/libgit2/src/libgit2/midx.c +86 -44
- data/vendor/libgit2/src/libgit2/midx.h +13 -3
- data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
- data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
- data/vendor/libgit2/src/libgit2/notes.c +9 -8
- data/vendor/libgit2/src/libgit2/object.c +42 -16
- data/vendor/libgit2/src/libgit2/object.h +6 -0
- data/vendor/libgit2/src/libgit2/odb.c +16 -9
- data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
- data/vendor/libgit2/src/libgit2/odb_pack.c +28 -7
- data/vendor/libgit2/src/libgit2/oid.c +35 -2
- data/vendor/libgit2/src/libgit2/oid.h +11 -0
- data/vendor/libgit2/src/libgit2/oidarray.c +49 -3
- data/vendor/libgit2/src/libgit2/oidarray.h +5 -1
- data/vendor/libgit2/src/libgit2/pack-objects.c +77 -43
- data/vendor/libgit2/src/libgit2/pack-objects.h +17 -6
- data/vendor/libgit2/src/libgit2/pack.c +33 -27
- data/vendor/libgit2/src/libgit2/pack.h +15 -10
- data/vendor/libgit2/src/libgit2/parse.c +7 -4
- data/vendor/libgit2/src/libgit2/parse.h +1 -1
- data/vendor/libgit2/src/libgit2/patch.h +7 -1
- data/vendor/libgit2/src/libgit2/patch_generate.c +24 -5
- data/vendor/libgit2/src/libgit2/patch_parse.c +18 -10
- data/vendor/libgit2/src/libgit2/path.c +1 -1
- data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
- data/vendor/libgit2/src/libgit2/push.c +81 -30
- data/vendor/libgit2/src/libgit2/push.h +1 -0
- data/vendor/libgit2/src/libgit2/reader.c +1 -1
- data/vendor/libgit2/src/libgit2/rebase.c +72 -84
- data/vendor/libgit2/src/libgit2/refdb_fs.c +146 -70
- data/vendor/libgit2/src/libgit2/reflog.c +1 -2
- data/vendor/libgit2/src/libgit2/reflog.h +2 -0
- data/vendor/libgit2/src/libgit2/refs.c +34 -8
- data/vendor/libgit2/src/libgit2/refs.h +6 -1
- data/vendor/libgit2/src/libgit2/refspec.c +28 -1
- data/vendor/libgit2/src/libgit2/refspec.h +8 -0
- data/vendor/libgit2/src/libgit2/remote.c +136 -67
- data/vendor/libgit2/src/libgit2/remote.h +1 -0
- data/vendor/libgit2/src/libgit2/repository.c +789 -330
- data/vendor/libgit2/src/libgit2/repository.h +22 -3
- data/vendor/libgit2/src/libgit2/reset.c +2 -2
- data/vendor/libgit2/src/libgit2/revert.c +9 -13
- data/vendor/libgit2/src/libgit2/revparse.c +6 -3
- data/vendor/libgit2/src/libgit2/revwalk.c +36 -11
- data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
- data/vendor/libgit2/src/libgit2/settings.c +468 -0
- data/vendor/libgit2/src/libgit2/settings.h +6 -2
- data/vendor/libgit2/src/libgit2/signature.c +132 -15
- data/vendor/libgit2/src/libgit2/signature.h +0 -1
- data/vendor/libgit2/src/libgit2/stash.c +9 -8
- data/vendor/libgit2/src/libgit2/status.c +1 -1
- data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -61
- data/vendor/libgit2/src/libgit2/streams/openssl.c +40 -23
- data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
- data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
- data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
- data/vendor/libgit2/src/libgit2/streams/schannel.c +715 -0
- data/vendor/libgit2/src/libgit2/streams/schannel.h +28 -0
- data/vendor/libgit2/src/libgit2/streams/socket.c +237 -51
- data/vendor/libgit2/src/libgit2/streams/socket.h +3 -1
- data/vendor/libgit2/src/libgit2/streams/stransport.c +79 -19
- data/vendor/libgit2/src/libgit2/streams/tls.c +5 -0
- data/vendor/libgit2/src/libgit2/submodule.c +106 -63
- data/vendor/libgit2/src/libgit2/submodule.h +9 -10
- data/vendor/libgit2/src/libgit2/tag.c +1 -1
- data/vendor/libgit2/src/libgit2/trailer.c +6 -6
- data/vendor/libgit2/src/libgit2/transaction.c +26 -20
- data/vendor/libgit2/src/libgit2/transaction.h +4 -1
- data/vendor/libgit2/src/libgit2/transport.c +4 -1
- data/vendor/libgit2/src/libgit2/transports/auth.h +1 -2
- data/vendor/libgit2/src/libgit2/transports/{auth_negotiate.c → auth_gssapi.c} +32 -32
- data/vendor/libgit2/src/libgit2/transports/auth_negotiate.h +1 -1
- data/vendor/libgit2/src/libgit2/transports/auth_ntlm.h +1 -1
- data/vendor/libgit2/src/libgit2/transports/{auth_ntlm.c → auth_ntlmclient.c} +12 -12
- data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +341 -0
- data/vendor/libgit2/src/libgit2/transports/credential.c +1 -1
- data/vendor/libgit2/src/libgit2/transports/git.c +7 -8
- data/vendor/libgit2/src/libgit2/transports/http.c +8 -4
- data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
- data/vendor/libgit2/src/libgit2/transports/httpclient.c +117 -72
- data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
- data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
- data/vendor/libgit2/src/libgit2/transports/local.c +21 -11
- data/vendor/libgit2/src/libgit2/transports/smart.c +50 -32
- data/vendor/libgit2/src/libgit2/transports/smart.h +26 -9
- data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +139 -18
- data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +209 -57
- data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
- data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
- data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
- data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1126 -0
- data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
- data/vendor/libgit2/src/libgit2/transports/winhttp.c +48 -21
- data/vendor/libgit2/src/libgit2/tree-cache.c +26 -16
- data/vendor/libgit2/src/libgit2/tree-cache.h +5 -3
- data/vendor/libgit2/src/libgit2/tree.c +35 -27
- data/vendor/libgit2/src/libgit2/tree.h +3 -2
- data/vendor/libgit2/src/libgit2/worktree.c +39 -27
- data/vendor/libgit2/src/util/CMakeLists.txt +4 -6
- data/vendor/libgit2/src/util/alloc.c +69 -7
- data/vendor/libgit2/src/util/alloc.h +34 -9
- data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
- data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
- data/vendor/libgit2/src/util/allocators/failalloc.c +0 -60
- data/vendor/libgit2/src/util/allocators/failalloc.h +0 -6
- data/vendor/libgit2/src/util/allocators/stdalloc.c +2 -115
- data/vendor/libgit2/src/util/allocators/win32_leakcheck.c +0 -68
- data/vendor/libgit2/src/util/array.h +24 -18
- data/vendor/libgit2/src/util/cc-compat.h +4 -0
- data/vendor/libgit2/src/util/ctype_compat.h +70 -0
- data/vendor/libgit2/src/util/date.c +22 -14
- data/vendor/libgit2/src/util/date.h +12 -0
- data/vendor/libgit2/src/util/errors.c +401 -0
- data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
- data/vendor/libgit2/src/util/filebuf.c +6 -1
- data/vendor/libgit2/src/util/filebuf.h +19 -6
- data/vendor/libgit2/src/util/fs_path.c +16 -5
- data/vendor/libgit2/src/util/fs_path.h +23 -0
- data/vendor/libgit2/src/util/futils.c +14 -10
- data/vendor/libgit2/src/util/futils.h +13 -4
- data/vendor/libgit2/src/util/git2_features.h.in +21 -4
- data/vendor/libgit2/src/util/git2_util.h +6 -0
- data/vendor/libgit2/src/util/hash/openssl.c +152 -0
- data/vendor/libgit2/src/util/hash/openssl.h +17 -1
- data/vendor/libgit2/src/util/hash/sha.h +4 -1
- data/vendor/libgit2/src/util/hashmap.h +424 -0
- data/vendor/libgit2/src/util/hashmap_str.h +43 -0
- data/vendor/libgit2/src/util/integer.h +3 -1
- data/vendor/libgit2/src/util/net.c +318 -161
- data/vendor/libgit2/src/util/net.h +27 -0
- data/vendor/libgit2/src/util/pool.c +1 -1
- data/vendor/libgit2/src/util/pool.h +5 -0
- data/vendor/libgit2/src/util/posix.c +54 -0
- data/vendor/libgit2/src/util/posix.h +22 -0
- data/vendor/libgit2/src/util/pqueue.h +1 -1
- data/vendor/libgit2/src/util/process.h +222 -0
- data/vendor/libgit2/src/util/rand.c +6 -10
- data/vendor/libgit2/src/util/regexp.c +1 -1
- data/vendor/libgit2/src/util/sortedcache.c +14 -13
- data/vendor/libgit2/src/util/sortedcache.h +3 -3
- data/vendor/libgit2/src/util/staticstr.h +66 -0
- data/vendor/libgit2/src/util/str.c +2 -2
- data/vendor/libgit2/src/util/strlist.c +108 -0
- data/vendor/libgit2/src/util/strlist.h +36 -0
- data/vendor/libgit2/src/util/unix/posix.h +0 -2
- data/vendor/libgit2/src/util/unix/process.c +629 -0
- data/vendor/libgit2/src/util/unix/realpath.c +23 -5
- data/vendor/libgit2/src/util/util.c +17 -12
- data/vendor/libgit2/src/util/util.h +28 -54
- data/vendor/libgit2/src/util/vector.c +3 -3
- data/vendor/libgit2/src/util/vector.h +2 -2
- data/vendor/libgit2/src/util/win32/error.c +1 -1
- data/vendor/libgit2/src/util/win32/path_w32.c +8 -8
- data/vendor/libgit2/src/util/win32/posix_w32.c +30 -7
- data/vendor/libgit2/src/util/win32/process.c +506 -0
- data/vendor/libgit2/src/util/win32/utf-conv.c +73 -75
- data/vendor/libgit2/src/util/win32/utf-conv.h +81 -14
- data/vendor/libgit2/src/util/win32/w32_util.c +1 -1
- metadata +72 -49
- data/vendor/libgit2/cmake/SelectWinHTTP.cmake +0 -17
- data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
- data/vendor/libgit2/deps/http-parser/COPYING +0 -23
- data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
- data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
- data/vendor/libgit2/deps/zlib/COPYING +0 -27
- data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
- data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
- data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
- data/vendor/libgit2/src/libgit2/errors.c +0 -238
- data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
- data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
- data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
- data/vendor/libgit2/src/libgit2/netops.c +0 -124
- data/vendor/libgit2/src/libgit2/netops.h +0 -68
- data/vendor/libgit2/src/libgit2/offmap.c +0 -101
- data/vendor/libgit2/src/libgit2/offmap.h +0 -133
- data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
- data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
- data/vendor/libgit2/src/libgit2/threadstate.c +0 -84
- data/vendor/libgit2/src/libgit2/threadstate.h +0 -24
- data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
- data/vendor/libgit2/src/util/khash.h +0 -615
- data/vendor/libgit2/src/util/strmap.c +0 -100
- data/vendor/libgit2/src/util/strmap.h +0 -131
- /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiff.h +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.h +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xinclude.h +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.h +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xtypes.h +0 -0
@@ -24,6 +24,7 @@
|
|
24
24
|
#include "attrcache.h"
|
25
25
|
#include "submodule.h"
|
26
26
|
#include "diff_driver.h"
|
27
|
+
#include "grafts.h"
|
27
28
|
|
28
29
|
#define DOT_GIT ".git"
|
29
30
|
#define GIT_DIR DOT_GIT "/"
|
@@ -101,6 +102,8 @@ typedef enum {
|
|
101
102
|
/* core.trustctime */
|
102
103
|
GIT_TRUSTCTIME_DEFAULT = GIT_CONFIGMAP_TRUE,
|
103
104
|
/* core.abbrev */
|
105
|
+
GIT_ABBREV_FALSE = GIT_OID_MAX_HEXSIZE,
|
106
|
+
GIT_ABBREV_MINIMUM = 4,
|
104
107
|
GIT_ABBREV_DEFAULT = 7,
|
105
108
|
/* core.precomposeunicode */
|
106
109
|
GIT_PRECOMPOSE_DEFAULT = GIT_CONFIGMAP_FALSE,
|
@@ -151,16 +154,20 @@ struct git_repository {
|
|
151
154
|
|
152
155
|
git_array_t(git_str) reserved_names;
|
153
156
|
|
154
|
-
unsigned
|
155
|
-
|
157
|
+
unsigned use_env:1,
|
158
|
+
is_bare:1,
|
159
|
+
is_worktree:1;
|
156
160
|
git_oid_t oid_type;
|
157
161
|
|
158
162
|
unsigned int lru_counter;
|
159
163
|
|
164
|
+
git_grafts *grafts;
|
165
|
+
git_grafts *shallow_grafts;
|
166
|
+
|
160
167
|
git_atomic32 attr_session_key;
|
161
168
|
|
162
169
|
intptr_t configmap_cache[GIT_CONFIGMAP_CACHE_MAX];
|
163
|
-
|
170
|
+
git_submodule_cache *submodule_cache;
|
164
171
|
};
|
165
172
|
|
166
173
|
GIT_INLINE(git_attr_cache *) git_repository_attr_cache(git_repository *repo)
|
@@ -168,6 +175,7 @@ GIT_INLINE(git_attr_cache *) git_repository_attr_cache(git_repository *repo)
|
|
168
175
|
return repo->attrcache;
|
169
176
|
}
|
170
177
|
|
178
|
+
int git_repository_head_commit(git_commit **commit, git_repository *repo);
|
171
179
|
int git_repository_head_tree(git_tree **tree, git_repository *repo);
|
172
180
|
int git_repository_create_head(const char *git_dir, const char *ref_name);
|
173
181
|
|
@@ -188,6 +196,8 @@ int git_repository_config__weakptr(git_config **out, git_repository *repo);
|
|
188
196
|
int git_repository_odb__weakptr(git_odb **out, git_repository *repo);
|
189
197
|
int git_repository_refdb__weakptr(git_refdb **out, git_repository *repo);
|
190
198
|
int git_repository_index__weakptr(git_index **out, git_repository *repo);
|
199
|
+
int git_repository_grafts__weakptr(git_grafts **out, git_repository *repo);
|
200
|
+
int git_repository_shallow_grafts__weakptr(git_grafts **out, git_repository *repo);
|
191
201
|
|
192
202
|
/*
|
193
203
|
* Configuration map cache
|
@@ -198,6 +208,9 @@ int git_repository_index__weakptr(git_index **out, git_repository *repo);
|
|
198
208
|
int git_repository__configmap_lookup(int *out, git_repository *repo, git_configmap_item item);
|
199
209
|
void git_repository__configmap_lookup_cache_clear(git_repository *repo);
|
200
210
|
|
211
|
+
/** Return the length that object names will be abbreviated to. */
|
212
|
+
int git_repository__abbrev_length(int *out, git_repository *repo);
|
213
|
+
|
201
214
|
int git_repository__item_path(git_str *out, const git_repository *repo, git_repository_item_t item);
|
202
215
|
|
203
216
|
GIT_INLINE(int) git_repository__ensure_not_bare(
|
@@ -239,6 +252,9 @@ extern size_t git_repository__reserved_names_posix_len;
|
|
239
252
|
bool git_repository__reserved_names(
|
240
253
|
git_str **out, size_t *outlen, git_repository *repo, bool include_ntfs);
|
241
254
|
|
255
|
+
int git_repository__shallow_roots(git_oid **out, size_t *out_len, git_repository *repo);
|
256
|
+
int git_repository__shallow_roots_write(git_repository *repo, git_oidarray *roots);
|
257
|
+
|
242
258
|
/*
|
243
259
|
* The default branch for the repository; the `init.defaultBranch`
|
244
260
|
* configuration option, if set, or `master` if it is not.
|
@@ -265,4 +281,7 @@ int git_repository__set_objectformat(
|
|
265
281
|
git_repository *repo,
|
266
282
|
git_oid_t oid_type);
|
267
283
|
|
284
|
+
/* SHA256-aware internal functions */
|
285
|
+
int git_repository__new(git_repository **out, git_oid_t oid_type);
|
286
|
+
|
268
287
|
#endif
|
@@ -188,9 +188,9 @@ int git_reset(
|
|
188
188
|
git_reset_t reset_type,
|
189
189
|
const git_checkout_options *checkout_opts)
|
190
190
|
{
|
191
|
-
char to[
|
191
|
+
char to[GIT_OID_MAX_HEXSIZE + 1];
|
192
192
|
|
193
|
-
git_oid_tostr(to,
|
193
|
+
git_oid_tostr(to, GIT_OID_MAX_HEXSIZE + 1, git_object_id(target));
|
194
194
|
return reset(repo, target, to, reset_type, checkout_opts);
|
195
195
|
}
|
196
196
|
|
@@ -74,8 +74,7 @@ static int revert_normalize_opts(
|
|
74
74
|
const char *their_label)
|
75
75
|
{
|
76
76
|
int error = 0;
|
77
|
-
unsigned int default_checkout_strategy =
|
78
|
-
GIT_CHECKOUT_ALLOW_CONFLICTS;
|
77
|
+
unsigned int default_checkout_strategy = GIT_CHECKOUT_ALLOW_CONFLICTS;
|
79
78
|
|
80
79
|
GIT_UNUSED(repo);
|
81
80
|
|
@@ -107,12 +106,10 @@ static int revert_state_cleanup(git_repository *repo)
|
|
107
106
|
|
108
107
|
static int revert_seterr(git_commit *commit, const char *fmt)
|
109
108
|
{
|
110
|
-
char
|
109
|
+
char commit_id[GIT_OID_MAX_HEXSIZE + 1];
|
111
110
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
git_error_set(GIT_ERROR_REVERT, fmt, commit_oidstr);
|
111
|
+
git_oid_tostr(commit_id, GIT_OID_MAX_HEXSIZE + 1, git_commit_id(commit));
|
112
|
+
git_error_set(GIT_ERROR_REVERT, fmt, commit_id);
|
116
113
|
|
117
114
|
return -1;
|
118
115
|
}
|
@@ -176,7 +173,7 @@ int git_revert(
|
|
176
173
|
git_revert_options opts;
|
177
174
|
git_reference *our_ref = NULL;
|
178
175
|
git_commit *our_commit = NULL;
|
179
|
-
char
|
176
|
+
char commit_id[GIT_OID_MAX_HEXSIZE + 1];
|
180
177
|
const char *commit_msg;
|
181
178
|
git_str their_label = GIT_STR_INIT;
|
182
179
|
git_index *index = NULL;
|
@@ -191,19 +188,18 @@ int git_revert(
|
|
191
188
|
if ((error = git_repository__ensure_not_bare(repo, "revert")) < 0)
|
192
189
|
return error;
|
193
190
|
|
194
|
-
|
195
|
-
commit_oidstr[GIT_OID_SHA1_HEXSIZE] = '\0';
|
191
|
+
git_oid_tostr(commit_id, GIT_OID_MAX_HEXSIZE + 1, git_commit_id(commit));
|
196
192
|
|
197
193
|
if ((commit_msg = git_commit_summary(commit)) == NULL) {
|
198
194
|
error = -1;
|
199
195
|
goto on_error;
|
200
196
|
}
|
201
197
|
|
202
|
-
if ((error = git_str_printf(&their_label, "parent of %.7s... %s",
|
198
|
+
if ((error = git_str_printf(&their_label, "parent of %.7s... %s", commit_id, commit_msg)) < 0 ||
|
203
199
|
(error = revert_normalize_opts(repo, &opts, given_opts, git_str_cstr(&their_label))) < 0 ||
|
204
200
|
(error = git_indexwriter_init_for_operation(&indexwriter, repo, &opts.checkout_opts.checkout_strategy)) < 0 ||
|
205
|
-
(error = write_revert_head(repo,
|
206
|
-
(error = write_merge_msg(repo,
|
201
|
+
(error = write_revert_head(repo, commit_id)) < 0 ||
|
202
|
+
(error = write_merge_msg(repo, commit_id, commit_msg)) < 0 ||
|
207
203
|
(error = git_repository_head(&our_ref, repo)) < 0 ||
|
208
204
|
(error = git_reference_peel((git_object **)&our_commit, our_ref, GIT_OBJECT_COMMIT)) < 0 ||
|
209
205
|
(error = git_revert_commit(&index, repo, commit, our_commit, opts.mainline, &opts.merge_opts)) < 0 ||
|
@@ -701,6 +701,7 @@ static int revparse(
|
|
701
701
|
git_object *base_rev = NULL;
|
702
702
|
|
703
703
|
bool should_return_reference = true;
|
704
|
+
bool parsed = false;
|
704
705
|
|
705
706
|
GIT_ASSERT_ARG(object_out);
|
706
707
|
GIT_ASSERT_ARG(reference_out);
|
@@ -710,7 +711,7 @@ static int revparse(
|
|
710
711
|
*object_out = NULL;
|
711
712
|
*reference_out = NULL;
|
712
713
|
|
713
|
-
while (spec[pos]) {
|
714
|
+
while (!parsed && spec[pos]) {
|
714
715
|
switch (spec[pos]) {
|
715
716
|
case '^':
|
716
717
|
should_return_reference = false;
|
@@ -815,8 +816,10 @@ static int revparse(
|
|
815
816
|
if (temp_object != NULL)
|
816
817
|
base_rev = temp_object;
|
817
818
|
break;
|
818
|
-
} else if (spec[pos+1] == '\0') {
|
819
|
+
} else if (spec[pos + 1] == '\0' && !pos) {
|
819
820
|
spec = "HEAD";
|
821
|
+
identifier_len = 4;
|
822
|
+
parsed = true;
|
820
823
|
break;
|
821
824
|
}
|
822
825
|
/* fall through */
|
@@ -932,7 +935,7 @@ int git_revparse(
|
|
932
935
|
* allowed.
|
933
936
|
*/
|
934
937
|
if (!git__strcmp(spec, "..")) {
|
935
|
-
git_error_set(GIT_ERROR_INVALID, "
|
938
|
+
git_error_set(GIT_ERROR_INVALID, "invalid pattern '..'");
|
936
939
|
return GIT_EINVALIDSPEC;
|
937
940
|
}
|
938
941
|
|
@@ -14,6 +14,9 @@
|
|
14
14
|
#include "git2/revparse.h"
|
15
15
|
#include "merge.h"
|
16
16
|
#include "vector.h"
|
17
|
+
#include "hashmap_oid.h"
|
18
|
+
|
19
|
+
GIT_HASHMAP_OID_FUNCTIONS(git_revwalk_oidmap, GIT_HASHMAP_INLINE, git_commit_list_node *);
|
17
20
|
|
18
21
|
static int get_revision(git_commit_list_node **out, git_revwalk *walk, git_commit_list **list);
|
19
22
|
|
@@ -23,7 +26,7 @@ git_commit_list_node *git_revwalk__commit_lookup(
|
|
23
26
|
git_commit_list_node *commit;
|
24
27
|
|
25
28
|
/* lookup and reserve space if not already present */
|
26
|
-
if ((commit
|
29
|
+
if (git_revwalk_oidmap_get(&commit, &walk->commits, oid) == 0)
|
27
30
|
return commit;
|
28
31
|
|
29
32
|
commit = git_commit_list_alloc_node(walk);
|
@@ -32,7 +35,7 @@ git_commit_list_node *git_revwalk__commit_lookup(
|
|
32
35
|
|
33
36
|
git_oid_cpy(&commit->oid, oid);
|
34
37
|
|
35
|
-
if ((
|
38
|
+
if (git_revwalk_oidmap_put(&walk->commits, &commit->oid, commit) < 0)
|
36
39
|
return NULL;
|
37
40
|
|
38
41
|
return commit;
|
@@ -83,8 +86,13 @@ int git_revwalk__push_commit(git_revwalk *walk, const git_oid *oid, const git_re
|
|
83
86
|
|
84
87
|
commit->uninteresting = opts->uninteresting;
|
85
88
|
list = walk->user_input;
|
86
|
-
|
87
|
-
|
89
|
+
|
90
|
+
/* To insert by date, we need to parse so we know the date. */
|
91
|
+
if (opts->insert_by_date && ((error = git_commit_list_parse(walk, commit)) < 0))
|
92
|
+
return error;
|
93
|
+
|
94
|
+
if ((opts->insert_by_date == 0 ||
|
95
|
+
git_commit_list_insert_by_date(commit, &list) == NULL) &&
|
88
96
|
git_commit_list_insert(commit, &list) == NULL) {
|
89
97
|
git_error_set_oom();
|
90
98
|
return -1;
|
@@ -609,7 +617,7 @@ cleanup:
|
|
609
617
|
static int prepare_walk(git_revwalk *walk)
|
610
618
|
{
|
611
619
|
int error = 0;
|
612
|
-
git_commit_list *list, *commits = NULL;
|
620
|
+
git_commit_list *list, *commits = NULL, *commits_last = NULL;
|
613
621
|
git_commit_list_node *next;
|
614
622
|
|
615
623
|
/* If there were no pushes, we know that the walk is already over */
|
@@ -618,6 +626,12 @@ static int prepare_walk(git_revwalk *walk)
|
|
618
626
|
return GIT_ITEROVER;
|
619
627
|
}
|
620
628
|
|
629
|
+
/*
|
630
|
+
* This is a bit convoluted, but necessary to maintain the order of
|
631
|
+
* the commits. This is especially important in situations where
|
632
|
+
* git_revwalk__push_glob is called with a git_revwalk__push_options
|
633
|
+
* setting insert_by_date = 1, which is critical for fetch negotiation.
|
634
|
+
*/
|
621
635
|
for (list = walk->user_input; list; list = list->next) {
|
622
636
|
git_commit_list_node *commit = list->item;
|
623
637
|
if ((error = git_commit_list_parse(walk, commit)) < 0)
|
@@ -627,8 +641,19 @@ static int prepare_walk(git_revwalk *walk)
|
|
627
641
|
mark_parents_uninteresting(commit);
|
628
642
|
|
629
643
|
if (!commit->seen) {
|
644
|
+
git_commit_list *new_list = NULL;
|
645
|
+
if ((new_list = git_commit_list_create(commit, NULL)) == NULL) {
|
646
|
+
git_error_set_oom();
|
647
|
+
return -1;
|
648
|
+
}
|
649
|
+
|
630
650
|
commit->seen = 1;
|
631
|
-
|
651
|
+
if (commits_last == NULL)
|
652
|
+
commits = new_list;
|
653
|
+
else
|
654
|
+
commits_last->next = new_list;
|
655
|
+
|
656
|
+
commits_last = new_list;
|
632
657
|
}
|
633
658
|
}
|
634
659
|
|
@@ -678,8 +703,7 @@ int git_revwalk_new(git_revwalk **revwalk_out, git_repository *repo)
|
|
678
703
|
git_revwalk *walk = git__calloc(1, sizeof(git_revwalk));
|
679
704
|
GIT_ERROR_CHECK_ALLOC(walk);
|
680
705
|
|
681
|
-
if (
|
682
|
-
git_pqueue_init(&walk->iterator_time, 0, 8, git_commit_list_time_cmp) < 0 ||
|
706
|
+
if (git_pqueue_init(&walk->iterator_time, 0, 8, git_commit_list_time_cmp) < 0 ||
|
683
707
|
git_pool_init(&walk->commit_pool, COMMIT_ALLOC) < 0)
|
684
708
|
return -1;
|
685
709
|
|
@@ -705,7 +729,7 @@ void git_revwalk_free(git_revwalk *walk)
|
|
705
729
|
git_revwalk_reset(walk);
|
706
730
|
git_odb_free(walk->odb);
|
707
731
|
|
708
|
-
|
732
|
+
git_revwalk_oidmap_dispose(&walk->commits);
|
709
733
|
git_pool_clear(&walk->commit_pool);
|
710
734
|
git_pqueue_free(&walk->iterator_time);
|
711
735
|
git__free(walk);
|
@@ -777,17 +801,18 @@ int git_revwalk_next(git_oid *oid, git_revwalk *walk)
|
|
777
801
|
int git_revwalk_reset(git_revwalk *walk)
|
778
802
|
{
|
779
803
|
git_commit_list_node *commit;
|
804
|
+
git_hashmap_iter_t iter = GIT_HASHMAP_ITER_INIT;
|
780
805
|
|
781
806
|
GIT_ASSERT_ARG(walk);
|
782
807
|
|
783
|
-
|
808
|
+
while (git_revwalk_oidmap_iterate(&iter, NULL, &commit, &walk->commits) == 0) {
|
784
809
|
commit->seen = 0;
|
785
810
|
commit->in_degree = 0;
|
786
811
|
commit->topo_delay = 0;
|
787
812
|
commit->uninteresting = 0;
|
788
813
|
commit->added = 0;
|
789
814
|
commit->flags = 0;
|
790
|
-
|
815
|
+
}
|
791
816
|
|
792
817
|
git_pqueue_clear(&walk->iterator_time);
|
793
818
|
git_commit_list_free(&walk->iterator_topo);
|
@@ -10,19 +10,19 @@
|
|
10
10
|
#include "common.h"
|
11
11
|
|
12
12
|
#include "git2/revwalk.h"
|
13
|
-
#include "oidmap.h"
|
14
13
|
#include "commit_list.h"
|
15
14
|
#include "pqueue.h"
|
16
15
|
#include "pool.h"
|
17
16
|
#include "vector.h"
|
17
|
+
#include "hashmap_oid.h"
|
18
18
|
|
19
|
-
|
19
|
+
GIT_HASHMAP_OID_STRUCT(git_revwalk_oidmap, git_commit_list_node *);
|
20
20
|
|
21
21
|
struct git_revwalk {
|
22
22
|
git_repository *repo;
|
23
23
|
git_odb *odb;
|
24
24
|
|
25
|
-
|
25
|
+
git_revwalk_oidmap commits;
|
26
26
|
git_pool commit_pool;
|
27
27
|
|
28
28
|
git_commit_list *iterator_topo;
|