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
|
@@ -26,27 +26,54 @@ GIT_BEGIN_DECL
|
|
|
26
26
|
typedef enum {
|
|
27
27
|
/** Normal blame, the default */
|
|
28
28
|
GIT_BLAME_NORMAL = 0,
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Track lines that have moved within a file (like `git blame -M`).
|
|
32
|
+
*
|
|
33
|
+
* This is not yet implemented and reserved for future use.
|
|
34
|
+
*/
|
|
31
35
|
GIT_BLAME_TRACK_COPIES_SAME_FILE = (1<<0),
|
|
32
|
-
|
|
33
|
-
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Track lines that have moved across files in the same commit
|
|
39
|
+
* (like `git blame -C`).
|
|
40
|
+
*
|
|
41
|
+
* This is not yet implemented and reserved for future use.
|
|
42
|
+
*/
|
|
34
43
|
GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES = (1<<1),
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
*
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Track lines that have been copied from another file that exists
|
|
47
|
+
* in the same commit (like `git blame -CC`). Implies SAME_FILE.
|
|
48
|
+
*
|
|
49
|
+
* This is not yet implemented and reserved for future use.
|
|
50
|
+
*/
|
|
38
51
|
GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES = (1<<2),
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
*
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Track lines that have been copied from another file that exists in
|
|
55
|
+
* *any* commit (like `git blame -CCC`). Implies SAME_COMMIT_COPIES.
|
|
56
|
+
*
|
|
57
|
+
* This is not yet implemented and reserved for future use.
|
|
58
|
+
*/
|
|
42
59
|
GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES = (1<<3),
|
|
43
|
-
|
|
44
|
-
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Restrict the search of commits to those reachable following only
|
|
63
|
+
* the first parents.
|
|
64
|
+
*/
|
|
45
65
|
GIT_BLAME_FIRST_PARENT = (1<<4),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
*
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Use mailmap file to map author and committer names and email
|
|
69
|
+
* addresses to canonical real names and email addresses. The
|
|
70
|
+
* mailmap will be read from the working directory, or HEAD in a
|
|
71
|
+
* bare repository.
|
|
72
|
+
*/
|
|
49
73
|
GIT_BLAME_USE_MAILMAP = (1<<5),
|
|
74
|
+
|
|
75
|
+
/** Ignore whitespace differences */
|
|
76
|
+
GIT_BLAME_IGNORE_WHITESPACE = (1<<6),
|
|
50
77
|
} git_blame_flag_t;
|
|
51
78
|
|
|
52
79
|
/**
|
|
@@ -61,25 +88,33 @@ typedef struct git_blame_options {
|
|
|
61
88
|
|
|
62
89
|
/** A combination of `git_blame_flag_t` */
|
|
63
90
|
uint32_t flags;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* The lower bound on the number of alphanumeric characters that
|
|
94
|
+
* must be detected as moving/copying within a file for it to
|
|
95
|
+
* associate those lines with the parent commit. The default value
|
|
96
|
+
* is 20.
|
|
97
|
+
*
|
|
98
|
+
* This value only takes effect if any of the `GIT_BLAME_TRACK_COPIES_*`
|
|
99
|
+
* flags are specified.
|
|
69
100
|
*/
|
|
70
101
|
uint16_t min_match_characters;
|
|
102
|
+
|
|
71
103
|
/** The id of the newest commit to consider. The default is HEAD. */
|
|
72
104
|
git_oid newest_commit;
|
|
105
|
+
|
|
73
106
|
/**
|
|
74
107
|
* The id of the oldest commit to consider.
|
|
75
108
|
* The default is the first commit encountered with a NULL parent.
|
|
76
109
|
*/
|
|
77
110
|
git_oid oldest_commit;
|
|
111
|
+
|
|
78
112
|
/**
|
|
79
113
|
* The first line in the file to blame.
|
|
80
114
|
* The default is 1 (line numbers start with 1).
|
|
81
115
|
*/
|
|
82
116
|
size_t min_line;
|
|
117
|
+
|
|
83
118
|
/**
|
|
84
119
|
* The last line in the file to blame.
|
|
85
120
|
* The default is the last line of the file.
|
|
@@ -106,41 +141,59 @@ GIT_EXTERN(int) git_blame_options_init(
|
|
|
106
141
|
|
|
107
142
|
/**
|
|
108
143
|
* Structure that represents a blame hunk.
|
|
109
|
-
*
|
|
110
|
-
* - `lines_in_hunk` is the number of lines in this hunk
|
|
111
|
-
* - `final_commit_id` is the OID of the commit where this line was last
|
|
112
|
-
* changed.
|
|
113
|
-
* - `final_start_line_number` is the 1-based line number where this hunk
|
|
114
|
-
* begins, in the final version of the file
|
|
115
|
-
* - `final_signature` is the author of `final_commit_id`. If
|
|
116
|
-
* `GIT_BLAME_USE_MAILMAP` has been specified, it will contain the canonical
|
|
117
|
-
* real name and email address.
|
|
118
|
-
* - `orig_commit_id` is the OID of the commit where this hunk was found. This
|
|
119
|
-
* will usually be the same as `final_commit_id`, except when
|
|
120
|
-
* `GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES` has been specified.
|
|
121
|
-
* - `orig_path` is the path to the file where this hunk originated, as of the
|
|
122
|
-
* commit specified by `orig_commit_id`.
|
|
123
|
-
* - `orig_start_line_number` is the 1-based line number where this hunk begins
|
|
124
|
-
* in the file named by `orig_path` in the commit specified by
|
|
125
|
-
* `orig_commit_id`.
|
|
126
|
-
* - `orig_signature` is the author of `orig_commit_id`. If
|
|
127
|
-
* `GIT_BLAME_USE_MAILMAP` has been specified, it will contain the canonical
|
|
128
|
-
* real name and email address.
|
|
129
|
-
* - `boundary` is 1 iff the hunk has been tracked to a boundary commit (the
|
|
130
|
-
* root, or the commit specified in git_blame_options.oldest_commit)
|
|
131
144
|
*/
|
|
132
145
|
typedef struct git_blame_hunk {
|
|
146
|
+
/**
|
|
147
|
+
* The number of lines in this hunk.
|
|
148
|
+
*/
|
|
133
149
|
size_t lines_in_hunk;
|
|
134
150
|
|
|
151
|
+
/**
|
|
152
|
+
* The OID of the commit where this line was last changed.
|
|
153
|
+
*/
|
|
135
154
|
git_oid final_commit_id;
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* The 1-based line number where this hunk begins, in the final version
|
|
158
|
+
* of the file.
|
|
159
|
+
*/
|
|
136
160
|
size_t final_start_line_number;
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* The author of `final_commit_id`. If `GIT_BLAME_USE_MAILMAP` has been
|
|
164
|
+
* specified, it will contain the canonical real name and email address.
|
|
165
|
+
*/
|
|
137
166
|
git_signature *final_signature;
|
|
138
167
|
|
|
168
|
+
/**
|
|
169
|
+
* The OID of the commit where this hunk was found.
|
|
170
|
+
* This will usually be the same as `final_commit_id`, except when
|
|
171
|
+
* `GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES` has been specified.
|
|
172
|
+
*/
|
|
139
173
|
git_oid orig_commit_id;
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* The path to the file where this hunk originated, as of the commit
|
|
177
|
+
* specified by `orig_commit_id`.
|
|
178
|
+
*/
|
|
140
179
|
const char *orig_path;
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* The 1-based line number where this hunk begins in the file named by
|
|
183
|
+
* `orig_path` in the commit specified by `orig_commit_id`.
|
|
184
|
+
*/
|
|
141
185
|
size_t orig_start_line_number;
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* The author of `orig_commit_id`. If `GIT_BLAME_USE_MAILMAP` has been
|
|
189
|
+
* specified, it will contain the canonical real name and email address.
|
|
190
|
+
*/
|
|
142
191
|
git_signature *orig_signature;
|
|
143
192
|
|
|
193
|
+
/**
|
|
194
|
+
* The 1 iff the hunk has been tracked to a boundary commit (the root,
|
|
195
|
+
* or the commit specified in git_blame_options.oldest_commit)
|
|
196
|
+
*/
|
|
144
197
|
char boundary;
|
|
145
198
|
} git_blame_hunk;
|
|
146
199
|
|
|
@@ -84,7 +84,7 @@ GIT_EXTERN(git_repository *) git_blob_owner(const git_blob *blob);
|
|
|
84
84
|
* time.
|
|
85
85
|
*
|
|
86
86
|
* @param blob pointer to the blob
|
|
87
|
-
* @return the pointer
|
|
87
|
+
* @return the pointer, or NULL on error
|
|
88
88
|
*/
|
|
89
89
|
GIT_EXTERN(const void *) git_blob_rawcontent(const git_blob *blob);
|
|
90
90
|
|
|
@@ -113,22 +113,50 @@ typedef enum {
|
|
|
113
113
|
* When set, filters will be loaded from a `.gitattributes` file
|
|
114
114
|
* in the HEAD commit.
|
|
115
115
|
*/
|
|
116
|
-
|
|
116
|
+
GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD = (1 << 2),
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* When set, filters will be loaded from a `.gitattributes` file
|
|
120
|
+
* in the specified commit.
|
|
121
|
+
*/
|
|
122
|
+
GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT = (1 << 3),
|
|
117
123
|
} git_blob_filter_flag_t;
|
|
118
124
|
|
|
119
125
|
/**
|
|
120
126
|
* The options used when applying filter options to a file.
|
|
127
|
+
*
|
|
128
|
+
* Initialize with `GIT_BLOB_FILTER_OPTIONS_INIT`. Alternatively, you can
|
|
129
|
+
* use `git_blob_filter_options_init`.
|
|
130
|
+
*
|
|
121
131
|
*/
|
|
122
132
|
typedef struct {
|
|
123
133
|
int version;
|
|
124
134
|
|
|
125
135
|
/** Flags to control the filtering process, see `git_blob_filter_flag_t` above */
|
|
126
136
|
uint32_t flags;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* The commit to load attributes from, when
|
|
140
|
+
* `GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT` is specified.
|
|
141
|
+
*/
|
|
142
|
+
git_oid *commit_id;
|
|
127
143
|
} git_blob_filter_options;
|
|
128
144
|
|
|
129
145
|
#define GIT_BLOB_FILTER_OPTIONS_VERSION 1
|
|
130
146
|
#define GIT_BLOB_FILTER_OPTIONS_INIT {GIT_BLOB_FILTER_OPTIONS_VERSION, GIT_BLOB_FILTER_CHECK_FOR_BINARY}
|
|
131
147
|
|
|
148
|
+
/**
|
|
149
|
+
* Initialize git_blob_filter_options structure
|
|
150
|
+
*
|
|
151
|
+
* Initializes a `git_blob_filter_options` with default values. Equivalent
|
|
152
|
+
* to creating an instance with `GIT_BLOB_FILTER_OPTIONS_INIT`.
|
|
153
|
+
*
|
|
154
|
+
* @param opts The `git_blob_filter_options` struct to initialize.
|
|
155
|
+
* @param version The struct version; pass `GIT_BLOB_FILTER_OPTIONS_VERSION`.
|
|
156
|
+
* @return Zero on success; -1 on failure.
|
|
157
|
+
*/
|
|
158
|
+
GIT_EXTERN(int) git_blob_filter_options_init(git_blob_filter_options *opts, unsigned int version);
|
|
159
|
+
|
|
132
160
|
/**
|
|
133
161
|
* Get a buffer with the filtered content of a blob.
|
|
134
162
|
*
|
|
@@ -229,7 +257,7 @@ GIT_EXTERN(int) git_blob_create_from_stream_commit(
|
|
|
229
257
|
* Write an in-memory buffer to the ODB as a blob
|
|
230
258
|
*
|
|
231
259
|
* @param id return the id of the written blob
|
|
232
|
-
* @param repo repository where
|
|
260
|
+
* @param repo repository where the blob will be written
|
|
233
261
|
* @param buffer data to be written into the blob
|
|
234
262
|
* @param len length of the data
|
|
235
263
|
* @return 0 or an error code
|
|
@@ -304,6 +304,31 @@ GIT_EXTERN(int) git_branch_remote_name(
|
|
|
304
304
|
*/
|
|
305
305
|
GIT_EXTERN(int) git_branch_upstream_remote(git_buf *buf, git_repository *repo, const char *refname);
|
|
306
306
|
|
|
307
|
+
/**
|
|
308
|
+
* Retrieve the upstream merge of a local branch
|
|
309
|
+
*
|
|
310
|
+
* This will return the currently configured "branch.*.merge" for a given
|
|
311
|
+
* branch. This branch must be local.
|
|
312
|
+
*
|
|
313
|
+
* @param buf the buffer into which to write the name
|
|
314
|
+
* @param repo the repository in which to look
|
|
315
|
+
* @param refname the full name of the branch
|
|
316
|
+
* @return 0 or an error code
|
|
317
|
+
*/
|
|
318
|
+
GIT_EXTERN(int) git_branch_upstream_merge(git_buf *buf, git_repository *repo, const char *refname);
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Determine whether a branch name is valid, meaning that (when prefixed
|
|
322
|
+
* with `refs/heads/`) that it is a valid reference name, and that any
|
|
323
|
+
* additional branch name restrictions are imposed (eg, it cannot start
|
|
324
|
+
* with a `-`).
|
|
325
|
+
*
|
|
326
|
+
* @param valid output pointer to set with validity of given branch name
|
|
327
|
+
* @param name a branch name to test
|
|
328
|
+
* @return 0 on success or an error code
|
|
329
|
+
*/
|
|
330
|
+
GIT_EXTERN(int) git_branch_name_is_valid(int *valid, const char *name);
|
|
331
|
+
|
|
307
332
|
/** @} */
|
|
308
333
|
GIT_END_DECL
|
|
309
334
|
#endif
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
#define INCLUDE_git_cert_h__
|
|
9
9
|
|
|
10
10
|
#include "common.h"
|
|
11
|
+
#include "types.h"
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* @file git2/cert.h
|
|
@@ -80,8 +81,27 @@ typedef enum {
|
|
|
80
81
|
GIT_CERT_SSH_SHA1 = (1 << 1),
|
|
81
82
|
/** SHA-256 is available */
|
|
82
83
|
GIT_CERT_SSH_SHA256 = (1 << 2),
|
|
84
|
+
/** Raw hostkey is available */
|
|
85
|
+
GIT_CERT_SSH_RAW = (1 << 3),
|
|
83
86
|
} git_cert_ssh_t;
|
|
84
87
|
|
|
88
|
+
typedef enum {
|
|
89
|
+
/** The raw key is of an unknown type. */
|
|
90
|
+
GIT_CERT_SSH_RAW_TYPE_UNKNOWN = 0,
|
|
91
|
+
/** The raw key is an RSA key. */
|
|
92
|
+
GIT_CERT_SSH_RAW_TYPE_RSA = 1,
|
|
93
|
+
/** The raw key is a DSS key. */
|
|
94
|
+
GIT_CERT_SSH_RAW_TYPE_DSS = 2,
|
|
95
|
+
/** The raw key is a ECDSA 256 key. */
|
|
96
|
+
GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_256 = 3,
|
|
97
|
+
/** The raw key is a ECDSA 384 key. */
|
|
98
|
+
GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_384 = 4,
|
|
99
|
+
/** The raw key is a ECDSA 521 key. */
|
|
100
|
+
GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_521 = 5,
|
|
101
|
+
/** The raw key is a ED25519 key. */
|
|
102
|
+
GIT_CERT_SSH_RAW_TYPE_KEY_ED25519 = 6
|
|
103
|
+
} git_cert_ssh_raw_type_t;
|
|
104
|
+
|
|
85
105
|
/**
|
|
86
106
|
* Hostkey information taken from libssh2
|
|
87
107
|
*/
|
|
@@ -89,28 +109,45 @@ typedef struct {
|
|
|
89
109
|
git_cert parent; /**< The parent cert */
|
|
90
110
|
|
|
91
111
|
/**
|
|
92
|
-
* A
|
|
93
|
-
* `GIT_CERT_SSH_MD5` or `GIT_CERT_SSH_SHA1`
|
|
112
|
+
* A bitmask containing the available fields.
|
|
94
113
|
*/
|
|
95
114
|
git_cert_ssh_t type;
|
|
96
115
|
|
|
97
116
|
/**
|
|
98
|
-
* Hostkey hash. If type has `GIT_CERT_SSH_MD5` set, this will
|
|
117
|
+
* Hostkey hash. If `type` has `GIT_CERT_SSH_MD5` set, this will
|
|
99
118
|
* have the MD5 hash of the hostkey.
|
|
100
119
|
*/
|
|
101
120
|
unsigned char hash_md5[16];
|
|
102
121
|
|
|
103
122
|
/**
|
|
104
|
-
* Hostkey hash. If type has `GIT_CERT_SSH_SHA1` set, this will
|
|
123
|
+
* Hostkey hash. If `type` has `GIT_CERT_SSH_SHA1` set, this will
|
|
105
124
|
* have the SHA-1 hash of the hostkey.
|
|
106
125
|
*/
|
|
107
126
|
unsigned char hash_sha1[20];
|
|
108
127
|
|
|
109
128
|
/**
|
|
110
|
-
* Hostkey hash. If type has `GIT_CERT_SSH_SHA256` set, this will
|
|
129
|
+
* Hostkey hash. If `type` has `GIT_CERT_SSH_SHA256` set, this will
|
|
111
130
|
* have the SHA-256 hash of the hostkey.
|
|
112
131
|
*/
|
|
113
132
|
unsigned char hash_sha256[32];
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Raw hostkey type. If `type` has `GIT_CERT_SSH_RAW` set, this will
|
|
136
|
+
* have the type of the raw hostkey.
|
|
137
|
+
*/
|
|
138
|
+
git_cert_ssh_raw_type_t raw_type;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Pointer to the raw hostkey. If `type` has `GIT_CERT_SSH_RAW` set,
|
|
142
|
+
* this will have the raw contents of the hostkey.
|
|
143
|
+
*/
|
|
144
|
+
const char *hostkey;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Raw hostkey length. If `type` has `GIT_CERT_SSH_RAW` set, this will
|
|
148
|
+
* have the length of the raw contents of the hostkey.
|
|
149
|
+
*/
|
|
150
|
+
size_t hostkey_len;
|
|
114
151
|
} git_cert_hostkey;
|
|
115
152
|
|
|
116
153
|
/**
|
|
@@ -177,6 +177,12 @@ typedef enum {
|
|
|
177
177
|
/** Normally checkout writes the index upon completion; this prevents that. */
|
|
178
178
|
GIT_CHECKOUT_DONT_WRITE_INDEX = (1u << 23),
|
|
179
179
|
|
|
180
|
+
/**
|
|
181
|
+
* Show what would be done by a checkout. Stop after sending
|
|
182
|
+
* notifications; don't update the working directory or index.
|
|
183
|
+
*/
|
|
184
|
+
GIT_CHECKOUT_DRY_RUN = (1u << 24),
|
|
185
|
+
|
|
180
186
|
/**
|
|
181
187
|
* THE FOLLOWING OPTIONS ARE NOT YET IMPLEMENTED
|
|
182
188
|
*/
|
|
@@ -194,18 +200,6 @@ typedef enum {
|
|
|
194
200
|
* Checkout will invoke an options notification callback (`notify_cb`) for
|
|
195
201
|
* certain cases - you pick which ones via `notify_flags`:
|
|
196
202
|
*
|
|
197
|
-
* - GIT_CHECKOUT_NOTIFY_CONFLICT invokes checkout on conflicting paths.
|
|
198
|
-
*
|
|
199
|
-
* - GIT_CHECKOUT_NOTIFY_DIRTY notifies about "dirty" files, i.e. those that
|
|
200
|
-
* do not need an update but no longer match the baseline. Core git
|
|
201
|
-
* displays these files when checkout runs, but won't stop the checkout.
|
|
202
|
-
*
|
|
203
|
-
* - GIT_CHECKOUT_NOTIFY_UPDATED sends notification for any file changed.
|
|
204
|
-
*
|
|
205
|
-
* - GIT_CHECKOUT_NOTIFY_UNTRACKED notifies about untracked files.
|
|
206
|
-
*
|
|
207
|
-
* - GIT_CHECKOUT_NOTIFY_IGNORED notifies about ignored files.
|
|
208
|
-
*
|
|
209
203
|
* Returning a non-zero value from this callback will cancel the checkout.
|
|
210
204
|
* The non-zero return value will be propagated back and returned by the
|
|
211
205
|
* git_checkout_... call.
|
|
@@ -216,10 +210,32 @@ typedef enum {
|
|
|
216
210
|
*/
|
|
217
211
|
typedef enum {
|
|
218
212
|
GIT_CHECKOUT_NOTIFY_NONE = 0,
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Invokes checkout on conflicting paths.
|
|
216
|
+
*/
|
|
219
217
|
GIT_CHECKOUT_NOTIFY_CONFLICT = (1u << 0),
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Notifies about "dirty" files, i.e. those that do not need an update
|
|
221
|
+
* but no longer match the baseline. Core git displays these files when
|
|
222
|
+
* checkout runs, but won't stop the checkout.
|
|
223
|
+
*/
|
|
220
224
|
GIT_CHECKOUT_NOTIFY_DIRTY = (1u << 1),
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Sends notification for any file changed.
|
|
228
|
+
*/
|
|
221
229
|
GIT_CHECKOUT_NOTIFY_UPDATED = (1u << 2),
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Notifies about untracked files.
|
|
233
|
+
*/
|
|
222
234
|
GIT_CHECKOUT_NOTIFY_UNTRACKED = (1u << 3),
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Notifies about ignored files.
|
|
238
|
+
*/
|
|
223
239
|
GIT_CHECKOUT_NOTIFY_IGNORED = (1u << 4),
|
|
224
240
|
|
|
225
241
|
GIT_CHECKOUT_NOTIFY_ALL = 0x0FFFFu
|
|
@@ -503,25 +503,41 @@ GIT_EXTERN(int) git_commit_create_with_signature(
|
|
|
503
503
|
GIT_EXTERN(int) git_commit_dup(git_commit **out, git_commit *source);
|
|
504
504
|
|
|
505
505
|
/**
|
|
506
|
-
* Commit
|
|
507
|
-
*
|
|
508
|
-
*
|
|
509
|
-
*
|
|
510
|
-
*
|
|
511
|
-
*
|
|
512
|
-
*
|
|
513
|
-
*
|
|
514
|
-
*
|
|
515
|
-
*
|
|
516
|
-
*
|
|
517
|
-
*
|
|
518
|
-
*
|
|
519
|
-
*
|
|
520
|
-
*
|
|
521
|
-
*
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
506
|
+
* Commit creation callback: used when a function is going to create
|
|
507
|
+
* commits (for example, in `git_rebase_commit`) to allow callers to
|
|
508
|
+
* override the commit creation behavior. For example, users may
|
|
509
|
+
* wish to sign commits by providing this information to
|
|
510
|
+
* `git_commit_create_buffer`, signing that buffer, then calling
|
|
511
|
+
* `git_commit_create_with_signature`. The resultant commit id
|
|
512
|
+
* should be set in the `out` object id parameter.
|
|
513
|
+
*
|
|
514
|
+
* @param out pointer that this callback will populate with the object
|
|
515
|
+
* id of the commit that is created
|
|
516
|
+
* @param author the author name and time of the commit
|
|
517
|
+
* @param committer the committer name and time of the commit
|
|
518
|
+
* @param message_encoding the encoding of the given message, or NULL
|
|
519
|
+
* to assume UTF8
|
|
520
|
+
* @param message the commit message
|
|
521
|
+
* @param tree the tree to be committed
|
|
522
|
+
* @param parent_count the number of parents for this commit
|
|
523
|
+
* @param parents the commit parents
|
|
524
|
+
* @param payload the payload pointer in the rebase options
|
|
525
|
+
* @return 0 if this callback has created the commit and populated the out
|
|
526
|
+
* parameter, GIT_PASSTHROUGH if the callback has not created a
|
|
527
|
+
* commit and wants the calling function to create the commit as
|
|
528
|
+
* if no callback had been specified, any other value to stop
|
|
529
|
+
* and return a failure
|
|
530
|
+
*/
|
|
531
|
+
typedef int (*git_commit_create_cb)(
|
|
532
|
+
git_oid *out,
|
|
533
|
+
const git_signature *author,
|
|
534
|
+
const git_signature *committer,
|
|
535
|
+
const char *message_encoding,
|
|
536
|
+
const char *message,
|
|
537
|
+
const git_tree *tree,
|
|
538
|
+
size_t parent_count,
|
|
539
|
+
const git_commit *parents[],
|
|
540
|
+
void *payload);
|
|
525
541
|
|
|
526
542
|
/** @} */
|
|
527
543
|
GIT_END_DECL
|