rugged 1.0.0 → 1.2.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/LICENSE +1 -0
- data/README.md +3 -3
- data/ext/rugged/rugged.c +7 -4
- data/ext/rugged/rugged_commit.c +1 -1
- data/ext/rugged/rugged_config.c +1 -1
- data/ext/rugged/rugged_object.c +1 -1
- data/ext/rugged/rugged_remote.c +32 -2
- data/ext/rugged/rugged_repo.c +13 -3
- data/lib/rugged/commit.rb +17 -4
- data/lib/rugged/repository.rb +7 -8
- data/lib/rugged/submodule_collection.rb +4 -4
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +41 -74
- data/vendor/libgit2/COPYING +109 -1
- data/vendor/libgit2/cmake/{Modules/AddCFlagIfSupported.cmake → AddCFlagIfSupported.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/EnableWarnings.cmake → EnableWarnings.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindCoreFoundation.cmake → FindCoreFoundation.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindGSSAPI.cmake → FindGSSAPI.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindGSSFramework.cmake → FindGSSFramework.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindHTTP_Parser.cmake → FindHTTP_Parser.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindIconv.cmake → FindIconv.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPCRE.cmake → FindPCRE.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPCRE2.cmake → FindPCRE2.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPkgLibraries.cmake → FindPkgLibraries.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindSecurity.cmake → FindSecurity.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindStatNsec.cmake → FindStatNsec.cmake} +0 -0
- data/vendor/libgit2/cmake/Findfutimens.cmake +14 -0
- data/vendor/libgit2/cmake/{Modules/FindmbedTLS.cmake → FindmbedTLS.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/IdeSplitSources.cmake → IdeSplitSources.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/PkgBuildConfig.cmake → PkgBuildConfig.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/SanitizeBool.cmake → SanitizeBool.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/SelectGSSAPI.cmake → SelectGSSAPI.cmake} +18 -26
- data/vendor/libgit2/cmake/{Modules/SelectHTTPSBackend.cmake → SelectHTTPSBackend.cmake} +29 -32
- data/vendor/libgit2/cmake/{Modules/SelectHashes.cmake → SelectHashes.cmake} +21 -28
- data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +101 -0
- data/vendor/libgit2/deps/http-parser/CMakeLists.txt +4 -3
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +24 -10
- data/vendor/libgit2/deps/ntlmclient/compat.h +0 -27
- data/vendor/libgit2/deps/ntlmclient/crypt.h +14 -9
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +20 -20
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +3 -3
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +37 -36
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +4 -3
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +178 -51
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +74 -5
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +164 -135
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +13 -9
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +16 -3
- data/vendor/libgit2/deps/ntlmclient/unicode.h +10 -4
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +16 -27
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.h +20 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +28 -52
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.h +22 -0
- data/vendor/libgit2/deps/ntlmclient/util.c +15 -1
- data/vendor/libgit2/deps/ntlmclient/util.h +2 -1
- data/vendor/libgit2/deps/pcre/LICENCE +93 -0
- data/vendor/libgit2/deps/pcre/pcre.h +2 -2
- data/vendor/libgit2/deps/pcre/pcre_compile.c +29 -17
- data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +4 -4
- data/vendor/libgit2/deps/pcre/pcreposix.c +2 -3
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -5
- data/vendor/libgit2/deps/zlib/deflate.c +1 -0
- data/vendor/libgit2/include/git2/annotated_commit.h +1 -1
- data/vendor/libgit2/include/git2/apply.h +2 -0
- data/vendor/libgit2/include/git2/attr.h +89 -0
- data/vendor/libgit2/include/git2/blame.h +95 -42
- data/vendor/libgit2/include/git2/blob.h +31 -3
- data/vendor/libgit2/include/git2/branch.h +25 -0
- data/vendor/libgit2/include/git2/cert.h +42 -5
- data/vendor/libgit2/include/git2/checkout.h +28 -12
- data/vendor/libgit2/include/git2/commit.h +35 -19
- data/vendor/libgit2/include/git2/common.h +33 -6
- data/vendor/libgit2/include/git2/config.h +1 -1
- data/vendor/libgit2/include/git2/deprecated.h +248 -8
- data/vendor/libgit2/include/git2/diff.h +35 -20
- data/vendor/libgit2/include/git2/errors.h +8 -7
- data/vendor/libgit2/include/git2/filter.h +57 -17
- data/vendor/libgit2/include/git2/graph.h +20 -2
- data/vendor/libgit2/include/git2/index.h +4 -5
- data/vendor/libgit2/include/git2/indexer.h +2 -1
- data/vendor/libgit2/include/git2/odb.h +44 -20
- data/vendor/libgit2/include/git2/pack.h +1 -1
- data/vendor/libgit2/include/git2/patch.h +8 -0
- data/vendor/libgit2/include/git2/rebase.h +25 -1
- data/vendor/libgit2/include/git2/refs.h +9 -5
- data/vendor/libgit2/include/git2/remote.h +59 -6
- data/vendor/libgit2/include/git2/repository.h +95 -52
- data/vendor/libgit2/include/git2/revparse.h +5 -5
- data/vendor/libgit2/include/git2/status.h +115 -59
- data/vendor/libgit2/include/git2/strarray.h +6 -10
- data/vendor/libgit2/include/git2/submodule.h +9 -0
- data/vendor/libgit2/include/git2/sys/commit_graph.h +174 -0
- data/vendor/libgit2/include/git2/sys/filter.h +49 -28
- data/vendor/libgit2/include/git2/sys/midx.h +74 -0
- data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -0
- data/vendor/libgit2/include/git2/sys/transport.h +1 -0
- data/vendor/libgit2/include/git2/tag.h +12 -0
- data/vendor/libgit2/include/git2/transport.h +1 -1
- data/vendor/libgit2/include/git2/tree.h +2 -14
- data/vendor/libgit2/include/git2/types.h +9 -0
- data/vendor/libgit2/include/git2/version.h +3 -3
- data/vendor/libgit2/include/git2/worktree.h +1 -0
- data/vendor/libgit2/src/CMakeLists.txt +77 -44
- data/vendor/libgit2/src/alloc.c +21 -8
- data/vendor/libgit2/src/allocators/failalloc.c +92 -0
- data/vendor/libgit2/src/allocators/failalloc.h +23 -0
- data/vendor/libgit2/src/allocators/stdalloc.c +41 -10
- data/vendor/libgit2/src/allocators/win32_leakcheck.c +118 -0
- data/vendor/libgit2/src/allocators/{win32_crtdbg.h → win32_leakcheck.h} +3 -3
- data/vendor/libgit2/src/annotated_commit.c +21 -9
- data/vendor/libgit2/src/apply.c +21 -8
- data/vendor/libgit2/src/array.h +11 -11
- data/vendor/libgit2/src/assert_safe.h +58 -0
- data/vendor/libgit2/src/attr.c +181 -74
- data/vendor/libgit2/src/attr_file.c +92 -42
- data/vendor/libgit2/src/attr_file.h +32 -11
- data/vendor/libgit2/src/attrcache.c +44 -40
- data/vendor/libgit2/src/attrcache.h +4 -5
- data/vendor/libgit2/src/blame.c +28 -15
- data/vendor/libgit2/src/blame_git.c +6 -3
- data/vendor/libgit2/src/blob.c +46 -24
- data/vendor/libgit2/src/branch.c +87 -37
- data/vendor/libgit2/src/buffer.c +339 -27
- data/vendor/libgit2/src/buffer.h +153 -2
- data/vendor/libgit2/src/cache.c +3 -24
- data/vendor/libgit2/src/cache.h +7 -7
- data/vendor/libgit2/src/cc-compat.h +10 -2
- data/vendor/libgit2/src/checkout.c +97 -98
- data/vendor/libgit2/src/cherrypick.c +8 -2
- data/vendor/libgit2/src/clone.c +104 -29
- data/vendor/libgit2/src/commit.c +41 -28
- data/vendor/libgit2/src/commit_graph.c +1209 -0
- data/vendor/libgit2/src/commit_graph.h +162 -0
- data/vendor/libgit2/src/commit_list.c +46 -0
- data/vendor/libgit2/src/commit_list.h +2 -0
- data/vendor/libgit2/src/common.h +26 -2
- data/vendor/libgit2/src/config.c +40 -22
- data/vendor/libgit2/src/config_cache.c +9 -4
- data/vendor/libgit2/src/config_entries.c +35 -27
- data/vendor/libgit2/src/config_file.c +25 -8
- data/vendor/libgit2/src/config_parse.c +5 -7
- data/vendor/libgit2/src/config_snapshot.c +2 -1
- data/vendor/libgit2/src/crlf.c +16 -6
- data/vendor/libgit2/src/date.c +4 -3
- data/vendor/libgit2/src/delta.c +1 -1
- data/vendor/libgit2/src/describe.c +11 -4
- data/vendor/libgit2/src/diff.c +23 -19
- data/vendor/libgit2/src/diff_driver.c +21 -17
- data/vendor/libgit2/src/diff_file.c +5 -7
- data/vendor/libgit2/src/diff_generate.c +56 -28
- data/vendor/libgit2/src/diff_parse.c +2 -3
- data/vendor/libgit2/src/diff_print.c +81 -65
- data/vendor/libgit2/src/diff_stats.c +19 -16
- data/vendor/libgit2/src/diff_tform.c +13 -13
- data/vendor/libgit2/src/diff_xdiff.c +4 -2
- data/vendor/libgit2/src/diff_xdiff.h +1 -1
- data/vendor/libgit2/src/errors.c +26 -19
- data/vendor/libgit2/src/features.h.in +5 -1
- data/vendor/libgit2/src/fetch.c +7 -2
- data/vendor/libgit2/src/fetchhead.c +8 -4
- data/vendor/libgit2/src/filebuf.c +9 -7
- data/vendor/libgit2/src/filter.c +209 -113
- data/vendor/libgit2/src/filter.h +24 -5
- data/vendor/libgit2/src/futils.c +8 -8
- data/vendor/libgit2/src/futils.h +4 -4
- data/vendor/libgit2/src/graph.c +64 -9
- data/vendor/libgit2/src/hash/sha1/collisiondetect.c +3 -3
- data/vendor/libgit2/src/hash/sha1/common_crypto.c +3 -3
- data/vendor/libgit2/src/hash/sha1/generic.h +1 -1
- data/vendor/libgit2/src/hash/sha1/mbedtls.c +12 -12
- data/vendor/libgit2/src/hash/sha1/openssl.c +3 -3
- data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +0 -2
- data/vendor/libgit2/src/hash/sha1/win32.c +15 -11
- data/vendor/libgit2/src/hash.c +16 -13
- data/vendor/libgit2/src/hash.h +1 -1
- data/vendor/libgit2/src/hashsig.c +23 -10
- data/vendor/libgit2/src/ident.c +13 -3
- data/vendor/libgit2/src/idxmap.c +0 -22
- data/vendor/libgit2/src/ignore.c +35 -19
- data/vendor/libgit2/src/index.c +126 -84
- data/vendor/libgit2/src/index.h +1 -1
- data/vendor/libgit2/src/indexer.c +60 -36
- data/vendor/libgit2/src/integer.h +79 -2
- data/vendor/libgit2/src/iterator.c +40 -28
- data/vendor/libgit2/src/iterator.h +1 -1
- data/vendor/libgit2/src/khash.h +2 -11
- data/vendor/libgit2/src/{settings.c → libgit2.c} +125 -49
- data/vendor/libgit2/src/libgit2.h +15 -0
- data/vendor/libgit2/src/mailmap.c +23 -10
- data/vendor/libgit2/src/map.h +3 -3
- data/vendor/libgit2/src/merge.c +108 -46
- data/vendor/libgit2/src/merge.h +2 -1
- data/vendor/libgit2/src/merge_driver.c +19 -13
- data/vendor/libgit2/src/merge_file.c +15 -9
- data/vendor/libgit2/src/message.c +3 -1
- data/vendor/libgit2/src/midx.c +879 -0
- data/vendor/libgit2/src/midx.h +110 -0
- data/vendor/libgit2/src/mwindow.c +214 -95
- data/vendor/libgit2/src/mwindow.h +3 -3
- data/vendor/libgit2/src/net.c +133 -4
- data/vendor/libgit2/src/net.h +16 -2
- data/vendor/libgit2/src/netops.c +6 -4
- data/vendor/libgit2/src/netops.h +2 -2
- data/vendor/libgit2/src/notes.c +10 -10
- data/vendor/libgit2/src/object.c +24 -15
- data/vendor/libgit2/src/odb.c +298 -57
- data/vendor/libgit2/src/odb.h +16 -2
- data/vendor/libgit2/src/odb_loose.c +31 -21
- data/vendor/libgit2/src/odb_mempack.c +3 -1
- data/vendor/libgit2/src/odb_pack.c +391 -114
- data/vendor/libgit2/src/oid.c +7 -4
- data/vendor/libgit2/src/pack-objects.c +83 -69
- data/vendor/libgit2/src/pack.c +383 -150
- data/vendor/libgit2/src/pack.h +44 -9
- data/vendor/libgit2/src/patch.c +14 -7
- data/vendor/libgit2/src/patch_generate.c +3 -5
- data/vendor/libgit2/src/patch_parse.c +6 -3
- data/vendor/libgit2/src/path.c +102 -57
- data/vendor/libgit2/src/path.h +79 -6
- data/vendor/libgit2/src/pathspec.c +12 -11
- data/vendor/libgit2/src/pool.c +34 -22
- data/vendor/libgit2/src/pool.h +9 -1
- data/vendor/libgit2/src/posix.c +43 -12
- data/vendor/libgit2/src/posix.h +9 -0
- data/vendor/libgit2/src/proxy.c +2 -0
- data/vendor/libgit2/src/push.c +2 -0
- data/vendor/libgit2/src/reader.c +10 -6
- data/vendor/libgit2/src/rebase.c +95 -49
- data/vendor/libgit2/src/refdb.c +165 -13
- data/vendor/libgit2/src/refdb.h +69 -0
- data/vendor/libgit2/src/refdb_fs.c +144 -152
- data/vendor/libgit2/src/reflog.c +21 -20
- data/vendor/libgit2/src/refs.c +151 -231
- data/vendor/libgit2/src/refs.h +2 -20
- data/vendor/libgit2/src/refspec.c +80 -44
- data/vendor/libgit2/src/regexp.c +2 -2
- data/vendor/libgit2/src/remote.c +312 -121
- data/vendor/libgit2/src/remote.h +2 -1
- data/vendor/libgit2/src/repository.c +351 -189
- data/vendor/libgit2/src/repository.h +23 -29
- data/vendor/libgit2/src/reset.c +7 -6
- data/vendor/libgit2/src/revert.c +8 -2
- data/vendor/libgit2/src/revparse.c +19 -13
- data/vendor/libgit2/src/revwalk.c +35 -20
- data/vendor/libgit2/src/runtime.c +162 -0
- data/vendor/libgit2/src/runtime.h +62 -0
- data/vendor/libgit2/src/{refdb_fs.h → settings.h} +3 -11
- data/vendor/libgit2/src/signature.c +6 -5
- data/vendor/libgit2/src/sortedcache.c +2 -3
- data/vendor/libgit2/src/sortedcache.h +10 -8
- data/vendor/libgit2/src/stash.c +7 -3
- data/vendor/libgit2/src/status.c +9 -4
- data/vendor/libgit2/src/strarray.c +64 -0
- data/vendor/libgit2/src/streams/mbedtls.c +14 -17
- data/vendor/libgit2/src/streams/mbedtls.h +1 -1
- data/vendor/libgit2/src/streams/openssl.c +113 -207
- data/vendor/libgit2/src/streams/openssl.h +9 -1
- data/vendor/libgit2/src/streams/openssl_dynamic.c +309 -0
- data/vendor/libgit2/src/streams/openssl_dynamic.h +348 -0
- data/vendor/libgit2/src/streams/openssl_legacy.c +203 -0
- data/vendor/libgit2/src/streams/openssl_legacy.h +63 -0
- data/vendor/libgit2/src/streams/registry.c +10 -9
- data/vendor/libgit2/src/streams/socket.c +6 -2
- data/vendor/libgit2/src/streams/stransport.c +6 -3
- data/vendor/libgit2/src/streams/tls.c +5 -3
- data/vendor/libgit2/src/submodule.c +134 -66
- data/vendor/libgit2/src/submodule.h +9 -9
- data/vendor/libgit2/src/sysdir.c +8 -26
- data/vendor/libgit2/src/sysdir.h +0 -11
- data/vendor/libgit2/src/tag.c +49 -11
- data/vendor/libgit2/src/thread.c +140 -0
- data/vendor/libgit2/src/thread.h +479 -0
- data/vendor/libgit2/src/threadstate.c +83 -0
- data/vendor/libgit2/src/threadstate.h +24 -0
- data/vendor/libgit2/src/trace.c +2 -2
- data/vendor/libgit2/src/trace.h +17 -13
- data/vendor/libgit2/src/transaction.c +21 -9
- data/vendor/libgit2/src/transport.c +3 -3
- data/vendor/libgit2/src/transports/auth.c +1 -1
- data/vendor/libgit2/src/transports/auth_negotiate.c +11 -4
- data/vendor/libgit2/src/transports/auth_ntlm.c +10 -6
- data/vendor/libgit2/src/transports/credential.c +17 -7
- data/vendor/libgit2/src/transports/credential_helpers.c +2 -0
- data/vendor/libgit2/src/transports/git.c +1 -3
- data/vendor/libgit2/src/transports/http.c +19 -17
- data/vendor/libgit2/src/transports/http.h +1 -0
- data/vendor/libgit2/src/transports/httpclient.c +84 -42
- data/vendor/libgit2/src/transports/httpclient.h +1 -1
- data/vendor/libgit2/src/transports/local.c +5 -5
- data/vendor/libgit2/src/transports/smart.c +14 -9
- data/vendor/libgit2/src/transports/smart.h +1 -1
- data/vendor/libgit2/src/transports/smart_protocol.c +11 -5
- data/vendor/libgit2/src/transports/ssh.c +51 -17
- data/vendor/libgit2/src/transports/winhttp.c +156 -88
- data/vendor/libgit2/src/tree.c +100 -77
- data/vendor/libgit2/src/tree.h +1 -0
- data/vendor/libgit2/src/tsort.c +0 -2
- data/vendor/libgit2/src/unix/map.c +3 -1
- data/vendor/libgit2/src/unix/posix.h +16 -1
- data/vendor/libgit2/src/unix/pthread.h +2 -1
- data/vendor/libgit2/src/utf8.c +150 -0
- data/vendor/libgit2/src/utf8.h +52 -0
- data/vendor/libgit2/src/util.c +74 -183
- data/vendor/libgit2/src/util.h +33 -39
- data/vendor/libgit2/src/vector.c +23 -19
- data/vendor/libgit2/src/vector.h +4 -2
- data/vendor/libgit2/src/win32/findfile.c +4 -2
- data/vendor/libgit2/src/win32/git2.rc +18 -3
- data/vendor/libgit2/src/win32/map.c +1 -1
- data/vendor/libgit2/src/win32/msvc-compat.h +9 -1
- data/vendor/libgit2/src/win32/path_w32.c +23 -25
- data/vendor/libgit2/src/win32/path_w32.h +0 -1
- data/vendor/libgit2/src/win32/posix_w32.c +77 -1
- data/vendor/libgit2/src/win32/precompiled.h +0 -1
- data/vendor/libgit2/src/win32/reparse.h +4 -4
- data/vendor/libgit2/src/win32/thread.c +24 -15
- data/vendor/libgit2/src/win32/thread.h +1 -1
- data/vendor/libgit2/src/win32/w32_buffer.c +3 -3
- data/vendor/libgit2/src/win32/w32_common.h +18 -9
- data/vendor/libgit2/src/win32/{w32_crtdbg_stacktrace.c → w32_leakcheck.c} +269 -33
- data/vendor/libgit2/src/win32/w32_leakcheck.h +222 -0
- data/vendor/libgit2/src/win32/w32_util.h +6 -6
- data/vendor/libgit2/src/worktree.c +37 -15
- data/vendor/libgit2/src/zstream.c +1 -1
- metadata +56 -38
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +0 -29
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +0 -96
- data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
- data/vendor/libgit2/src/buf_text.c +0 -316
- data/vendor/libgit2/src/buf_text.h +0 -122
- data/vendor/libgit2/src/global.c +0 -361
- data/vendor/libgit2/src/global.h +0 -41
- data/vendor/libgit2/src/thread-utils.c +0 -58
- data/vendor/libgit2/src/thread-utils.h +0 -246
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -127
- data/vendor/libgit2/src/win32/w32_stack.c +0 -188
- data/vendor/libgit2/src/win32/w32_stack.h +0 -140
|
@@ -126,7 +126,10 @@ int git_cherrypick_commit(
|
|
|
126
126
|
git_tree *parent_tree = NULL, *our_tree = NULL, *cherrypick_tree = NULL;
|
|
127
127
|
int parent = 0, error = 0;
|
|
128
128
|
|
|
129
|
-
|
|
129
|
+
GIT_ASSERT_ARG(out);
|
|
130
|
+
GIT_ASSERT_ARG(repo);
|
|
131
|
+
GIT_ASSERT_ARG(cherrypick_commit);
|
|
132
|
+
GIT_ASSERT_ARG(our_commit);
|
|
130
133
|
|
|
131
134
|
if (git_commit_parentcount(cherrypick_commit) > 1) {
|
|
132
135
|
if (!mainline)
|
|
@@ -177,7 +180,8 @@ int git_cherrypick(
|
|
|
177
180
|
git_indexwriter indexwriter = GIT_INDEXWRITER_INIT;
|
|
178
181
|
int error = 0;
|
|
179
182
|
|
|
180
|
-
|
|
183
|
+
GIT_ASSERT_ARG(repo);
|
|
184
|
+
GIT_ASSERT_ARG(commit);
|
|
181
185
|
|
|
182
186
|
GIT_ERROR_CHECK_VERSION(given_opts, GIT_CHERRYPICK_OPTIONS_VERSION, "git_cherrypick_options");
|
|
183
187
|
|
|
@@ -229,8 +233,10 @@ int git_cherrypick_options_init(
|
|
|
229
233
|
return 0;
|
|
230
234
|
}
|
|
231
235
|
|
|
236
|
+
#ifndef GIT_DEPRECATE_HARD
|
|
232
237
|
int git_cherrypick_init_options(
|
|
233
238
|
git_cherrypick_options *opts, unsigned int version)
|
|
234
239
|
{
|
|
235
240
|
return git_cherrypick_options_init(opts, version);
|
|
236
241
|
}
|
|
242
|
+
#endif
|
data/vendor/libgit2/src/clone.c
CHANGED
|
@@ -137,6 +137,80 @@ static int update_head_to_new_branch(
|
|
|
137
137
|
return error;
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
+
static int update_head_to_default(git_repository *repo)
|
|
141
|
+
{
|
|
142
|
+
git_buf initialbranch = GIT_BUF_INIT;
|
|
143
|
+
const char *branch_name;
|
|
144
|
+
int error = 0;
|
|
145
|
+
|
|
146
|
+
if ((error = git_repository_initialbranch(&initialbranch, repo)) < 0)
|
|
147
|
+
goto done;
|
|
148
|
+
|
|
149
|
+
if (git__prefixcmp(initialbranch.ptr, GIT_REFS_HEADS_DIR) != 0) {
|
|
150
|
+
git_error_set(GIT_ERROR_INVALID, "invalid initial branch '%s'", initialbranch.ptr);
|
|
151
|
+
error = -1;
|
|
152
|
+
goto done;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
branch_name = initialbranch.ptr + strlen(GIT_REFS_HEADS_DIR);
|
|
156
|
+
|
|
157
|
+
error = setup_tracking_config(repo, branch_name, GIT_REMOTE_ORIGIN,
|
|
158
|
+
initialbranch.ptr);
|
|
159
|
+
|
|
160
|
+
done:
|
|
161
|
+
git_buf_dispose(&initialbranch);
|
|
162
|
+
return error;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
static int update_remote_head(
|
|
166
|
+
git_repository *repo,
|
|
167
|
+
git_remote *remote,
|
|
168
|
+
git_buf *target,
|
|
169
|
+
const char *reflog_message)
|
|
170
|
+
{
|
|
171
|
+
git_refspec *refspec;
|
|
172
|
+
git_reference *remote_head = NULL;
|
|
173
|
+
git_buf remote_head_name = GIT_BUF_INIT;
|
|
174
|
+
git_buf remote_branch_name = GIT_BUF_INIT;
|
|
175
|
+
int error;
|
|
176
|
+
|
|
177
|
+
/* Determine the remote tracking ref name from the local branch */
|
|
178
|
+
refspec = git_remote__matching_refspec(remote, git_buf_cstr(target));
|
|
179
|
+
|
|
180
|
+
if (refspec == NULL) {
|
|
181
|
+
git_error_set(GIT_ERROR_NET, "the remote's default branch does not fit the refspec configuration");
|
|
182
|
+
error = GIT_EINVALIDSPEC;
|
|
183
|
+
goto cleanup;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
if ((error = git_refspec_transform(
|
|
187
|
+
&remote_branch_name,
|
|
188
|
+
refspec,
|
|
189
|
+
git_buf_cstr(target))) < 0)
|
|
190
|
+
goto cleanup;
|
|
191
|
+
|
|
192
|
+
if ((error = git_buf_printf(&remote_head_name,
|
|
193
|
+
"%s%s/%s",
|
|
194
|
+
GIT_REFS_REMOTES_DIR,
|
|
195
|
+
git_remote_name(remote),
|
|
196
|
+
GIT_HEAD_FILE)) < 0)
|
|
197
|
+
goto cleanup;
|
|
198
|
+
|
|
199
|
+
error = git_reference_symbolic_create(
|
|
200
|
+
&remote_head,
|
|
201
|
+
repo,
|
|
202
|
+
git_buf_cstr(&remote_head_name),
|
|
203
|
+
git_buf_cstr(&remote_branch_name),
|
|
204
|
+
true,
|
|
205
|
+
reflog_message);
|
|
206
|
+
|
|
207
|
+
cleanup:
|
|
208
|
+
git_reference_free(remote_head);
|
|
209
|
+
git_buf_dispose(&remote_branch_name);
|
|
210
|
+
git_buf_dispose(&remote_head_name);
|
|
211
|
+
return error;
|
|
212
|
+
}
|
|
213
|
+
|
|
140
214
|
static int update_head_to_remote(
|
|
141
215
|
git_repository *repo,
|
|
142
216
|
git_remote *remote,
|
|
@@ -144,10 +218,8 @@ static int update_head_to_remote(
|
|
|
144
218
|
{
|
|
145
219
|
int error = 0;
|
|
146
220
|
size_t refs_len;
|
|
147
|
-
git_refspec *refspec;
|
|
148
221
|
const git_remote_head *remote_head, **refs;
|
|
149
222
|
const git_oid *remote_head_id;
|
|
150
|
-
git_buf remote_master_name = GIT_BUF_INIT;
|
|
151
223
|
git_buf branch = GIT_BUF_INIT;
|
|
152
224
|
|
|
153
225
|
if ((error = git_remote_ls(&refs, &refs_len, remote)) < 0)
|
|
@@ -155,12 +227,11 @@ static int update_head_to_remote(
|
|
|
155
227
|
|
|
156
228
|
/* We cloned an empty repository or one with an unborn HEAD */
|
|
157
229
|
if (refs_len == 0 || strcmp(refs[0]->name, GIT_HEAD_FILE))
|
|
158
|
-
return
|
|
159
|
-
repo, "master", GIT_REMOTE_ORIGIN, GIT_REFS_HEADS_MASTER_FILE);
|
|
230
|
+
return update_head_to_default(repo);
|
|
160
231
|
|
|
161
232
|
/* We know we have HEAD, let's see where it points */
|
|
162
233
|
remote_head = refs[0];
|
|
163
|
-
|
|
234
|
+
GIT_ASSERT(remote_head);
|
|
164
235
|
|
|
165
236
|
remote_head_id = &remote_head->oid;
|
|
166
237
|
|
|
@@ -171,19 +242,7 @@ static int update_head_to_remote(
|
|
|
171
242
|
goto cleanup;
|
|
172
243
|
}
|
|
173
244
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
if (refspec == NULL) {
|
|
177
|
-
git_error_set(GIT_ERROR_NET, "the remote's default branch does not fit the refspec configuration");
|
|
178
|
-
error = GIT_EINVALIDSPEC;
|
|
179
|
-
goto cleanup;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/* Determine the remote tracking reference name from the local master */
|
|
183
|
-
if ((error = git_refspec_transform(
|
|
184
|
-
&remote_master_name,
|
|
185
|
-
refspec,
|
|
186
|
-
git_buf_cstr(&branch))) < 0)
|
|
245
|
+
if ((error = update_remote_head(repo, remote, &branch, reflog_message)) < 0)
|
|
187
246
|
goto cleanup;
|
|
188
247
|
|
|
189
248
|
error = update_head_to_new_branch(
|
|
@@ -193,7 +252,6 @@ static int update_head_to_remote(
|
|
|
193
252
|
reflog_message);
|
|
194
253
|
|
|
195
254
|
cleanup:
|
|
196
|
-
git_buf_dispose(&remote_master_name);
|
|
197
255
|
git_buf_dispose(&branch);
|
|
198
256
|
|
|
199
257
|
return error;
|
|
@@ -201,29 +259,41 @@ cleanup:
|
|
|
201
259
|
|
|
202
260
|
static int update_head_to_branch(
|
|
203
261
|
git_repository *repo,
|
|
204
|
-
|
|
262
|
+
git_remote *remote,
|
|
205
263
|
const char *branch,
|
|
206
264
|
const char *reflog_message)
|
|
207
265
|
{
|
|
208
266
|
int retcode;
|
|
209
267
|
git_buf remote_branch_name = GIT_BUF_INIT;
|
|
210
268
|
git_reference* remote_ref = NULL;
|
|
269
|
+
git_buf default_branch = GIT_BUF_INIT;
|
|
211
270
|
|
|
212
|
-
|
|
271
|
+
GIT_ASSERT_ARG(remote);
|
|
272
|
+
GIT_ASSERT_ARG(branch);
|
|
213
273
|
|
|
214
274
|
if ((retcode = git_buf_printf(&remote_branch_name, GIT_REFS_REMOTES_DIR "%s/%s",
|
|
215
|
-
|
|
275
|
+
git_remote_name(remote), branch)) < 0 )
|
|
216
276
|
goto cleanup;
|
|
217
277
|
|
|
218
278
|
if ((retcode = git_reference_lookup(&remote_ref, repo, git_buf_cstr(&remote_branch_name))) < 0)
|
|
219
279
|
goto cleanup;
|
|
220
280
|
|
|
221
|
-
retcode = update_head_to_new_branch(repo, git_reference_target(remote_ref), branch,
|
|
222
|
-
reflog_message)
|
|
281
|
+
if ((retcode = update_head_to_new_branch(repo, git_reference_target(remote_ref), branch,
|
|
282
|
+
reflog_message)) < 0)
|
|
283
|
+
goto cleanup;
|
|
284
|
+
|
|
285
|
+
if ((retcode = git_remote_default_branch(&default_branch, remote)) < 0)
|
|
286
|
+
goto cleanup;
|
|
287
|
+
|
|
288
|
+
if (!git_remote__matching_refspec(remote, git_buf_cstr(&default_branch)))
|
|
289
|
+
goto cleanup;
|
|
290
|
+
|
|
291
|
+
retcode = update_remote_head(repo, remote, &default_branch, reflog_message);
|
|
223
292
|
|
|
224
293
|
cleanup:
|
|
225
294
|
git_reference_free(remote_ref);
|
|
226
295
|
git_buf_dispose(&remote_branch_name);
|
|
296
|
+
git_buf_dispose(&default_branch);
|
|
227
297
|
return retcode;
|
|
228
298
|
}
|
|
229
299
|
|
|
@@ -308,8 +378,7 @@ static int checkout_branch(git_repository *repo, git_remote *remote, const git_c
|
|
|
308
378
|
int error;
|
|
309
379
|
|
|
310
380
|
if (branch)
|
|
311
|
-
error = update_head_to_branch(repo,
|
|
312
|
-
reflog_message);
|
|
381
|
+
error = update_head_to_branch(repo, remote, branch, reflog_message);
|
|
313
382
|
/* Point HEAD to the same ref as the remote's head */
|
|
314
383
|
else
|
|
315
384
|
error = update_head_to_remote(repo, remote, reflog_message);
|
|
@@ -327,7 +396,8 @@ static int clone_into(git_repository *repo, git_remote *_remote, const git_fetch
|
|
|
327
396
|
git_fetch_options fetch_opts;
|
|
328
397
|
git_remote *remote;
|
|
329
398
|
|
|
330
|
-
|
|
399
|
+
GIT_ASSERT_ARG(repo);
|
|
400
|
+
GIT_ASSERT_ARG(_remote);
|
|
331
401
|
|
|
332
402
|
if (!git_repository_is_empty(repo)) {
|
|
333
403
|
git_error_set(GIT_ERROR_INVALID, "the repository is not empty");
|
|
@@ -394,7 +464,9 @@ static int git__clone(
|
|
|
394
464
|
uint32_t rmdir_flags = GIT_RMDIR_REMOVE_FILES;
|
|
395
465
|
git_repository_create_cb repository_cb;
|
|
396
466
|
|
|
397
|
-
|
|
467
|
+
GIT_ASSERT_ARG(out);
|
|
468
|
+
GIT_ASSERT_ARG(url);
|
|
469
|
+
GIT_ASSERT_ARG(local_path);
|
|
398
470
|
|
|
399
471
|
if (_options)
|
|
400
472
|
memcpy(&options, _options, sizeof(git_clone_options));
|
|
@@ -479,10 +551,12 @@ int git_clone_options_init(git_clone_options *opts, unsigned int version)
|
|
|
479
551
|
return 0;
|
|
480
552
|
}
|
|
481
553
|
|
|
554
|
+
#ifndef GIT_DEPRECATE_HARD
|
|
482
555
|
int git_clone_init_options(git_clone_options *opts, unsigned int version)
|
|
483
556
|
{
|
|
484
557
|
return git_clone_options_init(opts, version);
|
|
485
558
|
}
|
|
559
|
+
#endif
|
|
486
560
|
|
|
487
561
|
static bool can_link(const char *src, const char *dst, int link)
|
|
488
562
|
{
|
|
@@ -515,7 +589,8 @@ static int clone_local_into(git_repository *repo, git_remote *remote, const git_
|
|
|
515
589
|
git_buf src_odb = GIT_BUF_INIT, dst_odb = GIT_BUF_INIT, src_path = GIT_BUF_INIT;
|
|
516
590
|
git_buf reflog_message = GIT_BUF_INIT;
|
|
517
591
|
|
|
518
|
-
|
|
592
|
+
GIT_ASSERT_ARG(repo);
|
|
593
|
+
GIT_ASSERT_ARG(remote);
|
|
519
594
|
|
|
520
595
|
if (!git_repository_is_empty(repo)) {
|
|
521
596
|
git_error_set(GIT_ERROR_INVALID, "the repository is not empty");
|
data/vendor/libgit2/src/commit.c
CHANGED
|
@@ -53,7 +53,8 @@ static int git_commit__create_buffer_internal(
|
|
|
53
53
|
size_t i = 0;
|
|
54
54
|
const git_oid *parent;
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
GIT_ASSERT_ARG(out);
|
|
57
|
+
GIT_ASSERT_ARG(tree);
|
|
57
58
|
|
|
58
59
|
git_oid__writebuf(out, "tree ", tree);
|
|
59
60
|
|
|
@@ -229,7 +230,8 @@ int git_commit_create_v(
|
|
|
229
230
|
int error = 0;
|
|
230
231
|
commit_parent_varargs data;
|
|
231
232
|
|
|
232
|
-
|
|
233
|
+
GIT_ASSERT_ARG(tree);
|
|
234
|
+
GIT_ASSERT_ARG(git_tree_owner(tree) == repo);
|
|
233
235
|
|
|
234
236
|
data.total = parent_count;
|
|
235
237
|
va_start(data.args, parent_count);
|
|
@@ -306,7 +308,8 @@ int git_commit_create(
|
|
|
306
308
|
{
|
|
307
309
|
commit_parent_data data = { parent_count, parents, repo };
|
|
308
310
|
|
|
309
|
-
|
|
311
|
+
GIT_ASSERT_ARG(tree);
|
|
312
|
+
GIT_ASSERT_ARG(git_tree_owner(tree) == repo);
|
|
310
313
|
|
|
311
314
|
return git_commit__create_internal(
|
|
312
315
|
id, repo, update_ref, author, committer,
|
|
@@ -337,7 +340,8 @@ int git_commit_amend(
|
|
|
337
340
|
git_reference *ref;
|
|
338
341
|
int error;
|
|
339
342
|
|
|
340
|
-
|
|
343
|
+
GIT_ASSERT_ARG(id);
|
|
344
|
+
GIT_ASSERT_ARG(commit_to_amend);
|
|
341
345
|
|
|
342
346
|
repo = git_commit_owner(commit_to_amend);
|
|
343
347
|
|
|
@@ -356,7 +360,7 @@ int git_commit_amend(
|
|
|
356
360
|
git_oid_cpy(&tree_id, git_tree_id(old_tree));
|
|
357
361
|
git_tree_free(old_tree);
|
|
358
362
|
} else {
|
|
359
|
-
|
|
363
|
+
GIT_ASSERT_ARG(git_tree_owner(tree) == repo);
|
|
360
364
|
git_oid_cpy(&tree_id, git_tree_id(tree));
|
|
361
365
|
}
|
|
362
366
|
|
|
@@ -392,7 +396,8 @@ static int commit_parse(git_commit *commit, const char *data, size_t size, unsig
|
|
|
392
396
|
size_t header_len;
|
|
393
397
|
git_signature dummy_sig;
|
|
394
398
|
|
|
395
|
-
|
|
399
|
+
GIT_ASSERT_ARG(commit);
|
|
400
|
+
GIT_ASSERT_ARG(data);
|
|
396
401
|
|
|
397
402
|
buffer = buffer_start;
|
|
398
403
|
|
|
@@ -506,28 +511,28 @@ int git_commit__parse(void *_commit, git_odb_object *odb_obj)
|
|
|
506
511
|
return git_commit__parse_ext(_commit, odb_obj, 0);
|
|
507
512
|
}
|
|
508
513
|
|
|
509
|
-
#define GIT_COMMIT_GETTER(_rvalue, _name, _return) \
|
|
514
|
+
#define GIT_COMMIT_GETTER(_rvalue, _name, _return, _invalid) \
|
|
510
515
|
_rvalue git_commit_##_name(const git_commit *commit) \
|
|
511
516
|
{\
|
|
512
|
-
|
|
517
|
+
GIT_ASSERT_ARG_WITH_RETVAL(commit, _invalid); \
|
|
513
518
|
return _return; \
|
|
514
519
|
}
|
|
515
520
|
|
|
516
|
-
GIT_COMMIT_GETTER(const git_signature *, author, commit->author)
|
|
517
|
-
GIT_COMMIT_GETTER(const git_signature *, committer, commit->committer)
|
|
518
|
-
GIT_COMMIT_GETTER(const char *, message_raw, commit->raw_message)
|
|
519
|
-
GIT_COMMIT_GETTER(const char *, message_encoding, commit->message_encoding)
|
|
520
|
-
GIT_COMMIT_GETTER(const char *, raw_header, commit->raw_header)
|
|
521
|
-
GIT_COMMIT_GETTER(git_time_t, time, commit->committer->when.time)
|
|
522
|
-
GIT_COMMIT_GETTER(int, time_offset, commit->committer->when.offset)
|
|
523
|
-
GIT_COMMIT_GETTER(unsigned int, parentcount, (unsigned int)git_array_size(commit->parent_ids))
|
|
524
|
-
GIT_COMMIT_GETTER(const git_oid *, tree_id, &commit->tree_id)
|
|
521
|
+
GIT_COMMIT_GETTER(const git_signature *, author, commit->author, NULL)
|
|
522
|
+
GIT_COMMIT_GETTER(const git_signature *, committer, commit->committer, NULL)
|
|
523
|
+
GIT_COMMIT_GETTER(const char *, message_raw, commit->raw_message, NULL)
|
|
524
|
+
GIT_COMMIT_GETTER(const char *, message_encoding, commit->message_encoding, NULL)
|
|
525
|
+
GIT_COMMIT_GETTER(const char *, raw_header, commit->raw_header, NULL)
|
|
526
|
+
GIT_COMMIT_GETTER(git_time_t, time, commit->committer->when.time, INT64_MIN)
|
|
527
|
+
GIT_COMMIT_GETTER(int, time_offset, commit->committer->when.offset, -1)
|
|
528
|
+
GIT_COMMIT_GETTER(unsigned int, parentcount, (unsigned int)git_array_size(commit->parent_ids), 0)
|
|
529
|
+
GIT_COMMIT_GETTER(const git_oid *, tree_id, &commit->tree_id, NULL)
|
|
525
530
|
|
|
526
531
|
const char *git_commit_message(const git_commit *commit)
|
|
527
532
|
{
|
|
528
533
|
const char *message;
|
|
529
534
|
|
|
530
|
-
|
|
535
|
+
GIT_ASSERT_ARG_WITH_RETVAL(commit, NULL);
|
|
531
536
|
|
|
532
537
|
message = commit->raw_message;
|
|
533
538
|
|
|
@@ -544,7 +549,7 @@ const char *git_commit_summary(git_commit *commit)
|
|
|
544
549
|
const char *msg, *space;
|
|
545
550
|
bool space_contains_newline = false;
|
|
546
551
|
|
|
547
|
-
|
|
552
|
+
GIT_ASSERT_ARG_WITH_RETVAL(commit, NULL);
|
|
548
553
|
|
|
549
554
|
if (!commit->summary) {
|
|
550
555
|
for (msg = git_commit_message(commit), space = NULL; *msg; ++msg) {
|
|
@@ -587,7 +592,7 @@ const char *git_commit_body(git_commit *commit)
|
|
|
587
592
|
{
|
|
588
593
|
const char *msg, *end;
|
|
589
594
|
|
|
590
|
-
|
|
595
|
+
GIT_ASSERT_ARG_WITH_RETVAL(commit, NULL);
|
|
591
596
|
|
|
592
597
|
if (!commit->body) {
|
|
593
598
|
/* search for end of summary */
|
|
@@ -612,14 +617,14 @@ const char *git_commit_body(git_commit *commit)
|
|
|
612
617
|
|
|
613
618
|
int git_commit_tree(git_tree **tree_out, const git_commit *commit)
|
|
614
619
|
{
|
|
615
|
-
|
|
620
|
+
GIT_ASSERT_ARG(commit);
|
|
616
621
|
return git_tree_lookup(tree_out, commit->object.repo, &commit->tree_id);
|
|
617
622
|
}
|
|
618
623
|
|
|
619
624
|
const git_oid *git_commit_parent_id(
|
|
620
625
|
const git_commit *commit, unsigned int n)
|
|
621
626
|
{
|
|
622
|
-
|
|
627
|
+
GIT_ASSERT_ARG_WITH_RETVAL(commit, NULL);
|
|
623
628
|
|
|
624
629
|
return git_array_get(commit->parent_ids, n);
|
|
625
630
|
}
|
|
@@ -628,7 +633,7 @@ int git_commit_parent(
|
|
|
628
633
|
git_commit **parent, const git_commit *commit, unsigned int n)
|
|
629
634
|
{
|
|
630
635
|
const git_oid *parent_id;
|
|
631
|
-
|
|
636
|
+
GIT_ASSERT_ARG(commit);
|
|
632
637
|
|
|
633
638
|
parent_id = git_commit_parent_id(commit, n);
|
|
634
639
|
if (parent_id == NULL) {
|
|
@@ -647,7 +652,8 @@ int git_commit_nth_gen_ancestor(
|
|
|
647
652
|
git_commit *current, *parent = NULL;
|
|
648
653
|
int error;
|
|
649
654
|
|
|
650
|
-
|
|
655
|
+
GIT_ASSERT_ARG(ancestor);
|
|
656
|
+
GIT_ASSERT_ARG(commit);
|
|
651
657
|
|
|
652
658
|
if (git_commit_dup(¤t, (git_commit *)commit) < 0)
|
|
653
659
|
return -1;
|
|
@@ -840,7 +846,8 @@ int git_commit_create_buffer(git_buf *out,
|
|
|
840
846
|
git_array_oid_t parents_arr = GIT_ARRAY_INIT;
|
|
841
847
|
const git_oid *tree_id;
|
|
842
848
|
|
|
843
|
-
|
|
849
|
+
GIT_ASSERT_ARG(tree);
|
|
850
|
+
GIT_ASSERT_ARG(git_tree_owner(tree) == repo);
|
|
844
851
|
|
|
845
852
|
tree_id = git_tree_id(tree);
|
|
846
853
|
|
|
@@ -859,11 +866,13 @@ int git_commit_create_buffer(git_buf *out,
|
|
|
859
866
|
/**
|
|
860
867
|
* Append to 'out' properly marking continuations when there's a newline in 'content'
|
|
861
868
|
*/
|
|
862
|
-
static
|
|
869
|
+
static int format_header_field(git_buf *out, const char *field, const char *content)
|
|
863
870
|
{
|
|
864
871
|
const char *lf;
|
|
865
872
|
|
|
866
|
-
|
|
873
|
+
GIT_ASSERT_ARG(out);
|
|
874
|
+
GIT_ASSERT_ARG(field);
|
|
875
|
+
GIT_ASSERT_ARG(content);
|
|
867
876
|
|
|
868
877
|
git_buf_puts(out, field);
|
|
869
878
|
git_buf_putc(out, ' ');
|
|
@@ -876,6 +885,8 @@ static void format_header_field(git_buf *out, const char *field, const char *con
|
|
|
876
885
|
|
|
877
886
|
git_buf_puts(out, content);
|
|
878
887
|
git_buf_putc(out, '\n');
|
|
888
|
+
|
|
889
|
+
return git_buf_oom(out) ? -1 : 0;
|
|
879
890
|
}
|
|
880
891
|
|
|
881
892
|
static const git_oid *commit_parent_from_commit(size_t n, void *payload)
|
|
@@ -926,7 +937,9 @@ int git_commit_create_with_signature(
|
|
|
926
937
|
|
|
927
938
|
if (signature != NULL) {
|
|
928
939
|
field = signature_field ? signature_field : "gpgsig";
|
|
929
|
-
|
|
940
|
+
|
|
941
|
+
if ((error = format_header_field(&commit, field, signature)) < 0)
|
|
942
|
+
goto cleanup;
|
|
930
943
|
}
|
|
931
944
|
|
|
932
945
|
git_buf_puts(&commit, header_end);
|