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
|
@@ -25,20 +25,16 @@ typedef struct git_strarray {
|
|
|
25
25
|
} git_strarray;
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* array is allocated and contains allocated strings, such as what you
|
|
32
|
-
* would get from `git_strarray_copy()`. Not doing so, will result in a
|
|
33
|
-
* memory leak.
|
|
28
|
+
* Free the strings contained in a string array. This method should
|
|
29
|
+
* be called on `git_strarray` objects that were provided by the
|
|
30
|
+
* library. Not doing so, will result in a memory leak.
|
|
34
31
|
*
|
|
35
32
|
* This does not free the `git_strarray` itself, since the library will
|
|
36
|
-
* never allocate that object directly itself
|
|
37
|
-
* inside another struct or created on the stack).
|
|
33
|
+
* never allocate that object directly itself.
|
|
38
34
|
*
|
|
39
|
-
* @param array git_strarray
|
|
35
|
+
* @param array The git_strarray that contains strings to free
|
|
40
36
|
*/
|
|
41
|
-
GIT_EXTERN(void)
|
|
37
|
+
GIT_EXTERN(void) git_strarray_dispose(git_strarray *array);
|
|
42
38
|
|
|
43
39
|
/**
|
|
44
40
|
* Copy a string array object from source to target.
|
|
@@ -223,6 +223,15 @@ GIT_EXTERN(int) git_submodule_lookup(
|
|
|
223
223
|
git_repository *repo,
|
|
224
224
|
const char *name);
|
|
225
225
|
|
|
226
|
+
/**
|
|
227
|
+
* Create an in-memory copy of a submodule. The copy must be explicitly
|
|
228
|
+
* free'd or it will leak.
|
|
229
|
+
*
|
|
230
|
+
* @param out Pointer to store the copy of the submodule.
|
|
231
|
+
* @param source Original submodule to copy.
|
|
232
|
+
*/
|
|
233
|
+
GIT_EXTERN(int) git_submodule_dup(git_submodule **out, git_submodule *source);
|
|
234
|
+
|
|
226
235
|
/**
|
|
227
236
|
* Release a submodule
|
|
228
237
|
*
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) the libgit2 contributors. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
|
5
|
+
* a Linking Exception. For full terms see the included COPYING file.
|
|
6
|
+
*/
|
|
7
|
+
#ifndef INCLUDE_sys_git_commit_graph_h__
|
|
8
|
+
#define INCLUDE_sys_git_commit_graph_h__
|
|
9
|
+
|
|
10
|
+
#include "git2/common.h"
|
|
11
|
+
#include "git2/types.h"
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @file git2/sys/commit_graph.h
|
|
15
|
+
* @brief Git commit-graph
|
|
16
|
+
* @defgroup git_commit_graph Git commit-graph APIs
|
|
17
|
+
* @ingroup Git
|
|
18
|
+
* @{
|
|
19
|
+
*/
|
|
20
|
+
GIT_BEGIN_DECL
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Opens a `git_commit_graph` from a path to an objects directory.
|
|
24
|
+
*
|
|
25
|
+
* This finds, opens, and validates the `commit-graph` file.
|
|
26
|
+
*
|
|
27
|
+
* @param cgraph_out the `git_commit_graph` struct to initialize.
|
|
28
|
+
* @param objects_dir the path to a git objects directory.
|
|
29
|
+
* @return Zero on success; -1 on failure.
|
|
30
|
+
*/
|
|
31
|
+
GIT_EXTERN(int) git_commit_graph_open(git_commit_graph **cgraph_out, const char *objects_dir);
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Frees commit-graph data. This should only be called when memory allocated
|
|
35
|
+
* using `git_commit_graph_open` is not returned to libgit2 because it was not
|
|
36
|
+
* associated with the ODB through a successful call to
|
|
37
|
+
* `git_odb_set_commit_graph`.
|
|
38
|
+
*
|
|
39
|
+
* @param cgraph the commit-graph object to free. If NULL, no action is taken.
|
|
40
|
+
*/
|
|
41
|
+
GIT_EXTERN(void) git_commit_graph_free(git_commit_graph *cgraph);
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Create a new writer for `commit-graph` files.
|
|
45
|
+
*
|
|
46
|
+
* @param out Location to store the writer pointer.
|
|
47
|
+
* @param objects_info_dir The `objects/info` directory.
|
|
48
|
+
* The `commit-graph` file will be written in this directory.
|
|
49
|
+
* @return 0 or an error code
|
|
50
|
+
*/
|
|
51
|
+
GIT_EXTERN(int) git_commit_graph_writer_new(
|
|
52
|
+
git_commit_graph_writer **out,
|
|
53
|
+
const char *objects_info_dir);
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Free the commit-graph writer and its resources.
|
|
57
|
+
*
|
|
58
|
+
* @param w The writer to free. If NULL no action is taken.
|
|
59
|
+
*/
|
|
60
|
+
GIT_EXTERN(void) git_commit_graph_writer_free(git_commit_graph_writer *w);
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Add an `.idx` file (associated to a packfile) to the writer.
|
|
64
|
+
*
|
|
65
|
+
* @param w The writer.
|
|
66
|
+
* @param repo The repository that owns the `.idx` file.
|
|
67
|
+
* @param idx_path The path of an `.idx` file.
|
|
68
|
+
* @return 0 or an error code
|
|
69
|
+
*/
|
|
70
|
+
GIT_EXTERN(int) git_commit_graph_writer_add_index_file(
|
|
71
|
+
git_commit_graph_writer *w,
|
|
72
|
+
git_repository *repo,
|
|
73
|
+
const char *idx_path);
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Add a revwalk to the writer. This will add all the commits from the revwalk
|
|
77
|
+
* to the commit-graph.
|
|
78
|
+
*
|
|
79
|
+
* @param w The writer.
|
|
80
|
+
* @param walk The git_revwalk.
|
|
81
|
+
* @return 0 or an error code
|
|
82
|
+
*/
|
|
83
|
+
GIT_EXTERN(int) git_commit_graph_writer_add_revwalk(
|
|
84
|
+
git_commit_graph_writer *w,
|
|
85
|
+
git_revwalk *walk);
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* The strategy to use when adding a new set of commits to a pre-existing
|
|
90
|
+
* commit-graph chain.
|
|
91
|
+
*/
|
|
92
|
+
typedef enum {
|
|
93
|
+
/**
|
|
94
|
+
* Do not split commit-graph files. The other split strategy-related option
|
|
95
|
+
* fields are ignored.
|
|
96
|
+
*/
|
|
97
|
+
GIT_COMMIT_GRAPH_SPLIT_STRATEGY_SINGLE_FILE = 0,
|
|
98
|
+
} git_commit_graph_split_strategy_t;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Options structure for
|
|
102
|
+
* `git_commit_graph_writer_commit`/`git_commit_graph_writer_dump`.
|
|
103
|
+
*
|
|
104
|
+
* Initialize with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`. Alternatively, you
|
|
105
|
+
* can use `git_commit_graph_writer_options_init`.
|
|
106
|
+
*/
|
|
107
|
+
typedef struct {
|
|
108
|
+
unsigned int version;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* The strategy to use when adding new commits to a pre-existing commit-graph
|
|
112
|
+
* chain.
|
|
113
|
+
*/
|
|
114
|
+
git_commit_graph_split_strategy_t split_strategy;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* The number of commits in level N is less than X times the number of
|
|
118
|
+
* commits in level N + 1. Default is 2.
|
|
119
|
+
*/
|
|
120
|
+
float size_multiple;
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* The number of commits in level N + 1 is more than C commits.
|
|
124
|
+
* Default is 64000.
|
|
125
|
+
*/
|
|
126
|
+
size_t max_commits;
|
|
127
|
+
} git_commit_graph_writer_options;
|
|
128
|
+
|
|
129
|
+
#define GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION 1
|
|
130
|
+
#define GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT { \
|
|
131
|
+
GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION \
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Initialize git_commit_graph_writer_options structure
|
|
136
|
+
*
|
|
137
|
+
* Initializes a `git_commit_graph_writer_options` with default values. Equivalent to
|
|
138
|
+
* creating an instance with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`.
|
|
139
|
+
*
|
|
140
|
+
* @param opts The `git_commit_graph_writer_options` struct to initialize.
|
|
141
|
+
* @param version The struct version; pass `GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION`.
|
|
142
|
+
* @return Zero on success; -1 on failure.
|
|
143
|
+
*/
|
|
144
|
+
GIT_EXTERN(int) git_commit_graph_writer_options_init(
|
|
145
|
+
git_commit_graph_writer_options *opts,
|
|
146
|
+
unsigned int version);
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Write a `commit-graph` file to a file.
|
|
150
|
+
*
|
|
151
|
+
* @param w The writer
|
|
152
|
+
* @param opts Pointer to git_commit_graph_writer_options struct.
|
|
153
|
+
* @return 0 or an error code
|
|
154
|
+
*/
|
|
155
|
+
GIT_EXTERN(int) git_commit_graph_writer_commit(
|
|
156
|
+
git_commit_graph_writer *w,
|
|
157
|
+
git_commit_graph_writer_options *opts);
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Dump the contents of the `commit-graph` to an in-memory buffer.
|
|
161
|
+
*
|
|
162
|
+
* @param buffer Buffer where to store the contents of the `commit-graph`.
|
|
163
|
+
* @param w The writer.
|
|
164
|
+
* @param opts Pointer to git_commit_graph_writer_options struct.
|
|
165
|
+
* @return 0 or an error code
|
|
166
|
+
*/
|
|
167
|
+
GIT_EXTERN(int) git_commit_graph_writer_dump(
|
|
168
|
+
git_buf *buffer,
|
|
169
|
+
git_commit_graph_writer *w,
|
|
170
|
+
git_commit_graph_writer_options *opts);
|
|
171
|
+
|
|
172
|
+
/** @} */
|
|
173
|
+
GIT_END_DECL
|
|
174
|
+
#endif
|
|
@@ -167,17 +167,18 @@ typedef void GIT_CALLBACK(git_filter_shutdown_fn)(git_filter *self);
|
|
|
167
167
|
*
|
|
168
168
|
* The `payload` will be a pointer to a reference payload for the filter.
|
|
169
169
|
* This will start as NULL, but `check` can assign to this pointer for
|
|
170
|
-
* later use by the `
|
|
171
|
-
* allocated (not stack), so that it doesn't go away before the `
|
|
170
|
+
* later use by the `stream` callback. Note that the value should be heap
|
|
171
|
+
* allocated (not stack), so that it doesn't go away before the `stream`
|
|
172
172
|
* callback can use it. If a filter allocates and assigns a value to the
|
|
173
173
|
* `payload`, it will need a `cleanup` callback to free the payload.
|
|
174
174
|
*/
|
|
175
175
|
typedef int GIT_CALLBACK(git_filter_check_fn)(
|
|
176
|
-
git_filter
|
|
177
|
-
void
|
|
176
|
+
git_filter *self,
|
|
177
|
+
void **payload, /* NULL on entry, may be set */
|
|
178
178
|
const git_filter_source *src,
|
|
179
|
-
const char
|
|
179
|
+
const char **attr_values);
|
|
180
180
|
|
|
181
|
+
#ifndef GIT_DEPRECATE_HARD
|
|
181
182
|
/**
|
|
182
183
|
* Callback to actually perform the data filtering
|
|
183
184
|
*
|
|
@@ -189,32 +190,45 @@ typedef int GIT_CALLBACK(git_filter_check_fn)(
|
|
|
189
190
|
*
|
|
190
191
|
* The `payload` value will refer to any payload that was set by the
|
|
191
192
|
* `check` callback. It may be read from or written to as needed.
|
|
193
|
+
*
|
|
194
|
+
* @deprecated use git_filter_stream_fn
|
|
192
195
|
*/
|
|
193
196
|
typedef int GIT_CALLBACK(git_filter_apply_fn)(
|
|
194
|
-
git_filter
|
|
195
|
-
void
|
|
196
|
-
git_buf
|
|
197
|
-
const git_buf
|
|
197
|
+
git_filter *self,
|
|
198
|
+
void **payload, /* may be read and/or set */
|
|
199
|
+
git_buf *to,
|
|
200
|
+
const git_buf *from,
|
|
198
201
|
const git_filter_source *src);
|
|
202
|
+
#endif
|
|
199
203
|
|
|
204
|
+
/**
|
|
205
|
+
* Callback to perform the data filtering.
|
|
206
|
+
*
|
|
207
|
+
* Specified as `filter.stream`, this is a callback that filters data
|
|
208
|
+
* in a streaming manner. This function will provide a
|
|
209
|
+
* `git_writestream` that will the original data will be written to;
|
|
210
|
+
* with that data, the `git_writestream` will then perform the filter
|
|
211
|
+
* translation and stream the filtered data out to the `next` location.
|
|
212
|
+
*/
|
|
200
213
|
typedef int GIT_CALLBACK(git_filter_stream_fn)(
|
|
201
|
-
git_writestream
|
|
202
|
-
git_filter
|
|
203
|
-
void
|
|
214
|
+
git_writestream **out,
|
|
215
|
+
git_filter *self,
|
|
216
|
+
void **payload,
|
|
204
217
|
const git_filter_source *src,
|
|
205
|
-
git_writestream
|
|
218
|
+
git_writestream *next);
|
|
206
219
|
|
|
207
220
|
/**
|
|
208
221
|
* Callback to clean up after filtering has been applied
|
|
209
222
|
*
|
|
210
223
|
* Specified as `filter.cleanup`, this is an optional callback invoked
|
|
211
|
-
* after the filter has been applied. If the `check
|
|
212
|
-
* allocated a `payload` to keep per-source filter
|
|
213
|
-
* callback to free that payload and release resources
|
|
224
|
+
* after the filter has been applied. If the `check`, `apply`, or
|
|
225
|
+
* `stream` callbacks allocated a `payload` to keep per-source filter
|
|
226
|
+
* state, use this callback to free that payload and release resources
|
|
227
|
+
* as required.
|
|
214
228
|
*/
|
|
215
229
|
typedef void GIT_CALLBACK(git_filter_cleanup_fn)(
|
|
216
|
-
git_filter
|
|
217
|
-
void
|
|
230
|
+
git_filter *self,
|
|
231
|
+
void *payload);
|
|
218
232
|
|
|
219
233
|
/**
|
|
220
234
|
* Filter structure used to register custom filters.
|
|
@@ -248,21 +262,28 @@ struct git_filter {
|
|
|
248
262
|
/**
|
|
249
263
|
* Called to determine whether the filter should be invoked for a
|
|
250
264
|
* given file. If this function returns `GIT_PASSTHROUGH` then the
|
|
251
|
-
* `apply`
|
|
252
|
-
* through unmodified.
|
|
265
|
+
* `stream` or `apply` functions will not be invoked and the
|
|
266
|
+
* contents will be passed through unmodified.
|
|
253
267
|
*/
|
|
254
268
|
git_filter_check_fn check;
|
|
255
269
|
|
|
270
|
+
#ifdef GIT_DEPRECATE_HARD
|
|
271
|
+
void *reserved;
|
|
272
|
+
#else
|
|
256
273
|
/**
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
-
*
|
|
274
|
+
* Provided for backward compatibility; this will apply the
|
|
275
|
+
* filter to the given contents in a `git_buf`. Callers should
|
|
276
|
+
* provide a `stream` function instead.
|
|
260
277
|
*/
|
|
261
278
|
git_filter_apply_fn apply;
|
|
279
|
+
#endif
|
|
262
280
|
|
|
263
281
|
/**
|
|
264
|
-
* Called to apply the filter
|
|
265
|
-
*
|
|
282
|
+
* Called to apply the filter, this function will provide a
|
|
283
|
+
* `git_writestream` that will the original data will be
|
|
284
|
+
* written to; with that data, the `git_writestream` will then
|
|
285
|
+
* perform the filter translation and stream the filtered data
|
|
286
|
+
* out to the `next` location.
|
|
266
287
|
*/
|
|
267
288
|
git_filter_stream_fn stream;
|
|
268
289
|
|
|
@@ -289,9 +310,9 @@ GIT_EXTERN(int) git_filter_init(git_filter *filter, unsigned int version);
|
|
|
289
310
|
* As mentioned elsewhere, the initialize callback will not be invoked
|
|
290
311
|
* immediately. It is deferred until the filter is used in some way.
|
|
291
312
|
*
|
|
292
|
-
* A filter's attribute checks and `check` and `
|
|
293
|
-
* issued in order of `priority` on smudge (to
|
|
294
|
-
* order of `priority` on clean (to odb).
|
|
313
|
+
* A filter's attribute checks and `check` and `stream` (or `apply`)
|
|
314
|
+
* callbacks will be issued in order of `priority` on smudge (to
|
|
315
|
+
* workdir), and in reverse order of `priority` on clean (to odb).
|
|
295
316
|
*
|
|
296
317
|
* Two filters are preregistered with libgit2:
|
|
297
318
|
* - GIT_FILTER_CRLF with priority 0
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) the libgit2 contributors. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
|
5
|
+
* a Linking Exception. For full terms see the included COPYING file.
|
|
6
|
+
*/
|
|
7
|
+
#ifndef INCLUDE_sys_git_midx_h__
|
|
8
|
+
#define INCLUDE_sys_git_midx_h__
|
|
9
|
+
|
|
10
|
+
#include "git2/common.h"
|
|
11
|
+
#include "git2/types.h"
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @file git2/midx.h
|
|
15
|
+
* @brief Git multi-pack-index routines
|
|
16
|
+
* @defgroup git_midx Git multi-pack-index routines
|
|
17
|
+
* @ingroup Git
|
|
18
|
+
* @{
|
|
19
|
+
*/
|
|
20
|
+
GIT_BEGIN_DECL
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Create a new writer for `multi-pack-index` files.
|
|
24
|
+
*
|
|
25
|
+
* @param out location to store the writer pointer.
|
|
26
|
+
* @param pack_dir the directory where the `.pack` and `.idx` files are. The
|
|
27
|
+
* `multi-pack-index` file will be written in this directory, too.
|
|
28
|
+
* @return 0 or an error code
|
|
29
|
+
*/
|
|
30
|
+
GIT_EXTERN(int) git_midx_writer_new(
|
|
31
|
+
git_midx_writer **out,
|
|
32
|
+
const char *pack_dir);
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Free the multi-pack-index writer and its resources.
|
|
36
|
+
*
|
|
37
|
+
* @param w the writer to free. If NULL no action is taken.
|
|
38
|
+
*/
|
|
39
|
+
GIT_EXTERN(void) git_midx_writer_free(git_midx_writer *w);
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Add an `.idx` file to the writer.
|
|
43
|
+
*
|
|
44
|
+
* @param w the writer
|
|
45
|
+
* @param idx_path the path of an `.idx` file.
|
|
46
|
+
* @return 0 or an error code
|
|
47
|
+
*/
|
|
48
|
+
GIT_EXTERN(int) git_midx_writer_add(
|
|
49
|
+
git_midx_writer *w,
|
|
50
|
+
const char *idx_path);
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Write a `multi-pack-index` file to a file.
|
|
54
|
+
*
|
|
55
|
+
* @param w the writer
|
|
56
|
+
* @return 0 or an error code
|
|
57
|
+
*/
|
|
58
|
+
GIT_EXTERN(int) git_midx_writer_commit(
|
|
59
|
+
git_midx_writer *w);
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Dump the contents of the `multi-pack-index` to an in-memory buffer.
|
|
63
|
+
*
|
|
64
|
+
* @param midx Buffer where to store the contents of the `multi-pack-index`.
|
|
65
|
+
* @param w the writer
|
|
66
|
+
* @return 0 or an error code
|
|
67
|
+
*/
|
|
68
|
+
GIT_EXTERN(int) git_midx_writer_dump(
|
|
69
|
+
git_buf *midx,
|
|
70
|
+
git_midx_writer *w);
|
|
71
|
+
|
|
72
|
+
/** @} */
|
|
73
|
+
GIT_END_DECL
|
|
74
|
+
#endif
|
|
@@ -84,6 +84,13 @@ struct git_odb_backend {
|
|
|
84
84
|
git_odb_writepack **, git_odb_backend *, git_odb *odb,
|
|
85
85
|
git_indexer_progress_cb progress_cb, void *progress_payload);
|
|
86
86
|
|
|
87
|
+
/**
|
|
88
|
+
* If the backend supports pack files, this will create a
|
|
89
|
+
* `multi-pack-index` file which will contain an index of all objects
|
|
90
|
+
* across all the `.pack` files.
|
|
91
|
+
*/
|
|
92
|
+
int GIT_CALLBACK(writemidx)(git_odb_backend *);
|
|
93
|
+
|
|
87
94
|
/**
|
|
88
95
|
* "Freshens" an already existing object, updating its last-used
|
|
89
96
|
* time. This occurs when `git_odb_write` was called, but the
|