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
@@ -23,6 +23,7 @@
|
|
23
23
|
#include "git2/types.h"
|
24
24
|
#include "git2/oid.h"
|
25
25
|
#include "git2/net.h"
|
26
|
+
#include "transports/smart.h"
|
26
27
|
|
27
28
|
#define CONFIG_URL_FMT "remote.%s.url"
|
28
29
|
#define CONFIG_PUSHURL_FMT "remote.%s.pushurl"
|
@@ -1292,9 +1293,9 @@ static int git_remote__download(
|
|
1292
1293
|
free_refspecs(&remote->active_refspecs);
|
1293
1294
|
error = dwim_refspecs(&remote->active_refspecs, to_active, &refs);
|
1294
1295
|
|
1295
|
-
|
1296
|
+
git_vector_dispose(&refs);
|
1296
1297
|
free_refspecs(&specs);
|
1297
|
-
|
1298
|
+
git_vector_dispose(&specs);
|
1298
1299
|
|
1299
1300
|
if (error < 0)
|
1300
1301
|
goto on_error;
|
@@ -1310,9 +1311,9 @@ static int git_remote__download(
|
|
1310
1311
|
error = git_fetch_download_pack(remote);
|
1311
1312
|
|
1312
1313
|
on_error:
|
1313
|
-
|
1314
|
+
git_vector_dispose(&refs);
|
1314
1315
|
free_refspecs(&specs);
|
1315
|
-
|
1316
|
+
git_vector_dispose(&specs);
|
1316
1317
|
return error;
|
1317
1318
|
}
|
1318
1319
|
|
@@ -1338,7 +1339,11 @@ int git_remote_download(
|
|
1338
1339
|
if ((error = connect_or_reset_options(remote, GIT_DIRECTION_FETCH, &connect_opts)) < 0)
|
1339
1340
|
return error;
|
1340
1341
|
|
1341
|
-
|
1342
|
+
error = git_remote__download(remote, refspecs, opts);
|
1343
|
+
|
1344
|
+
git_remote_connect_options_dispose(&connect_opts);
|
1345
|
+
|
1346
|
+
return error;
|
1342
1347
|
}
|
1343
1348
|
|
1344
1349
|
int git_remote_fetch(
|
@@ -1347,13 +1352,14 @@ int git_remote_fetch(
|
|
1347
1352
|
const git_fetch_options *opts,
|
1348
1353
|
const char *reflog_message)
|
1349
1354
|
{
|
1350
|
-
int error, update_fetchhead = 1;
|
1351
1355
|
git_remote_autotag_option_t tagopt = remote->download_tags;
|
1352
1356
|
bool prune = false;
|
1353
1357
|
git_str reflog_msg_buf = GIT_STR_INIT;
|
1354
1358
|
git_remote_connect_options connect_opts = GIT_REMOTE_CONNECT_OPTIONS_INIT;
|
1355
1359
|
unsigned int capabilities;
|
1356
1360
|
git_oid_t oid_type;
|
1361
|
+
unsigned int update_flags = GIT_REMOTE_UPDATE_FETCHHEAD;
|
1362
|
+
int error;
|
1357
1363
|
|
1358
1364
|
GIT_ASSERT_ARG(remote);
|
1359
1365
|
|
@@ -1370,7 +1376,7 @@ int git_remote_fetch(
|
|
1370
1376
|
return error;
|
1371
1377
|
|
1372
1378
|
if (opts) {
|
1373
|
-
|
1379
|
+
update_flags = opts->update_fetchhead;
|
1374
1380
|
tagopt = opts->download_tags;
|
1375
1381
|
}
|
1376
1382
|
|
@@ -1397,8 +1403,14 @@ int git_remote_fetch(
|
|
1397
1403
|
}
|
1398
1404
|
|
1399
1405
|
/* Create "remote/foo" branches for all remote branches */
|
1400
|
-
error = git_remote_update_tips(remote,
|
1406
|
+
error = git_remote_update_tips(remote,
|
1407
|
+
&connect_opts.callbacks,
|
1408
|
+
update_flags,
|
1409
|
+
tagopt,
|
1410
|
+
git_str_cstr(&reflog_msg_buf));
|
1411
|
+
|
1401
1412
|
git_str_dispose(&reflog_msg_buf);
|
1413
|
+
|
1402
1414
|
if (error < 0)
|
1403
1415
|
goto done;
|
1404
1416
|
|
@@ -1577,7 +1589,7 @@ cleanup:
|
|
1577
1589
|
for (i = 0; i < fetchhead_refs.length; ++i)
|
1578
1590
|
git_fetchhead_ref_free(fetchhead_refs.contents[i]);
|
1579
1591
|
|
1580
|
-
|
1592
|
+
git_vector_dispose(&fetchhead_refs);
|
1581
1593
|
git_reference_free(head_ref);
|
1582
1594
|
|
1583
1595
|
return error;
|
@@ -1631,7 +1643,10 @@ int git_remote_prune(git_remote *remote, const git_remote_callbacks *callbacks)
|
|
1631
1643
|
const git_refspec *spec;
|
1632
1644
|
const char *refname;
|
1633
1645
|
int error;
|
1634
|
-
git_oid zero_id
|
1646
|
+
git_oid zero_id;
|
1647
|
+
|
1648
|
+
GIT_ASSERT(remote && remote->repo);
|
1649
|
+
git_oid_clear(&zero_id, remote->repo->oid_type);
|
1635
1650
|
|
1636
1651
|
if (callbacks)
|
1637
1652
|
GIT_ERROR_CHECK_VERSION(callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks");
|
@@ -1709,19 +1724,28 @@ int git_remote_prune(git_remote *remote, const git_remote_callbacks *callbacks)
|
|
1709
1724
|
git_oid_cpy(&id, git_reference_target(ref));
|
1710
1725
|
error = git_reference_delete(ref);
|
1711
1726
|
git_reference_free(ref);
|
1727
|
+
|
1712
1728
|
if (error < 0)
|
1713
1729
|
goto cleanup;
|
1714
1730
|
|
1715
|
-
if (callbacks && callbacks->
|
1716
|
-
error = callbacks->
|
1731
|
+
if (callbacks && callbacks->update_refs)
|
1732
|
+
error = callbacks->update_refs(refname, &id,
|
1733
|
+
&zero_id, NULL, callbacks->payload);
|
1734
|
+
#ifndef GIT_DEPRECATE_HARD
|
1735
|
+
else if (callbacks && callbacks->update_tips)
|
1736
|
+
error = callbacks->update_tips(refname, &id,
|
1737
|
+
&zero_id, callbacks->payload);
|
1738
|
+
#endif
|
1717
1739
|
|
1718
|
-
if (error < 0)
|
1740
|
+
if (error < 0) {
|
1741
|
+
git_error_set_after_callback_function(error, "git_remote_fetch");
|
1719
1742
|
goto cleanup;
|
1743
|
+
}
|
1720
1744
|
}
|
1721
1745
|
|
1722
1746
|
cleanup:
|
1723
|
-
|
1724
|
-
|
1747
|
+
git_vector_dispose(&remote_refs);
|
1748
|
+
git_vector_dispose_deep(&candidates);
|
1725
1749
|
return error;
|
1726
1750
|
}
|
1727
1751
|
|
@@ -1729,13 +1753,17 @@ static int update_ref(
|
|
1729
1753
|
const git_remote *remote,
|
1730
1754
|
const char *ref_name,
|
1731
1755
|
git_oid *id,
|
1756
|
+
git_refspec *spec,
|
1732
1757
|
const char *msg,
|
1733
1758
|
const git_remote_callbacks *callbacks)
|
1734
1759
|
{
|
1735
1760
|
git_reference *ref;
|
1736
|
-
git_oid old_id
|
1761
|
+
git_oid old_id;
|
1737
1762
|
int error;
|
1738
1763
|
|
1764
|
+
GIT_ASSERT(remote && remote->repo);
|
1765
|
+
git_oid_clear(&old_id, remote->repo->oid_type);
|
1766
|
+
|
1739
1767
|
error = git_reference_name_to_id(&old_id, remote->repo, ref_name);
|
1740
1768
|
|
1741
1769
|
if (error < 0 && error != GIT_ENOTFOUND)
|
@@ -1754,9 +1782,19 @@ static int update_ref(
|
|
1754
1782
|
if (error < 0)
|
1755
1783
|
return error;
|
1756
1784
|
|
1757
|
-
if (callbacks && callbacks->
|
1758
|
-
|
1785
|
+
if (callbacks && callbacks->update_refs)
|
1786
|
+
error = callbacks->update_refs(ref_name, &old_id,
|
1787
|
+
id, spec, callbacks->payload);
|
1788
|
+
#ifndef GIT_DEPRECATE_HARD
|
1789
|
+
else if (callbacks && callbacks->update_tips)
|
1790
|
+
error = callbacks->update_tips(ref_name, &old_id,
|
1791
|
+
id, callbacks->payload);
|
1792
|
+
#endif
|
1793
|
+
|
1794
|
+
if (error < 0) {
|
1795
|
+
git_error_set_after_callback_function(error, "git_remote_fetch");
|
1759
1796
|
return error;
|
1797
|
+
}
|
1760
1798
|
|
1761
1799
|
return 0;
|
1762
1800
|
}
|
@@ -1767,6 +1805,7 @@ static int update_one_tip(
|
|
1767
1805
|
git_refspec *spec,
|
1768
1806
|
git_remote_head *head,
|
1769
1807
|
git_refspec *tagspec,
|
1808
|
+
unsigned int update_flags,
|
1770
1809
|
git_remote_autotag_option_t tagopt,
|
1771
1810
|
const char *log_message,
|
1772
1811
|
const git_remote_callbacks *callbacks)
|
@@ -1774,11 +1813,13 @@ static int update_one_tip(
|
|
1774
1813
|
git_odb *odb;
|
1775
1814
|
git_str refname = GIT_STR_INIT;
|
1776
1815
|
git_reference *ref = NULL;
|
1777
|
-
bool autotag = false;
|
1816
|
+
bool autotag = false, updated = false;
|
1778
1817
|
git_oid old;
|
1779
1818
|
int valid;
|
1780
1819
|
int error;
|
1781
1820
|
|
1821
|
+
GIT_ASSERT(remote && remote->repo);
|
1822
|
+
|
1782
1823
|
if ((error = git_repository_odb__weakptr(&odb, remote->repo)) < 0)
|
1783
1824
|
goto done;
|
1784
1825
|
|
@@ -1839,29 +1880,40 @@ static int update_one_tip(
|
|
1839
1880
|
}
|
1840
1881
|
|
1841
1882
|
if (error == GIT_ENOTFOUND) {
|
1842
|
-
git_oid_clear(&old,
|
1883
|
+
git_oid_clear(&old, remote->repo->oid_type);
|
1843
1884
|
error = 0;
|
1844
1885
|
|
1845
1886
|
if (autotag && (error = git_vector_insert(update_heads, head)) < 0)
|
1846
1887
|
goto done;
|
1847
1888
|
}
|
1848
1889
|
|
1849
|
-
if (!
|
1850
|
-
|
1890
|
+
if ((updated = !git_oid_equal(&old, &head->oid))) {
|
1891
|
+
/* In autotag mode, don't overwrite any locally-existing tags */
|
1892
|
+
error = git_reference_create(&ref, remote->repo, refname.ptr, &head->oid, !autotag,
|
1893
|
+
log_message);
|
1851
1894
|
|
1852
|
-
|
1853
|
-
|
1854
|
-
|
1895
|
+
if (error < 0) {
|
1896
|
+
if (error == GIT_EEXISTS)
|
1897
|
+
error = 0;
|
1855
1898
|
|
1856
|
-
|
1857
|
-
|
1858
|
-
|
1899
|
+
goto done;
|
1900
|
+
}
|
1901
|
+
}
|
1859
1902
|
|
1903
|
+
if (!callbacks ||
|
1904
|
+
(!updated && (update_flags & GIT_REMOTE_UPDATE_REPORT_UNCHANGED) == 0))
|
1860
1905
|
goto done;
|
1861
|
-
}
|
1862
1906
|
|
1863
|
-
if (callbacks && callbacks->
|
1864
|
-
|
1907
|
+
if (callbacks && callbacks->update_refs)
|
1908
|
+
error = callbacks->update_refs(refname.ptr, &old,
|
1909
|
+
&head->oid, spec, callbacks->payload);
|
1910
|
+
#ifndef GIT_DEPRECATE_HARD
|
1911
|
+
else if (callbacks && callbacks->update_tips)
|
1912
|
+
error = callbacks->update_tips(refname.ptr, &old,
|
1913
|
+
&head->oid, callbacks->payload);
|
1914
|
+
#endif
|
1915
|
+
|
1916
|
+
if (error < 0)
|
1865
1917
|
git_error_set_after_callback_function(error, "git_remote_fetch");
|
1866
1918
|
|
1867
1919
|
done:
|
@@ -1873,7 +1925,7 @@ done:
|
|
1873
1925
|
static int update_tips_for_spec(
|
1874
1926
|
git_remote *remote,
|
1875
1927
|
const git_remote_callbacks *callbacks,
|
1876
|
-
int
|
1928
|
+
unsigned int update_flags,
|
1877
1929
|
git_remote_autotag_option_t tagopt,
|
1878
1930
|
git_refspec *spec,
|
1879
1931
|
git_vector *refs,
|
@@ -1885,7 +1937,7 @@ static int update_tips_for_spec(
|
|
1885
1937
|
int error = 0;
|
1886
1938
|
size_t i;
|
1887
1939
|
|
1888
|
-
GIT_ASSERT_ARG(remote);
|
1940
|
+
GIT_ASSERT_ARG(remote && remote->repo);
|
1889
1941
|
|
1890
1942
|
if (git_refspec__parse(&tagspec, GIT_REFSPEC_TAGS, true) < 0)
|
1891
1943
|
return -1;
|
@@ -1896,19 +1948,22 @@ static int update_tips_for_spec(
|
|
1896
1948
|
|
1897
1949
|
/* Update tips based on the remote heads */
|
1898
1950
|
git_vector_foreach(refs, i, head) {
|
1899
|
-
if (update_one_tip(&update_heads,
|
1951
|
+
if (update_one_tip(&update_heads,
|
1952
|
+
remote, spec, head, &tagspec,
|
1953
|
+
update_flags, tagopt, log_message,
|
1954
|
+
callbacks) < 0)
|
1900
1955
|
goto on_error;
|
1901
1956
|
}
|
1902
1957
|
|
1903
1958
|
/* Handle specified oid sources */
|
1904
|
-
if (git_oid__is_hexstr(spec->src,
|
1959
|
+
if (git_oid__is_hexstr(spec->src, remote->repo->oid_type)) {
|
1905
1960
|
git_oid id;
|
1906
1961
|
|
1907
|
-
if ((error = git_oid__fromstr(&id, spec->src,
|
1962
|
+
if ((error = git_oid__fromstr(&id, spec->src, remote->repo->oid_type)) < 0)
|
1908
1963
|
goto on_error;
|
1909
1964
|
|
1910
1965
|
if (spec->dst &&
|
1911
|
-
(error = update_ref(remote, spec->dst, &id, log_message, callbacks)) < 0)
|
1966
|
+
(error = update_ref(remote, spec->dst, &id, spec, log_message, callbacks)) < 0)
|
1912
1967
|
goto on_error;
|
1913
1968
|
|
1914
1969
|
git_oid_cpy(&oid_head.oid, &id);
|
@@ -1918,17 +1973,17 @@ static int update_tips_for_spec(
|
|
1918
1973
|
goto on_error;
|
1919
1974
|
}
|
1920
1975
|
|
1921
|
-
if (
|
1976
|
+
if ((update_flags & GIT_REMOTE_UPDATE_FETCHHEAD) &&
|
1922
1977
|
(error = git_remote_write_fetchhead(remote, spec, &update_heads)) < 0)
|
1923
1978
|
goto on_error;
|
1924
1979
|
|
1925
1980
|
git_refspec__dispose(&tagspec);
|
1926
|
-
|
1981
|
+
git_vector_dispose(&update_heads);
|
1927
1982
|
return 0;
|
1928
1983
|
|
1929
1984
|
on_error:
|
1930
1985
|
git_refspec__dispose(&tagspec);
|
1931
|
-
|
1986
|
+
git_vector_dispose(&update_heads);
|
1932
1987
|
return -1;
|
1933
1988
|
|
1934
1989
|
}
|
@@ -2020,7 +2075,7 @@ static int opportunistic_updates(
|
|
2020
2075
|
|
2021
2076
|
git_str_clear(&refname);
|
2022
2077
|
if ((error = git_refspec__transform(&refname, spec, head->name)) < 0 ||
|
2023
|
-
(error = update_ref(remote, refname.ptr, &head->oid, msg, callbacks)) < 0)
|
2078
|
+
(error = update_ref(remote, refname.ptr, &head->oid, spec, msg, callbacks)) < 0)
|
2024
2079
|
goto cleanup;
|
2025
2080
|
}
|
2026
2081
|
|
@@ -2049,11 +2104,11 @@ static int truncate_fetch_head(const char *gitdir)
|
|
2049
2104
|
}
|
2050
2105
|
|
2051
2106
|
int git_remote_update_tips(
|
2052
|
-
|
2053
|
-
|
2054
|
-
|
2055
|
-
|
2056
|
-
|
2107
|
+
git_remote *remote,
|
2108
|
+
const git_remote_callbacks *callbacks,
|
2109
|
+
unsigned int update_flags,
|
2110
|
+
git_remote_autotag_option_t download_tags,
|
2111
|
+
const char *reflog_message)
|
2057
2112
|
{
|
2058
2113
|
git_refspec *spec, tagspec;
|
2059
2114
|
git_vector refs = GIT_VECTOR_INIT;
|
@@ -2082,7 +2137,7 @@ int git_remote_update_tips(
|
|
2082
2137
|
goto out;
|
2083
2138
|
|
2084
2139
|
if (tagopt == GIT_REMOTE_DOWNLOAD_TAGS_ALL) {
|
2085
|
-
if ((error = update_tips_for_spec(remote, callbacks,
|
2140
|
+
if ((error = update_tips_for_spec(remote, callbacks, update_flags, tagopt, &tagspec, &refs, reflog_message)) < 0)
|
2086
2141
|
goto out;
|
2087
2142
|
}
|
2088
2143
|
|
@@ -2090,7 +2145,7 @@ int git_remote_update_tips(
|
|
2090
2145
|
if (spec->push)
|
2091
2146
|
continue;
|
2092
2147
|
|
2093
|
-
if ((error = update_tips_for_spec(remote, callbacks,
|
2148
|
+
if ((error = update_tips_for_spec(remote, callbacks, update_flags, tagopt, spec, &refs, reflog_message)) < 0)
|
2094
2149
|
goto out;
|
2095
2150
|
}
|
2096
2151
|
|
@@ -2099,7 +2154,7 @@ int git_remote_update_tips(
|
|
2099
2154
|
error = opportunistic_updates(remote, callbacks, &refs, reflog_message);
|
2100
2155
|
|
2101
2156
|
out:
|
2102
|
-
|
2157
|
+
git_vector_dispose(&refs);
|
2103
2158
|
git_refspec__dispose(&tagspec);
|
2104
2159
|
return error;
|
2105
2160
|
}
|
@@ -2158,19 +2213,19 @@ void git_remote_free(git_remote *remote)
|
|
2158
2213
|
remote->transport = NULL;
|
2159
2214
|
}
|
2160
2215
|
|
2161
|
-
|
2216
|
+
git_vector_dispose(&remote->refs);
|
2162
2217
|
|
2163
2218
|
free_refspecs(&remote->refspecs);
|
2164
|
-
|
2219
|
+
git_vector_dispose(&remote->refspecs);
|
2165
2220
|
|
2166
2221
|
free_refspecs(&remote->active_refspecs);
|
2167
|
-
|
2222
|
+
git_vector_dispose(&remote->active_refspecs);
|
2168
2223
|
|
2169
2224
|
free_refspecs(&remote->passive_refspecs);
|
2170
|
-
|
2225
|
+
git_vector_dispose(&remote->passive_refspecs);
|
2171
2226
|
|
2172
2227
|
free_heads(&remote->local_heads);
|
2173
|
-
|
2228
|
+
git_vector_dispose(&remote->local_heads);
|
2174
2229
|
|
2175
2230
|
git_push_free(remote->push);
|
2176
2231
|
git__free(remote->url);
|
@@ -2213,7 +2268,7 @@ int git_remote_list(git_strarray *remotes_list, git_repository *repo)
|
|
2213
2268
|
cfg, "^remote\\..*\\.(push)?url$", remote_list_cb, &list);
|
2214
2269
|
|
2215
2270
|
if (error < 0) {
|
2216
|
-
|
2271
|
+
git_vector_dispose_deep(&list);
|
2217
2272
|
return error;
|
2218
2273
|
}
|
2219
2274
|
|
@@ -2494,7 +2549,7 @@ static int rename_fetch_refspecs(git_vector *problems, git_remote *remote, const
|
|
2494
2549
|
git_vector_foreach(problems, i, str)
|
2495
2550
|
git__free(str);
|
2496
2551
|
|
2497
|
-
|
2552
|
+
git_vector_dispose(problems);
|
2498
2553
|
}
|
2499
2554
|
|
2500
2555
|
return error;
|
@@ -2534,7 +2589,7 @@ int git_remote_rename(git_strarray *out, git_repository *repo, const char *name,
|
|
2534
2589
|
|
2535
2590
|
cleanup:
|
2536
2591
|
if (error < 0)
|
2537
|
-
|
2592
|
+
git_vector_dispose(&problem_refspecs);
|
2538
2593
|
|
2539
2594
|
git_remote_free(remote);
|
2540
2595
|
return error;
|
@@ -2573,17 +2628,21 @@ done:
|
|
2573
2628
|
git_refspec *git_remote__matching_refspec(git_remote *remote, const char *refname)
|
2574
2629
|
{
|
2575
2630
|
git_refspec *spec;
|
2631
|
+
git_refspec *match = NULL;
|
2576
2632
|
size_t i;
|
2577
2633
|
|
2578
2634
|
git_vector_foreach(&remote->active_refspecs, i, spec) {
|
2579
2635
|
if (spec->push)
|
2580
2636
|
continue;
|
2581
2637
|
|
2582
|
-
if (
|
2583
|
-
return
|
2638
|
+
if (git_refspec_src_matches_negative(spec, refname))
|
2639
|
+
return NULL;
|
2640
|
+
|
2641
|
+
if (git_refspec_src_matches(spec, refname) && match == NULL)
|
2642
|
+
match = spec;
|
2584
2643
|
}
|
2585
2644
|
|
2586
|
-
return
|
2645
|
+
return match;
|
2587
2646
|
}
|
2588
2647
|
|
2589
2648
|
git_refspec *git_remote__matching_dst_refspec(git_remote *remote, const char *refname)
|
@@ -2641,7 +2700,7 @@ static int copy_refspecs(git_strarray *array, const git_remote *remote, unsigned
|
|
2641
2700
|
return 0;
|
2642
2701
|
|
2643
2702
|
on_error:
|
2644
|
-
|
2703
|
+
git_vector_dispose_deep(&refspecs);
|
2645
2704
|
|
2646
2705
|
return -1;
|
2647
2706
|
}
|
@@ -2789,7 +2848,7 @@ cleanup:
|
|
2789
2848
|
git_vector_foreach(&refs, i, dup) {
|
2790
2849
|
git__free(dup);
|
2791
2850
|
}
|
2792
|
-
|
2851
|
+
git_vector_dispose(&refs);
|
2793
2852
|
return error;
|
2794
2853
|
}
|
2795
2854
|
|
@@ -2958,12 +3017,22 @@ int git_remote_upload(
|
|
2958
3017
|
}
|
2959
3018
|
}
|
2960
3019
|
|
2961
|
-
if (
|
2962
|
-
|
3020
|
+
if (opts && opts->remote_push_options.count > 0)
|
3021
|
+
for (i = 0; i < opts->remote_push_options.count; ++i) {
|
3022
|
+
char *optstr = git__strdup(opts->remote_push_options.strings[i]);
|
3023
|
+
GIT_ERROR_CHECK_ALLOC(optstr);
|
2963
3024
|
|
2964
|
-
|
2965
|
-
|
2966
|
-
|
3025
|
+
if ((error = git_vector_insert(&push->remote_push_options, optstr)) < 0)
|
3026
|
+
goto cleanup;
|
3027
|
+
}
|
3028
|
+
|
3029
|
+
error = git_push_finish(push);
|
3030
|
+
|
3031
|
+
if (connect_opts.callbacks.push_update_reference) {
|
3032
|
+
const int cb_error = git_push_status_foreach(push, connect_opts.callbacks.push_update_reference, connect_opts.callbacks.payload);
|
3033
|
+
if (!error)
|
3034
|
+
error = cb_error;
|
3035
|
+
}
|
2967
3036
|
|
2968
3037
|
cleanup:
|
2969
3038
|
git_remote_connect_options_dispose(&connect_opts);
|
@@ -38,6 +38,7 @@ struct git_remote {
|
|
38
38
|
git_remote_autotag_option_t download_tags;
|
39
39
|
int prune_refs;
|
40
40
|
int passed_refspecs;
|
41
|
+
git_fetch_negotiation nego;
|
41
42
|
};
|
42
43
|
|
43
44
|
int git_remote__urlfordirection(git_str *url_out, struct git_remote *remote, int direction, const git_remote_callbacks *callbacks);
|