rugged 1.6.3 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/rugged/rugged_allocator.c +0 -54
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +1 -0
- data/vendor/libgit2/CMakeLists.txt +25 -17
- data/vendor/libgit2/COPYING +195 -1
- data/vendor/libgit2/cmake/CheckPrototypeDefinitionSafe.cmake +16 -0
- data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
- data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
- data/vendor/libgit2/cmake/SelectGSSAPI.cmake +4 -4
- data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
- data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +34 -6
- data/vendor/libgit2/cmake/SelectHashes.cmake +32 -11
- data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
- data/vendor/libgit2/cmake/SelectSSH.cmake +22 -17
- data/vendor/libgit2/cmake/SelectXdiff.cmake +9 -0
- data/vendor/libgit2/cmake/SelectZlib.cmake +4 -0
- data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
- data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
- data/vendor/libgit2/deps/llhttp/api.c +510 -0
- data/vendor/libgit2/deps/llhttp/http.c +170 -0
- data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
- data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -1
- data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +4 -4
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +21 -21
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
- data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
- data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +1 -0
- data/vendor/libgit2/deps/pcre/LICENCE +5 -5
- data/vendor/libgit2/deps/pcre/pcre.h +2 -2
- data/vendor/libgit2/deps/pcre/pcre_compile.c +6 -3
- data/vendor/libgit2/deps/pcre/pcre_exec.c +2 -2
- data/vendor/libgit2/deps/xdiff/CMakeLists.txt +28 -0
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/git-xdiff.h +4 -1
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.c +19 -18
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.h +2 -4
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.c +3 -3
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xhistogram.c +7 -18
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmacros.h +18 -1
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmerge.c +22 -20
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xpatience.c +21 -30
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.c +13 -30
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.c +18 -1
- data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.h +2 -1
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
- data/vendor/libgit2/deps/zlib/LICENSE +22 -0
- data/vendor/libgit2/deps/zlib/adler32.c +5 -27
- data/vendor/libgit2/deps/zlib/crc32.c +94 -167
- data/vendor/libgit2/deps/zlib/deflate.c +358 -435
- data/vendor/libgit2/deps/zlib/deflate.h +41 -10
- data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
- data/vendor/libgit2/deps/zlib/infback.c +17 -30
- data/vendor/libgit2/deps/zlib/inffast.c +1 -4
- data/vendor/libgit2/deps/zlib/inffast.h +1 -1
- data/vendor/libgit2/deps/zlib/inflate.c +36 -102
- data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
- data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
- data/vendor/libgit2/deps/zlib/trees.c +287 -352
- data/vendor/libgit2/deps/zlib/zconf.h +23 -14
- data/vendor/libgit2/deps/zlib/zlib.h +202 -202
- data/vendor/libgit2/deps/zlib/zutil.c +18 -44
- data/vendor/libgit2/deps/zlib/zutil.h +13 -33
- data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
- data/vendor/libgit2/include/git2/apply.h +27 -6
- data/vendor/libgit2/include/git2/attr.h +17 -4
- data/vendor/libgit2/include/git2/blame.h +133 -28
- data/vendor/libgit2/include/git2/blob.h +71 -28
- data/vendor/libgit2/include/git2/branch.h +22 -15
- data/vendor/libgit2/include/git2/buffer.h +6 -4
- data/vendor/libgit2/include/git2/cert.h +2 -1
- data/vendor/libgit2/include/git2/checkout.h +83 -32
- data/vendor/libgit2/include/git2/cherrypick.h +10 -3
- data/vendor/libgit2/include/git2/clone.h +25 -9
- data/vendor/libgit2/include/git2/commit.h +132 -3
- data/vendor/libgit2/include/git2/common.h +138 -56
- data/vendor/libgit2/include/git2/config.h +93 -23
- data/vendor/libgit2/include/git2/credential.h +30 -2
- data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
- data/vendor/libgit2/include/git2/deprecated.h +133 -3
- data/vendor/libgit2/include/git2/describe.h +13 -1
- data/vendor/libgit2/include/git2/diff.h +77 -9
- data/vendor/libgit2/include/git2/email.h +9 -29
- data/vendor/libgit2/include/git2/errors.h +49 -74
- data/vendor/libgit2/include/git2/filter.h +14 -7
- data/vendor/libgit2/include/git2/global.h +8 -1
- data/vendor/libgit2/include/git2/graph.h +3 -2
- data/vendor/libgit2/include/git2/ignore.h +10 -0
- data/vendor/libgit2/include/git2/index.h +100 -6
- data/vendor/libgit2/include/git2/indexer.h +21 -4
- data/vendor/libgit2/include/git2/mailmap.h +7 -1
- data/vendor/libgit2/include/git2/merge.h +46 -1
- data/vendor/libgit2/include/git2/message.h +2 -2
- data/vendor/libgit2/include/git2/net.h +3 -1
- data/vendor/libgit2/include/git2/notes.h +9 -6
- data/vendor/libgit2/include/git2/object.h +9 -8
- data/vendor/libgit2/include/git2/odb.h +91 -49
- data/vendor/libgit2/include/git2/odb_backend.h +80 -52
- data/vendor/libgit2/include/git2/oid.h +24 -25
- data/vendor/libgit2/include/git2/oidarray.h +7 -1
- data/vendor/libgit2/include/git2/pack.h +13 -1
- data/vendor/libgit2/include/git2/patch.h +2 -3
- data/vendor/libgit2/include/git2/pathspec.h +9 -0
- data/vendor/libgit2/include/git2/proxy.h +10 -0
- data/vendor/libgit2/include/git2/rebase.h +9 -6
- data/vendor/libgit2/include/git2/refdb.h +2 -2
- data/vendor/libgit2/include/git2/reflog.h +3 -2
- data/vendor/libgit2/include/git2/refs.h +9 -6
- data/vendor/libgit2/include/git2/refspec.h +14 -4
- data/vendor/libgit2/include/git2/remote.h +112 -18
- data/vendor/libgit2/include/git2/repository.h +61 -15
- data/vendor/libgit2/include/git2/reset.h +16 -3
- data/vendor/libgit2/include/git2/revert.h +9 -4
- data/vendor/libgit2/include/git2/revparse.h +3 -3
- data/vendor/libgit2/include/git2/revwalk.h +3 -2
- data/vendor/libgit2/include/git2/signature.h +46 -1
- data/vendor/libgit2/include/git2/stash.h +17 -3
- data/vendor/libgit2/include/git2/status.h +10 -6
- data/vendor/libgit2/include/git2/stdint.h +87 -85
- data/vendor/libgit2/include/git2/strarray.h +2 -3
- data/vendor/libgit2/include/git2/submodule.h +20 -9
- data/vendor/libgit2/include/git2/sys/alloc.h +12 -34
- data/vendor/libgit2/include/git2/sys/commit.h +77 -3
- data/vendor/libgit2/include/git2/sys/commit_graph.h +109 -58
- data/vendor/libgit2/include/git2/sys/config.h +80 -4
- data/vendor/libgit2/include/git2/sys/credential.h +4 -3
- data/vendor/libgit2/include/git2/sys/diff.h +21 -1
- data/vendor/libgit2/include/git2/sys/email.h +7 -0
- data/vendor/libgit2/include/git2/sys/errors.h +76 -0
- data/vendor/libgit2/include/git2/sys/filter.h +66 -3
- data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
- data/vendor/libgit2/include/git2/sys/index.h +3 -2
- data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
- data/vendor/libgit2/include/git2/sys/merge.h +55 -7
- data/vendor/libgit2/include/git2/sys/midx.h +47 -4
- data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
- data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
- data/vendor/libgit2/include/git2/sys/path.h +12 -1
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
- data/vendor/libgit2/include/git2/sys/refs.h +3 -2
- data/vendor/libgit2/include/git2/sys/remote.h +8 -1
- data/vendor/libgit2/include/git2/sys/repository.h +63 -3
- data/vendor/libgit2/include/git2/sys/stream.h +25 -2
- data/vendor/libgit2/include/git2/sys/transport.h +44 -5
- data/vendor/libgit2/include/git2/tag.h +3 -1
- data/vendor/libgit2/include/git2/trace.h +9 -3
- data/vendor/libgit2/include/git2/transaction.h +3 -2
- data/vendor/libgit2/include/git2/transport.h +11 -3
- data/vendor/libgit2/include/git2/tree.h +16 -5
- data/vendor/libgit2/include/git2/types.h +19 -3
- data/vendor/libgit2/include/git2/version.h +44 -8
- data/vendor/libgit2/include/git2/worktree.h +19 -7
- data/vendor/libgit2/src/CMakeLists.txt +40 -15
- data/vendor/libgit2/src/cli/CMakeLists.txt +2 -2
- data/vendor/libgit2/src/cli/cmd.c +1 -1
- data/vendor/libgit2/src/cli/cmd.h +4 -0
- data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
- data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
- data/vendor/libgit2/src/cli/cmd_clone.c +27 -13
- data/vendor/libgit2/src/cli/cmd_config.c +241 -0
- data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
- data/vendor/libgit2/src/cli/cmd_help.c +6 -7
- data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
- data/vendor/libgit2/src/cli/cmd_init.c +102 -0
- data/vendor/libgit2/src/cli/common.c +168 -0
- data/vendor/libgit2/src/cli/common.h +63 -0
- data/vendor/libgit2/src/cli/error.h +1 -1
- data/vendor/libgit2/src/cli/main.c +52 -24
- data/vendor/libgit2/src/cli/opt.c +29 -3
- data/vendor/libgit2/src/cli/opt.h +21 -3
- data/vendor/libgit2/src/cli/opt_usage.c +102 -33
- data/vendor/libgit2/src/cli/opt_usage.h +6 -1
- data/vendor/libgit2/src/cli/progress.c +60 -10
- data/vendor/libgit2/src/cli/progress.h +16 -4
- data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
- data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
- data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
- data/vendor/libgit2/src/libgit2/CMakeLists.txt +27 -27
- data/vendor/libgit2/src/libgit2/annotated_commit.c +2 -2
- data/vendor/libgit2/src/libgit2/annotated_commit.h +1 -1
- data/vendor/libgit2/src/libgit2/apply.c +14 -16
- data/vendor/libgit2/src/libgit2/attr.c +30 -13
- data/vendor/libgit2/src/libgit2/attr_file.c +7 -2
- data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
- data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
- data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
- data/vendor/libgit2/src/libgit2/blame.c +152 -59
- data/vendor/libgit2/src/libgit2/blame.h +1 -0
- data/vendor/libgit2/src/libgit2/blame_git.c +0 -1
- data/vendor/libgit2/src/libgit2/branch.c +2 -2
- data/vendor/libgit2/src/libgit2/cache.c +22 -17
- data/vendor/libgit2/src/libgit2/cache.h +7 -9
- data/vendor/libgit2/src/libgit2/checkout.c +34 -24
- data/vendor/libgit2/src/libgit2/checkout.h +0 -2
- data/vendor/libgit2/src/libgit2/cherrypick.c +4 -5
- data/vendor/libgit2/src/libgit2/clone.c +186 -164
- data/vendor/libgit2/src/libgit2/clone.h +4 -1
- data/vendor/libgit2/src/libgit2/commit.c +123 -9
- data/vendor/libgit2/src/libgit2/commit_graph.c +166 -88
- data/vendor/libgit2/src/libgit2/commit_graph.h +21 -6
- data/vendor/libgit2/src/libgit2/commit_list.c +12 -5
- data/vendor/libgit2/src/libgit2/commit_list.h +1 -0
- data/vendor/libgit2/src/libgit2/config.c +394 -300
- data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
- data/vendor/libgit2/src/libgit2/config.h +9 -4
- data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
- data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
- data/vendor/libgit2/src/libgit2/config_file.c +113 -96
- data/vendor/libgit2/src/libgit2/config_list.c +285 -0
- data/vendor/libgit2/src/libgit2/config_list.h +32 -0
- data/vendor/libgit2/src/libgit2/config_mem.c +194 -40
- data/vendor/libgit2/src/libgit2/config_parse.c +10 -9
- data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
- data/vendor/libgit2/src/libgit2/describe.c +34 -31
- data/vendor/libgit2/src/libgit2/diff.c +17 -8
- data/vendor/libgit2/src/libgit2/diff.h +6 -6
- data/vendor/libgit2/src/libgit2/diff_driver.c +12 -19
- data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
- data/vendor/libgit2/src/libgit2/diff_file.c +7 -7
- data/vendor/libgit2/src/libgit2/diff_generate.c +39 -18
- data/vendor/libgit2/src/libgit2/diff_parse.c +22 -6
- data/vendor/libgit2/src/libgit2/diff_print.c +88 -13
- data/vendor/libgit2/src/libgit2/diff_tform.c +40 -12
- data/vendor/libgit2/src/libgit2/diff_xdiff.h +1 -1
- data/vendor/libgit2/src/libgit2/email.c +5 -3
- data/vendor/libgit2/src/libgit2/fetch.c +39 -9
- data/vendor/libgit2/src/libgit2/fetch.h +0 -2
- data/vendor/libgit2/src/libgit2/fetchhead.c +11 -9
- data/vendor/libgit2/src/libgit2/filter.c +5 -5
- data/vendor/libgit2/src/libgit2/git2.rc +3 -3
- data/vendor/libgit2/src/libgit2/grafts.c +270 -0
- data/vendor/libgit2/src/libgit2/grafts.h +35 -0
- data/vendor/libgit2/src/libgit2/graph.c +1 -1
- data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
- data/vendor/libgit2/src/libgit2/ident.c +3 -3
- data/vendor/libgit2/src/libgit2/ignore.c +9 -5
- data/vendor/libgit2/src/libgit2/index.c +392 -208
- data/vendor/libgit2/src/libgit2/index.h +16 -3
- data/vendor/libgit2/src/libgit2/index_map.c +95 -0
- data/vendor/libgit2/src/libgit2/index_map.h +28 -0
- data/vendor/libgit2/src/libgit2/indexer.c +44 -41
- data/vendor/libgit2/src/libgit2/iterator.c +34 -13
- data/vendor/libgit2/src/libgit2/iterator.h +3 -0
- data/vendor/libgit2/src/libgit2/libgit2.c +155 -331
- data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
- data/vendor/libgit2/src/libgit2/merge.c +56 -46
- data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
- data/vendor/libgit2/src/libgit2/merge_file.c +0 -2
- data/vendor/libgit2/src/libgit2/midx.c +86 -44
- data/vendor/libgit2/src/libgit2/midx.h +13 -3
- data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
- data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
- data/vendor/libgit2/src/libgit2/notes.c +9 -8
- data/vendor/libgit2/src/libgit2/object.c +42 -16
- data/vendor/libgit2/src/libgit2/object.h +6 -0
- data/vendor/libgit2/src/libgit2/odb.c +16 -9
- data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
- data/vendor/libgit2/src/libgit2/odb_pack.c +28 -7
- data/vendor/libgit2/src/libgit2/oid.c +35 -2
- data/vendor/libgit2/src/libgit2/oid.h +11 -0
- data/vendor/libgit2/src/libgit2/oidarray.c +49 -3
- data/vendor/libgit2/src/libgit2/oidarray.h +5 -1
- data/vendor/libgit2/src/libgit2/pack-objects.c +77 -43
- data/vendor/libgit2/src/libgit2/pack-objects.h +17 -6
- data/vendor/libgit2/src/libgit2/pack.c +33 -27
- data/vendor/libgit2/src/libgit2/pack.h +15 -10
- data/vendor/libgit2/src/libgit2/parse.c +7 -4
- data/vendor/libgit2/src/libgit2/parse.h +1 -1
- data/vendor/libgit2/src/libgit2/patch.h +7 -1
- data/vendor/libgit2/src/libgit2/patch_generate.c +24 -5
- data/vendor/libgit2/src/libgit2/patch_parse.c +18 -10
- data/vendor/libgit2/src/libgit2/path.c +1 -1
- data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
- data/vendor/libgit2/src/libgit2/push.c +81 -30
- data/vendor/libgit2/src/libgit2/push.h +1 -0
- data/vendor/libgit2/src/libgit2/reader.c +1 -1
- data/vendor/libgit2/src/libgit2/rebase.c +72 -84
- data/vendor/libgit2/src/libgit2/refdb_fs.c +146 -70
- data/vendor/libgit2/src/libgit2/reflog.c +1 -2
- data/vendor/libgit2/src/libgit2/reflog.h +2 -0
- data/vendor/libgit2/src/libgit2/refs.c +34 -8
- data/vendor/libgit2/src/libgit2/refs.h +6 -1
- data/vendor/libgit2/src/libgit2/refspec.c +28 -1
- data/vendor/libgit2/src/libgit2/refspec.h +8 -0
- data/vendor/libgit2/src/libgit2/remote.c +136 -67
- data/vendor/libgit2/src/libgit2/remote.h +1 -0
- data/vendor/libgit2/src/libgit2/repository.c +789 -330
- data/vendor/libgit2/src/libgit2/repository.h +22 -3
- data/vendor/libgit2/src/libgit2/reset.c +2 -2
- data/vendor/libgit2/src/libgit2/revert.c +9 -13
- data/vendor/libgit2/src/libgit2/revparse.c +6 -3
- data/vendor/libgit2/src/libgit2/revwalk.c +36 -11
- data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
- data/vendor/libgit2/src/libgit2/settings.c +468 -0
- data/vendor/libgit2/src/libgit2/settings.h +6 -2
- data/vendor/libgit2/src/libgit2/signature.c +132 -15
- data/vendor/libgit2/src/libgit2/signature.h +0 -1
- data/vendor/libgit2/src/libgit2/stash.c +9 -8
- data/vendor/libgit2/src/libgit2/status.c +1 -1
- data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -61
- data/vendor/libgit2/src/libgit2/streams/openssl.c +40 -23
- data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
- data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
- data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
- data/vendor/libgit2/src/libgit2/streams/schannel.c +715 -0
- data/vendor/libgit2/src/libgit2/streams/schannel.h +28 -0
- data/vendor/libgit2/src/libgit2/streams/socket.c +237 -51
- data/vendor/libgit2/src/libgit2/streams/socket.h +3 -1
- data/vendor/libgit2/src/libgit2/streams/stransport.c +79 -19
- data/vendor/libgit2/src/libgit2/streams/tls.c +5 -0
- data/vendor/libgit2/src/libgit2/submodule.c +106 -63
- data/vendor/libgit2/src/libgit2/submodule.h +9 -10
- data/vendor/libgit2/src/libgit2/tag.c +1 -1
- data/vendor/libgit2/src/libgit2/trailer.c +6 -6
- data/vendor/libgit2/src/libgit2/transaction.c +26 -20
- data/vendor/libgit2/src/libgit2/transaction.h +4 -1
- data/vendor/libgit2/src/libgit2/transport.c +4 -1
- data/vendor/libgit2/src/libgit2/transports/auth.h +1 -2
- data/vendor/libgit2/src/libgit2/transports/{auth_negotiate.c → auth_gssapi.c} +32 -32
- data/vendor/libgit2/src/libgit2/transports/auth_negotiate.h +1 -1
- data/vendor/libgit2/src/libgit2/transports/auth_ntlm.h +1 -1
- data/vendor/libgit2/src/libgit2/transports/{auth_ntlm.c → auth_ntlmclient.c} +12 -12
- data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +341 -0
- data/vendor/libgit2/src/libgit2/transports/credential.c +1 -1
- data/vendor/libgit2/src/libgit2/transports/git.c +7 -8
- data/vendor/libgit2/src/libgit2/transports/http.c +8 -4
- data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
- data/vendor/libgit2/src/libgit2/transports/httpclient.c +117 -72
- data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
- data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
- data/vendor/libgit2/src/libgit2/transports/local.c +21 -11
- data/vendor/libgit2/src/libgit2/transports/smart.c +50 -32
- data/vendor/libgit2/src/libgit2/transports/smart.h +26 -9
- data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +139 -18
- data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +209 -57
- data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
- data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
- data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
- data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1126 -0
- data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
- data/vendor/libgit2/src/libgit2/transports/winhttp.c +48 -21
- data/vendor/libgit2/src/libgit2/tree-cache.c +26 -16
- data/vendor/libgit2/src/libgit2/tree-cache.h +5 -3
- data/vendor/libgit2/src/libgit2/tree.c +35 -27
- data/vendor/libgit2/src/libgit2/tree.h +3 -2
- data/vendor/libgit2/src/libgit2/worktree.c +39 -27
- data/vendor/libgit2/src/util/CMakeLists.txt +4 -6
- data/vendor/libgit2/src/util/alloc.c +69 -7
- data/vendor/libgit2/src/util/alloc.h +34 -9
- data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
- data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
- data/vendor/libgit2/src/util/allocators/failalloc.c +0 -60
- data/vendor/libgit2/src/util/allocators/failalloc.h +0 -6
- data/vendor/libgit2/src/util/allocators/stdalloc.c +2 -115
- data/vendor/libgit2/src/util/allocators/win32_leakcheck.c +0 -68
- data/vendor/libgit2/src/util/array.h +24 -18
- data/vendor/libgit2/src/util/cc-compat.h +4 -0
- data/vendor/libgit2/src/util/ctype_compat.h +70 -0
- data/vendor/libgit2/src/util/date.c +22 -14
- data/vendor/libgit2/src/util/date.h +12 -0
- data/vendor/libgit2/src/util/errors.c +401 -0
- data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
- data/vendor/libgit2/src/util/filebuf.c +6 -1
- data/vendor/libgit2/src/util/filebuf.h +19 -6
- data/vendor/libgit2/src/util/fs_path.c +16 -5
- data/vendor/libgit2/src/util/fs_path.h +23 -0
- data/vendor/libgit2/src/util/futils.c +14 -10
- data/vendor/libgit2/src/util/futils.h +13 -4
- data/vendor/libgit2/src/util/git2_features.h.in +21 -4
- data/vendor/libgit2/src/util/git2_util.h +6 -0
- data/vendor/libgit2/src/util/hash/openssl.c +152 -0
- data/vendor/libgit2/src/util/hash/openssl.h +17 -1
- data/vendor/libgit2/src/util/hash/sha.h +4 -1
- data/vendor/libgit2/src/util/hashmap.h +424 -0
- data/vendor/libgit2/src/util/hashmap_str.h +43 -0
- data/vendor/libgit2/src/util/integer.h +3 -1
- data/vendor/libgit2/src/util/net.c +318 -161
- data/vendor/libgit2/src/util/net.h +27 -0
- data/vendor/libgit2/src/util/pool.c +1 -1
- data/vendor/libgit2/src/util/pool.h +5 -0
- data/vendor/libgit2/src/util/posix.c +54 -0
- data/vendor/libgit2/src/util/posix.h +22 -0
- data/vendor/libgit2/src/util/pqueue.h +1 -1
- data/vendor/libgit2/src/util/process.h +222 -0
- data/vendor/libgit2/src/util/rand.c +6 -10
- data/vendor/libgit2/src/util/regexp.c +1 -1
- data/vendor/libgit2/src/util/sortedcache.c +14 -13
- data/vendor/libgit2/src/util/sortedcache.h +3 -3
- data/vendor/libgit2/src/util/staticstr.h +66 -0
- data/vendor/libgit2/src/util/str.c +2 -2
- data/vendor/libgit2/src/util/strlist.c +108 -0
- data/vendor/libgit2/src/util/strlist.h +36 -0
- data/vendor/libgit2/src/util/unix/posix.h +0 -2
- data/vendor/libgit2/src/util/unix/process.c +629 -0
- data/vendor/libgit2/src/util/unix/realpath.c +23 -5
- data/vendor/libgit2/src/util/util.c +17 -12
- data/vendor/libgit2/src/util/util.h +28 -54
- data/vendor/libgit2/src/util/vector.c +3 -3
- data/vendor/libgit2/src/util/vector.h +2 -2
- data/vendor/libgit2/src/util/win32/error.c +1 -1
- data/vendor/libgit2/src/util/win32/path_w32.c +8 -8
- data/vendor/libgit2/src/util/win32/posix_w32.c +30 -7
- data/vendor/libgit2/src/util/win32/process.c +506 -0
- data/vendor/libgit2/src/util/win32/utf-conv.c +73 -75
- data/vendor/libgit2/src/util/win32/utf-conv.h +81 -14
- data/vendor/libgit2/src/util/win32/w32_util.c +1 -1
- metadata +72 -49
- data/vendor/libgit2/cmake/SelectWinHTTP.cmake +0 -17
- data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
- data/vendor/libgit2/deps/http-parser/COPYING +0 -23
- data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
- data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
- data/vendor/libgit2/deps/zlib/COPYING +0 -27
- data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
- data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
- data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
- data/vendor/libgit2/src/libgit2/errors.c +0 -238
- data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
- data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
- data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
- data/vendor/libgit2/src/libgit2/netops.c +0 -124
- data/vendor/libgit2/src/libgit2/netops.h +0 -68
- data/vendor/libgit2/src/libgit2/offmap.c +0 -101
- data/vendor/libgit2/src/libgit2/offmap.h +0 -133
- data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
- data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
- data/vendor/libgit2/src/libgit2/threadstate.c +0 -84
- data/vendor/libgit2/src/libgit2/threadstate.h +0 -24
- data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
- data/vendor/libgit2/src/util/khash.h +0 -615
- data/vendor/libgit2/src/util/strmap.c +0 -100
- data/vendor/libgit2/src/util/strmap.h +0 -131
- /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiff.h +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.h +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xinclude.h +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.h +0 -0
- /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xtypes.h +0 -0
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
/**
|
17
17
|
* @file git2/odb.h
|
18
|
-
* @brief
|
18
|
+
* @brief An object database manages the storage of git objects
|
19
19
|
* @defgroup git_odb Git object database routines
|
20
20
|
* @ingroup Git
|
21
21
|
* @{
|
@@ -35,6 +35,10 @@ typedef enum {
|
|
35
35
|
|
36
36
|
/**
|
37
37
|
* Function type for callbacks from git_odb_foreach.
|
38
|
+
*
|
39
|
+
* @param id an id of an object in the object database
|
40
|
+
* @param payload the payload from the initial call to git_odb_foreach
|
41
|
+
* @return 0 on success, or an error code
|
38
42
|
*/
|
39
43
|
typedef int GIT_CALLBACK(git_odb_foreach_cb)(const git_oid *id, void *payload);
|
40
44
|
|
@@ -49,30 +53,53 @@ typedef struct {
|
|
49
53
|
git_oid_t oid_type;
|
50
54
|
} git_odb_options;
|
51
55
|
|
52
|
-
|
56
|
+
/** The current version of the diff options structure */
|
53
57
|
#define GIT_ODB_OPTIONS_VERSION 1
|
54
58
|
|
55
|
-
|
59
|
+
/**
|
60
|
+
* Stack initializer for odb options. Alternatively use
|
56
61
|
* `git_odb_options_init` programmatic initialization.
|
57
62
|
*/
|
58
63
|
#define GIT_ODB_OPTIONS_INIT { GIT_ODB_OPTIONS_VERSION }
|
59
64
|
|
65
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
66
|
+
|
60
67
|
/**
|
61
68
|
* Create a new object database with no backends.
|
62
69
|
*
|
63
|
-
*
|
64
|
-
*
|
70
|
+
* @param[out] odb location to store the database pointer, if opened.
|
71
|
+
* @param opts the options for this object database or NULL for defaults
|
72
|
+
* @return 0 or an error code
|
73
|
+
*/
|
74
|
+
GIT_EXTERN(int) git_odb_new(git_odb **odb, const git_odb_options *opts);
|
75
|
+
|
76
|
+
/**
|
77
|
+
* Create a new object database and automatically add loose and packed
|
78
|
+
* backends.
|
65
79
|
*
|
66
|
-
* @param
|
80
|
+
* @param[out] odb_out location to store the database pointer, if opened.
|
67
81
|
* Set to NULL if the open failed.
|
82
|
+
* @param objects_dir path of the backends' "objects" directory.
|
68
83
|
* @param opts the options for this object database or NULL for defaults
|
69
84
|
* @return 0 or an error code
|
70
85
|
*/
|
71
|
-
|
72
|
-
|
86
|
+
GIT_EXTERN(int) git_odb_open(
|
87
|
+
git_odb **odb_out,
|
88
|
+
const char *objects_dir,
|
89
|
+
const git_odb_options *opts);
|
90
|
+
|
73
91
|
#else
|
74
|
-
|
75
|
-
|
92
|
+
|
93
|
+
/**
|
94
|
+
* Create a new object database with no backends.
|
95
|
+
*
|
96
|
+
* Before the ODB can be used for read/writing, a custom database
|
97
|
+
* backend must be manually added using `git_odb_add_backend()`
|
98
|
+
*
|
99
|
+
* @param[out] odb location to store the database pointer, if opened.
|
100
|
+
* @return 0 or an error code
|
101
|
+
*/
|
102
|
+
GIT_EXTERN(int) git_odb_new(git_odb **odb);
|
76
103
|
|
77
104
|
/**
|
78
105
|
* Create a new object database and automatically add
|
@@ -85,19 +112,12 @@ GIT_EXTERN(int) git_odb_new(git_odb **out);
|
|
85
112
|
* assuming `objects_dir` as the Objects folder which
|
86
113
|
* contains a 'pack/' folder with the corresponding data
|
87
114
|
*
|
88
|
-
* @param
|
115
|
+
* @param[out] odb_out location to store the database pointer, if opened.
|
89
116
|
* Set to NULL if the open failed.
|
90
117
|
* @param objects_dir path of the backends' "objects" directory.
|
91
|
-
* @param opts the options for this object database or NULL for defaults
|
92
118
|
* @return 0 or an error code
|
93
119
|
*/
|
94
|
-
|
95
|
-
GIT_EXTERN(int) git_odb_open(
|
96
|
-
git_odb **out,
|
97
|
-
const char *objects_dir,
|
98
|
-
const git_odb_options *opts);
|
99
|
-
#else
|
100
|
-
GIT_EXTERN(int) git_odb_open(git_odb **out, const char *objects_dir);
|
120
|
+
GIT_EXTERN(int) git_odb_open(git_odb **odb_out, const char *objects_dir);
|
101
121
|
#endif
|
102
122
|
|
103
123
|
/**
|
@@ -134,13 +154,13 @@ GIT_EXTERN(void) git_odb_free(git_odb *db);
|
|
134
154
|
* internally cached, so it should be closed
|
135
155
|
* by the user once it's no longer in use.
|
136
156
|
*
|
137
|
-
* @param
|
157
|
+
* @param[out] obj pointer where to store the read object
|
138
158
|
* @param db database to search for the object in.
|
139
159
|
* @param id identity of the object to read.
|
140
160
|
* @return 0 if the object was read, GIT_ENOTFOUND if the object is
|
141
161
|
* not in the database.
|
142
162
|
*/
|
143
|
-
GIT_EXTERN(int) git_odb_read(git_odb_object **
|
163
|
+
GIT_EXTERN(int) git_odb_read(git_odb_object **obj, git_odb *db, const git_oid *id);
|
144
164
|
|
145
165
|
/**
|
146
166
|
* Read an object from the database, given a prefix
|
@@ -160,7 +180,7 @@ GIT_EXTERN(int) git_odb_read(git_odb_object **out, git_odb *db, const git_oid *i
|
|
160
180
|
* internally cached, so it should be closed
|
161
181
|
* by the user once it's no longer in use.
|
162
182
|
*
|
163
|
-
* @param
|
183
|
+
* @param[out] obj pointer where to store the read object
|
164
184
|
* @param db database to search for the object in.
|
165
185
|
* @param short_id a prefix of the id of the object to read.
|
166
186
|
* @param len the length of the prefix
|
@@ -168,7 +188,7 @@ GIT_EXTERN(int) git_odb_read(git_odb_object **out, git_odb *db, const git_oid *i
|
|
168
188
|
* database. GIT_EAMBIGUOUS if the prefix is ambiguous
|
169
189
|
* (several objects match the prefix)
|
170
190
|
*/
|
171
|
-
GIT_EXTERN(int) git_odb_read_prefix(git_odb_object **
|
191
|
+
GIT_EXTERN(int) git_odb_read_prefix(git_odb_object **obj, git_odb *db, const git_oid *short_id, size_t len);
|
172
192
|
|
173
193
|
/**
|
174
194
|
* Read the header of an object from the database, without
|
@@ -180,8 +200,8 @@ GIT_EXTERN(int) git_odb_read_prefix(git_odb_object **out, git_odb *db, const git
|
|
180
200
|
* of an object, so the whole object will be read and then the
|
181
201
|
* header will be returned.
|
182
202
|
*
|
183
|
-
* @param len_out pointer where to store the length
|
184
|
-
* @param type_out pointer where to store the type
|
203
|
+
* @param[out] len_out pointer where to store the length
|
204
|
+
* @param[out] type_out pointer where to store the type
|
185
205
|
* @param db database to search for the object in.
|
186
206
|
* @param id identity of the object to read.
|
187
207
|
* @return 0 if the object was read, GIT_ENOTFOUND if the object is not
|
@@ -286,7 +306,7 @@ GIT_EXTERN(int) git_odb_expand_ids(
|
|
286
306
|
* @param db database to refresh
|
287
307
|
* @return 0 on success, error code otherwise
|
288
308
|
*/
|
289
|
-
GIT_EXTERN(int) git_odb_refresh(
|
309
|
+
GIT_EXTERN(int) git_odb_refresh(git_odb *db);
|
290
310
|
|
291
311
|
/**
|
292
312
|
* List all objects available in the database
|
@@ -301,7 +321,10 @@ GIT_EXTERN(int) git_odb_refresh(struct git_odb *db);
|
|
301
321
|
* @param payload data to pass to the callback
|
302
322
|
* @return 0 on success, non-zero callback return value, or error code
|
303
323
|
*/
|
304
|
-
GIT_EXTERN(int) git_odb_foreach(
|
324
|
+
GIT_EXTERN(int) git_odb_foreach(
|
325
|
+
git_odb *db,
|
326
|
+
git_odb_foreach_cb cb,
|
327
|
+
void *payload);
|
305
328
|
|
306
329
|
/**
|
307
330
|
* Write an object directly into the ODB
|
@@ -316,7 +339,7 @@ GIT_EXTERN(int) git_odb_foreach(git_odb *db, git_odb_foreach_cb cb, void *payloa
|
|
316
339
|
*
|
317
340
|
* @param out pointer to store the OID result of the write
|
318
341
|
* @param odb object database where to store the object
|
319
|
-
* @param data buffer with the data to store
|
342
|
+
* @param data @type `const unsigned char *` buffer with the data to store
|
320
343
|
* @param len size of the buffer
|
321
344
|
* @param type type of the data to store
|
322
345
|
* @return 0 or an error code
|
@@ -382,7 +405,7 @@ GIT_EXTERN(int) git_odb_stream_finalize_write(git_oid *out, git_odb_stream *stre
|
|
382
405
|
* @param stream the stream
|
383
406
|
* @param buffer a user-allocated buffer to store the data in.
|
384
407
|
* @param len the buffer's length
|
385
|
-
* @return
|
408
|
+
* @return the number of bytes read if succeeded, error code otherwise
|
386
409
|
*/
|
387
410
|
GIT_EXTERN(int) git_odb_stream_read(git_odb_stream *stream, char *buffer, size_t len);
|
388
411
|
|
@@ -466,29 +489,54 @@ GIT_EXTERN(int) git_odb_write_pack(
|
|
466
489
|
GIT_EXTERN(int) git_odb_write_multi_pack_index(
|
467
490
|
git_odb *db);
|
468
491
|
|
492
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
493
|
+
|
469
494
|
/**
|
470
|
-
*
|
495
|
+
* Generate the object ID (in SHA1 or SHA256 format) for a given data buffer.
|
471
496
|
*
|
472
|
-
*
|
473
|
-
* the data buffer it were to written to the ODB.
|
474
|
-
*
|
475
|
-
* @param out the resulting object-ID.
|
497
|
+
* @param[out] oid the resulting object ID.
|
476
498
|
* @param data data to hash
|
477
499
|
* @param len size of the data
|
478
500
|
* @param object_type of the data to hash
|
479
501
|
* @param oid_type the oid type to hash to
|
480
502
|
* @return 0 or an error code
|
481
503
|
*/
|
482
|
-
#ifdef GIT_EXPERIMENTAL_SHA256
|
483
504
|
GIT_EXTERN(int) git_odb_hash(
|
484
|
-
git_oid *
|
505
|
+
git_oid *oid,
|
485
506
|
const void *data,
|
486
507
|
size_t len,
|
487
508
|
git_object_t object_type,
|
488
509
|
git_oid_t oid_type);
|
510
|
+
|
511
|
+
/**
|
512
|
+
* Determine the object ID of a file on disk.
|
513
|
+
*
|
514
|
+
* @param[out] oid oid structure the result is written into.
|
515
|
+
* @param path file to read and determine object id for
|
516
|
+
* @param object_type of the data to hash
|
517
|
+
* @param oid_type the oid type to hash to
|
518
|
+
* @return 0 or an error code
|
519
|
+
*/
|
520
|
+
GIT_EXTERN(int) git_odb_hashfile(
|
521
|
+
git_oid *oid,
|
522
|
+
const char *path,
|
523
|
+
git_object_t object_type,
|
524
|
+
git_oid_t oid_type);
|
489
525
|
#else
|
490
|
-
|
491
|
-
|
526
|
+
|
527
|
+
/**
|
528
|
+
* Determine the object-ID (sha1 or sha256 hash) of a data buffer
|
529
|
+
*
|
530
|
+
* The resulting OID will be the identifier for the data buffer as if
|
531
|
+
* the data buffer it were to written to the ODB.
|
532
|
+
*
|
533
|
+
* @param[out] oid the resulting object-ID.
|
534
|
+
* @param data data to hash
|
535
|
+
* @param len size of the data
|
536
|
+
* @param object_type of the data to hash
|
537
|
+
* @return 0 or an error code
|
538
|
+
*/
|
539
|
+
GIT_EXTERN(int) git_odb_hash(git_oid *oid, const void *data, size_t len, git_object_t object_type);
|
492
540
|
|
493
541
|
/**
|
494
542
|
* Read a file from disk and fill a git_oid with the object id
|
@@ -498,20 +546,13 @@ GIT_EXTERN(int) git_odb_hash(git_oid *out, const void *data, size_t len, git_obj
|
|
498
546
|
* the `-w` flag, however, with the --no-filters flag.
|
499
547
|
* If you need filters, see git_repository_hashfile.
|
500
548
|
*
|
501
|
-
* @param
|
549
|
+
* @param[out] oid oid structure the result is written into.
|
502
550
|
* @param path file to read and determine object id for
|
503
551
|
* @param object_type of the data to hash
|
504
|
-
* @param oid_type the oid type to hash to
|
505
552
|
* @return 0 or an error code
|
506
553
|
*/
|
507
|
-
|
508
|
-
|
509
|
-
git_oid *out,
|
510
|
-
const char *path,
|
511
|
-
git_object_t object_type,
|
512
|
-
git_oid_t oid_type);
|
513
|
-
#else
|
514
|
-
GIT_EXTERN(int) git_odb_hashfile(git_oid *out, const char *path, git_object_t type);
|
554
|
+
GIT_EXTERN(int) git_odb_hashfile(git_oid *oid, const char *path, git_object_t object_type);
|
555
|
+
|
515
556
|
#endif
|
516
557
|
|
517
558
|
/**
|
@@ -557,7 +598,7 @@ GIT_EXTERN(const git_oid *) git_odb_object_id(git_odb_object *object);
|
|
557
598
|
* This pointer is owned by the object and shall not be free'd.
|
558
599
|
*
|
559
600
|
* @param object the object
|
560
|
-
* @return a pointer to the data
|
601
|
+
* @return @type `const unsigned char *` a pointer to the data
|
561
602
|
*/
|
562
603
|
GIT_EXTERN(const void *) git_odb_object_data(git_odb_object *object);
|
563
604
|
|
@@ -651,4 +692,5 @@ GIT_EXTERN(int) git_odb_set_commit_graph(git_odb *odb, git_commit_graph *cgraph)
|
|
651
692
|
|
652
693
|
/** @} */
|
653
694
|
GIT_END_DECL
|
695
|
+
|
654
696
|
#endif
|
@@ -13,17 +13,13 @@
|
|
13
13
|
|
14
14
|
/**
|
15
15
|
* @file git2/backend.h
|
16
|
-
* @brief
|
16
|
+
* @brief Object database backends manage the storage of git objects
|
17
17
|
* @defgroup git_odb Git object database routines
|
18
18
|
* @ingroup Git
|
19
19
|
* @{
|
20
20
|
*/
|
21
21
|
GIT_BEGIN_DECL
|
22
22
|
|
23
|
-
/*
|
24
|
-
* Constructors for in-box ODB backends.
|
25
|
-
*/
|
26
|
-
|
27
23
|
/** Options for configuring a packfile object backend. */
|
28
24
|
typedef struct {
|
29
25
|
unsigned int version; /**< version for the struct */
|
@@ -35,56 +31,16 @@ typedef struct {
|
|
35
31
|
git_oid_t oid_type;
|
36
32
|
} git_odb_backend_pack_options;
|
37
33
|
|
38
|
-
|
34
|
+
/** The current version of the diff options structure */
|
39
35
|
#define GIT_ODB_BACKEND_PACK_OPTIONS_VERSION 1
|
40
36
|
|
41
|
-
|
37
|
+
/**
|
38
|
+
* Stack initializer for odb pack backend options. Alternatively use
|
42
39
|
* `git_odb_backend_pack_options_init` programmatic initialization.
|
43
40
|
*/
|
44
41
|
#define GIT_ODB_BACKEND_PACK_OPTIONS_INIT \
|
45
42
|
{ GIT_ODB_BACKEND_PACK_OPTIONS_VERSION }
|
46
43
|
|
47
|
-
/**
|
48
|
-
* Create a backend for the packfiles.
|
49
|
-
*
|
50
|
-
* @param out location to store the odb backend pointer
|
51
|
-
* @param objects_dir the Git repository's objects directory
|
52
|
-
*
|
53
|
-
* @return 0 or an error code
|
54
|
-
*/
|
55
|
-
#ifdef GIT_EXPERIMENTAL_SHA256
|
56
|
-
GIT_EXTERN(int) git_odb_backend_pack(
|
57
|
-
git_odb_backend **out,
|
58
|
-
const char *objects_dir,
|
59
|
-
const git_odb_backend_pack_options *opts);
|
60
|
-
#else
|
61
|
-
GIT_EXTERN(int) git_odb_backend_pack(
|
62
|
-
git_odb_backend **out,
|
63
|
-
const char *objects_dir);
|
64
|
-
#endif
|
65
|
-
|
66
|
-
/**
|
67
|
-
* Create a backend out of a single packfile
|
68
|
-
*
|
69
|
-
* This can be useful for inspecting the contents of a single
|
70
|
-
* packfile.
|
71
|
-
*
|
72
|
-
* @param out location to store the odb backend pointer
|
73
|
-
* @param index_file path to the packfile's .idx file
|
74
|
-
*
|
75
|
-
* @return 0 or an error code
|
76
|
-
*/
|
77
|
-
#ifdef GIT_EXPERIMENTAL_SHA256
|
78
|
-
GIT_EXTERN(int) git_odb_backend_one_pack(
|
79
|
-
git_odb_backend **out,
|
80
|
-
const char *index_file,
|
81
|
-
const git_odb_backend_pack_options *opts);
|
82
|
-
#else
|
83
|
-
GIT_EXTERN(int) git_odb_backend_one_pack(
|
84
|
-
git_odb_backend **out,
|
85
|
-
const char *index_file);
|
86
|
-
#endif
|
87
|
-
|
88
44
|
typedef enum {
|
89
45
|
GIT_ODB_BACKEND_LOOSE_FSYNC = (1 << 0)
|
90
46
|
} git_odb_backend_loose_flag_t;
|
@@ -118,30 +74,100 @@ typedef struct {
|
|
118
74
|
git_oid_t oid_type;
|
119
75
|
} git_odb_backend_loose_options;
|
120
76
|
|
121
|
-
|
77
|
+
/** The current version of the diff options structure */
|
122
78
|
#define GIT_ODB_BACKEND_LOOSE_OPTIONS_VERSION 1
|
123
79
|
|
124
|
-
|
80
|
+
/**
|
81
|
+
* Stack initializer for odb loose backend options. Alternatively use
|
125
82
|
* `git_odb_backend_loose_options_init` programmatic initialization.
|
126
83
|
*/
|
127
84
|
#define GIT_ODB_BACKEND_LOOSE_OPTIONS_INIT \
|
128
85
|
{ GIT_ODB_BACKEND_LOOSE_OPTIONS_VERSION, 0, -1 }
|
129
86
|
|
87
|
+
/*
|
88
|
+
* Constructors for in-box ODB backends.
|
89
|
+
*/
|
90
|
+
|
91
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
92
|
+
|
93
|
+
/**
|
94
|
+
* Create a backend for a directory containing packfiles.
|
95
|
+
*
|
96
|
+
* @param[out] out location to store the odb backend pointer
|
97
|
+
* @param objects_dir the Git repository's objects directory
|
98
|
+
* @param opts the options to use when creating the pack backend
|
99
|
+
* @return 0 or an error code
|
100
|
+
*/
|
101
|
+
GIT_EXTERN(int) git_odb_backend_pack(
|
102
|
+
git_odb_backend **out,
|
103
|
+
const char *objects_dir,
|
104
|
+
const git_odb_backend_pack_options *opts);
|
105
|
+
|
106
|
+
/**
|
107
|
+
* Create a backend for a single packfile.
|
108
|
+
*
|
109
|
+
* @param[out] out location to store the odb backend pointer
|
110
|
+
* @param index_file path to the packfile's .idx file
|
111
|
+
* @param opts the options to use when creating the pack backend
|
112
|
+
* @return 0 or an error code
|
113
|
+
*/
|
114
|
+
GIT_EXTERN(int) git_odb_backend_one_pack(
|
115
|
+
git_odb_backend **out,
|
116
|
+
const char *index_file,
|
117
|
+
const git_odb_backend_pack_options *opts);
|
118
|
+
|
130
119
|
/**
|
131
120
|
* Create a backend for loose objects
|
132
121
|
*
|
133
|
-
* @param out location to store the odb backend pointer
|
122
|
+
* @param[out] out location to store the odb backend pointer
|
134
123
|
* @param objects_dir the Git repository's objects directory
|
135
124
|
* @param opts options for the loose object backend or NULL
|
136
125
|
*
|
137
126
|
* @return 0 or an error code
|
138
127
|
*/
|
139
|
-
#ifdef GIT_EXPERIMENTAL_SHA256
|
140
128
|
GIT_EXTERN(int) git_odb_backend_loose(
|
141
129
|
git_odb_backend **out,
|
142
130
|
const char *objects_dir,
|
143
131
|
git_odb_backend_loose_options *opts);
|
132
|
+
|
144
133
|
#else
|
134
|
+
|
135
|
+
/**
|
136
|
+
* Create a backend for a directory containing packfiles.
|
137
|
+
*
|
138
|
+
* @param[out] out location to store the odb backend pointer
|
139
|
+
* @param objects_dir the Git repository's objects directory
|
140
|
+
* @return 0 or an error code
|
141
|
+
*/
|
142
|
+
GIT_EXTERN(int) git_odb_backend_pack(
|
143
|
+
git_odb_backend **out,
|
144
|
+
const char *objects_dir);
|
145
|
+
|
146
|
+
/**
|
147
|
+
* Create a backend out of a single packfile
|
148
|
+
*
|
149
|
+
* This can be useful for inspecting the contents of a single
|
150
|
+
* packfile.
|
151
|
+
*
|
152
|
+
* @param[out] out location to store the odb backend pointer
|
153
|
+
* @param index_file path to the packfile's .idx file
|
154
|
+
* @return 0 or an error code
|
155
|
+
*/
|
156
|
+
GIT_EXTERN(int) git_odb_backend_one_pack(
|
157
|
+
git_odb_backend **out,
|
158
|
+
const char *index_file);
|
159
|
+
|
160
|
+
/**
|
161
|
+
* Create a backend for loose objects
|
162
|
+
*
|
163
|
+
* @param[out] out location to store the odb backend pointer
|
164
|
+
* @param objects_dir the Git repository's objects directory
|
165
|
+
* @param compression_level zlib compression level (0-9), or -1 for the default
|
166
|
+
* @param do_fsync if non-zero, perform an fsync on write
|
167
|
+
* @param dir_mode permission to use when creating directories, or 0 for default
|
168
|
+
* @param file_mode permission to use when creating directories, or 0 for default
|
169
|
+
* @return 0 or an error code
|
170
|
+
*/
|
145
171
|
GIT_EXTERN(int) git_odb_backend_loose(
|
146
172
|
git_odb_backend **out,
|
147
173
|
const char *objects_dir,
|
@@ -149,6 +175,7 @@ GIT_EXTERN(int) git_odb_backend_loose(
|
|
149
175
|
int do_fsync,
|
150
176
|
unsigned int dir_mode,
|
151
177
|
unsigned int file_mode);
|
178
|
+
|
152
179
|
#endif
|
153
180
|
|
154
181
|
/** Streaming mode */
|
@@ -218,6 +245,7 @@ struct git_odb_writepack {
|
|
218
245
|
void GIT_CALLBACK(free)(git_odb_writepack *writepack);
|
219
246
|
};
|
220
247
|
|
248
|
+
/** @} */
|
221
249
|
GIT_END_DECL
|
222
250
|
|
223
251
|
#endif
|
@@ -13,7 +13,7 @@
|
|
13
13
|
|
14
14
|
/**
|
15
15
|
* @file git2/oid.h
|
16
|
-
* @brief
|
16
|
+
* @brief Object IDs
|
17
17
|
* @defgroup git_oid Git object id routines
|
18
18
|
* @ingroup Git
|
19
19
|
* @{
|
@@ -82,13 +82,18 @@ typedef enum {
|
|
82
82
|
|
83
83
|
#endif
|
84
84
|
|
85
|
-
|
86
|
-
#
|
87
|
-
# define GIT_OID_MAX_SIZE GIT_OID_SHA1_SIZE
|
88
|
-
# define GIT_OID_MAX_HEXSIZE GIT_OID_SHA1_HEXSIZE
|
89
|
-
#else
|
85
|
+
/** Maximum possible object ID size in raw format */
|
86
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
90
87
|
# define GIT_OID_MAX_SIZE GIT_OID_SHA256_SIZE
|
88
|
+
#else
|
89
|
+
# define GIT_OID_MAX_SIZE GIT_OID_SHA1_SIZE
|
90
|
+
#endif
|
91
|
+
|
92
|
+
/** Maximum possible object ID size in hex format */
|
93
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
91
94
|
# define GIT_OID_MAX_HEXSIZE GIT_OID_SHA256_HEXSIZE
|
95
|
+
#else
|
96
|
+
# define GIT_OID_MAX_HEXSIZE GIT_OID_SHA1_HEXSIZE
|
92
97
|
#endif
|
93
98
|
|
94
99
|
/** Minimum length (in number of hex characters,
|
@@ -107,6 +112,15 @@ typedef struct git_oid {
|
|
107
112
|
unsigned char id[GIT_OID_MAX_SIZE];
|
108
113
|
} git_oid;
|
109
114
|
|
115
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
116
|
+
|
117
|
+
GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str, git_oid_t type);
|
118
|
+
GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str, git_oid_t type);
|
119
|
+
GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length, git_oid_t type);
|
120
|
+
GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw, git_oid_t type);
|
121
|
+
|
122
|
+
#else
|
123
|
+
|
110
124
|
/**
|
111
125
|
* Parse a hex formatted object id into a git_oid.
|
112
126
|
*
|
@@ -119,28 +133,18 @@ typedef struct git_oid {
|
|
119
133
|
* the hex sequence and have at least the number of bytes
|
120
134
|
* needed for an oid encoded in hex (40 bytes for sha1,
|
121
135
|
* 256 bytes for sha256).
|
122
|
-
* @param type the type of object id
|
123
136
|
* @return 0 or an error code
|
124
137
|
*/
|
125
|
-
#ifdef GIT_EXPERIMENTAL_SHA256
|
126
|
-
GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str, git_oid_t type);
|
127
|
-
#else
|
128
138
|
GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str);
|
129
|
-
#endif
|
130
139
|
|
131
140
|
/**
|
132
141
|
* Parse a hex formatted NUL-terminated string into a git_oid.
|
133
142
|
*
|
134
143
|
* @param out oid structure the result is written into.
|
135
144
|
* @param str input hex string; must be null-terminated.
|
136
|
-
* @param type the type of object id
|
137
145
|
* @return 0 or an error code
|
138
146
|
*/
|
139
|
-
#ifdef GIT_EXPERIMENTAL_SHA256
|
140
|
-
GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str, git_oid_t type);
|
141
|
-
#else
|
142
147
|
GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str);
|
143
|
-
#endif
|
144
148
|
|
145
149
|
/**
|
146
150
|
* Parse N characters of a hex formatted object id into a git_oid.
|
@@ -151,14 +155,9 @@ GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str);
|
|
151
155
|
* @param out oid structure the result is written into.
|
152
156
|
* @param str input hex string of at least size `length`
|
153
157
|
* @param length length of the input string
|
154
|
-
* @param type the type of object id
|
155
158
|
* @return 0 or an error code
|
156
159
|
*/
|
157
|
-
#ifdef GIT_EXPERIMENTAL_SHA256
|
158
|
-
GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length, git_oid_t type);
|
159
|
-
#else
|
160
160
|
GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length);
|
161
|
-
#endif
|
162
161
|
|
163
162
|
/**
|
164
163
|
* Copy an already raw oid into a git_oid structure.
|
@@ -167,10 +166,8 @@ GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length);
|
|
167
166
|
* @param raw the raw input bytes to be copied.
|
168
167
|
* @return 0 on success or error code
|
169
168
|
*/
|
170
|
-
#ifdef GIT_EXPERIMENTAL_SHA256
|
171
|
-
GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw, git_oid_t type);
|
172
|
-
#else
|
173
169
|
GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw);
|
170
|
+
|
174
171
|
#endif
|
175
172
|
|
176
173
|
/**
|
@@ -225,7 +222,7 @@ GIT_EXTERN(int) git_oid_pathfmt(char *out, const git_oid *id);
|
|
225
222
|
* concurrent calls of the function.
|
226
223
|
*
|
227
224
|
* @param oid The oid structure to format
|
228
|
-
* @return the c-string
|
225
|
+
* @return the c-string or NULL on failure
|
229
226
|
*/
|
230
227
|
GIT_EXTERN(char *) git_oid_tostr_s(const git_oid *oid);
|
231
228
|
|
@@ -310,6 +307,7 @@ GIT_EXTERN(int) git_oid_strcmp(const git_oid *id, const char *str);
|
|
310
307
|
/**
|
311
308
|
* Check is an oid is all zeros.
|
312
309
|
*
|
310
|
+
* @param id the object ID to check
|
313
311
|
* @return 1 if all zeros, 0 otherwise.
|
314
312
|
*/
|
315
313
|
GIT_EXTERN(int) git_oid_is_zero(const git_oid *id);
|
@@ -370,4 +368,5 @@ GIT_EXTERN(void) git_oid_shorten_free(git_oid_shorten *os);
|
|
370
368
|
|
371
369
|
/** @} */
|
372
370
|
GIT_END_DECL
|
371
|
+
|
373
372
|
#endif
|
@@ -10,6 +10,13 @@
|
|
10
10
|
#include "common.h"
|
11
11
|
#include "oid.h"
|
12
12
|
|
13
|
+
/**
|
14
|
+
* @file git2/oidarray.h
|
15
|
+
* @brief An array of object IDs
|
16
|
+
* @defgroup git_oidarray Arrays of object IDs
|
17
|
+
* @ingroup Git
|
18
|
+
* @{
|
19
|
+
*/
|
13
20
|
GIT_BEGIN_DECL
|
14
21
|
|
15
22
|
/** Array of object ids */
|
@@ -34,4 +41,3 @@ GIT_EXTERN(void) git_oidarray_dispose(git_oidarray *array);
|
|
34
41
|
GIT_END_DECL
|
35
42
|
|
36
43
|
#endif
|
37
|
-
|
@@ -233,7 +233,15 @@ GIT_EXTERN(size_t) git_packbuilder_object_count(git_packbuilder *pb);
|
|
233
233
|
*/
|
234
234
|
GIT_EXTERN(size_t) git_packbuilder_written(git_packbuilder *pb);
|
235
235
|
|
236
|
-
/**
|
236
|
+
/**
|
237
|
+
* Packbuilder progress notification function.
|
238
|
+
*
|
239
|
+
* @param stage the stage of the packbuilder
|
240
|
+
* @param current the current object
|
241
|
+
* @param total the total number of objects
|
242
|
+
* @param payload the callback payload
|
243
|
+
* @return 0 on success or an error code
|
244
|
+
*/
|
237
245
|
typedef int GIT_CALLBACK(git_packbuilder_progress)(
|
238
246
|
int stage,
|
239
247
|
uint32_t current,
|
@@ -247,6 +255,9 @@ typedef int GIT_CALLBACK(git_packbuilder_progress)(
|
|
247
255
|
* @param progress_cb Function to call with progress information during
|
248
256
|
* pack building. Be aware that this is called inline with pack building
|
249
257
|
* operations, so performance may be affected.
|
258
|
+
* When progress_cb returns an error, the pack building process will be
|
259
|
+
* aborted and the error will be returned from the invoked function.
|
260
|
+
* `pb` must then be freed.
|
250
261
|
* @param progress_cb_payload Payload for progress callback.
|
251
262
|
* @return 0 or an error code
|
252
263
|
*/
|
@@ -264,4 +275,5 @@ GIT_EXTERN(void) git_packbuilder_free(git_packbuilder *pb);
|
|
264
275
|
|
265
276
|
/** @} */
|
266
277
|
GIT_END_DECL
|
278
|
+
|
267
279
|
#endif
|
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
/**
|
16
16
|
* @file git2/patch.h
|
17
|
-
* @brief
|
17
|
+
* @brief Patches store the textual diffs in a delta
|
18
18
|
* @ingroup Git
|
19
19
|
* @{
|
20
20
|
*/
|
@@ -283,8 +283,7 @@ GIT_EXTERN(int) git_patch_to_buf(
|
|
283
283
|
git_buf *out,
|
284
284
|
git_patch *patch);
|
285
285
|
|
286
|
-
GIT_END_DECL
|
287
|
-
|
288
286
|
/**@}*/
|
287
|
+
GIT_END_DECL
|
289
288
|
|
290
289
|
#endif
|