rugged 1.3.2.3 → 1.4.2
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/extconf.rb +1 -1
- data/ext/rugged/rugged_config.c +7 -2
- data/ext/rugged/rugged_remote.c +17 -0
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +103 -276
- data/vendor/libgit2/COPYING +36 -19
- data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
- data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
- data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
- data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
- data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
- data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
- data/vendor/libgit2/cmake/{FindHTTP_Parser.cmake → FindHTTPParser.cmake} +17 -17
- data/vendor/libgit2/cmake/FindIconv.cmake +27 -27
- data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
- data/vendor/libgit2/cmake/FindPCRE.cmake +13 -13
- data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
- data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
- data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
- data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
- data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
- data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
- data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
- data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
- data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
- data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
- data/vendor/libgit2/cmake/SelectHTTPParser.cmake +19 -0
- data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +100 -100
- data/vendor/libgit2/cmake/SelectHashes.cmake +39 -49
- data/vendor/libgit2/cmake/SelectRegex.cmake +51 -0
- data/vendor/libgit2/cmake/SelectSSH.cmake +41 -0
- data/vendor/libgit2/cmake/SelectWinHTTP.cmake +17 -0
- data/vendor/libgit2/cmake/SelectZlib.cmake +34 -0
- data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +31 -31
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +1 -1
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +4 -4
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +88 -88
- data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
- data/vendor/libgit2/deps/zlib/adler32.c +0 -7
- data/vendor/libgit2/deps/zlib/crc32.c +288 -975
- data/vendor/libgit2/deps/zlib/crc32.h +436 -9441
- data/vendor/libgit2/deps/zlib/deflate.c +31 -83
- data/vendor/libgit2/deps/zlib/deflate.h +15 -12
- data/vendor/libgit2/deps/zlib/gzguts.h +2 -3
- data/vendor/libgit2/deps/zlib/infback.c +1 -2
- data/vendor/libgit2/deps/zlib/inffast.c +14 -14
- data/vendor/libgit2/deps/zlib/inflate.c +8 -39
- data/vendor/libgit2/deps/zlib/inflate.h +2 -3
- data/vendor/libgit2/deps/zlib/inftrees.c +3 -3
- data/vendor/libgit2/deps/zlib/trees.c +48 -27
- data/vendor/libgit2/deps/zlib/zlib.h +100 -126
- data/vendor/libgit2/deps/zlib/zutil.c +2 -2
- data/vendor/libgit2/deps/zlib/zutil.h +9 -12
- data/vendor/libgit2/include/git2/apply.h +16 -2
- data/vendor/libgit2/include/git2/attr.h +11 -2
- data/vendor/libgit2/include/git2/blame.h +4 -1
- data/vendor/libgit2/include/git2/blob.h +14 -1
- data/vendor/libgit2/include/git2/branch.h +2 -0
- data/vendor/libgit2/include/git2/buffer.h +18 -78
- data/vendor/libgit2/include/git2/cert.h +2 -2
- data/vendor/libgit2/include/git2/checkout.h +5 -2
- data/vendor/libgit2/include/git2/clone.h +3 -3
- data/vendor/libgit2/include/git2/commit.h +2 -0
- data/vendor/libgit2/include/git2/common.h +5 -12
- data/vendor/libgit2/include/git2/config.h +19 -3
- data/vendor/libgit2/include/git2/credential.h +2 -1
- data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
- data/vendor/libgit2/include/git2/deprecated.h +1 -1
- data/vendor/libgit2/include/git2/describe.h +7 -2
- data/vendor/libgit2/include/git2/diff.h +17 -9
- data/vendor/libgit2/include/git2/email.h +1 -1
- data/vendor/libgit2/include/git2/errors.h +1 -2
- data/vendor/libgit2/include/git2/filter.h +7 -2
- data/vendor/libgit2/include/git2/graph.h +1 -0
- data/vendor/libgit2/include/git2/ignore.h +1 -1
- data/vendor/libgit2/include/git2/index.h +11 -5
- data/vendor/libgit2/include/git2/indexer.h +19 -0
- data/vendor/libgit2/include/git2/merge.h +23 -3
- data/vendor/libgit2/include/git2/message.h +2 -0
- data/vendor/libgit2/include/git2/object.h +23 -0
- data/vendor/libgit2/include/git2/odb.h +37 -7
- data/vendor/libgit2/include/git2/odb_backend.h +1 -1
- data/vendor/libgit2/include/git2/pack.h +24 -8
- data/vendor/libgit2/include/git2/patch.h +8 -0
- data/vendor/libgit2/include/git2/pathspec.h +1 -1
- data/vendor/libgit2/include/git2/proxy.h +1 -1
- data/vendor/libgit2/include/git2/rebase.h +9 -1
- data/vendor/libgit2/include/git2/refdb.h +3 -0
- data/vendor/libgit2/include/git2/reflog.h +1 -1
- data/vendor/libgit2/include/git2/refs.h +2 -2
- data/vendor/libgit2/include/git2/remote.h +184 -37
- data/vendor/libgit2/include/git2/repository.h +14 -9
- data/vendor/libgit2/include/git2/reset.h +2 -2
- data/vendor/libgit2/include/git2/revparse.h +1 -1
- data/vendor/libgit2/include/git2/revwalk.h +4 -1
- data/vendor/libgit2/include/git2/signature.h +1 -1
- data/vendor/libgit2/include/git2/stash.h +3 -3
- data/vendor/libgit2/include/git2/status.h +9 -3
- data/vendor/libgit2/include/git2/submodule.h +7 -2
- data/vendor/libgit2/include/git2/sys/commit_graph.h +1 -1
- data/vendor/libgit2/include/git2/sys/odb_backend.h +2 -5
- data/vendor/libgit2/include/git2/sys/remote.h +31 -0
- data/vendor/libgit2/include/git2/sys/stream.h +1 -1
- data/vendor/libgit2/include/git2/sys/transport.h +25 -34
- data/vendor/libgit2/include/git2/tag.h +1 -0
- data/vendor/libgit2/include/git2/tree.h +4 -3
- data/vendor/libgit2/include/git2/types.h +7 -7
- data/vendor/libgit2/include/git2/version.h +3 -3
- data/vendor/libgit2/include/git2/worktree.h +12 -2
- data/vendor/libgit2/src/CMakeLists.txt +189 -315
- data/vendor/libgit2/src/annotated_commit.h +1 -1
- data/vendor/libgit2/src/apply.c +18 -18
- data/vendor/libgit2/src/apply.h +2 -2
- data/vendor/libgit2/src/attr.c +18 -18
- data/vendor/libgit2/src/attr_file.c +17 -17
- data/vendor/libgit2/src/attr_file.h +4 -4
- data/vendor/libgit2/src/attrcache.c +17 -12
- data/vendor/libgit2/src/blame_git.c +1 -1
- data/vendor/libgit2/src/blob.c +33 -26
- data/vendor/libgit2/src/blob.h +1 -1
- data/vendor/libgit2/src/branch.c +150 -109
- data/vendor/libgit2/src/branch.h +15 -3
- data/vendor/libgit2/src/buf.c +126 -0
- data/vendor/libgit2/src/buf.h +50 -0
- data/vendor/libgit2/src/cc-compat.h +1 -1
- data/vendor/libgit2/src/checkout.c +74 -68
- data/vendor/libgit2/src/cherrypick.c +10 -10
- data/vendor/libgit2/src/clone.c +66 -66
- data/vendor/libgit2/src/commit.c +128 -58
- data/vendor/libgit2/src/commit.h +24 -1
- data/vendor/libgit2/src/commit_graph.c +68 -53
- data/vendor/libgit2/src/commit_graph.h +10 -3
- data/vendor/libgit2/src/commit_list.c +2 -3
- data/vendor/libgit2/src/common.h +10 -3
- data/vendor/libgit2/src/config.c +99 -77
- data/vendor/libgit2/src/config.h +15 -2
- data/vendor/libgit2/src/config_file.c +103 -91
- data/vendor/libgit2/src/config_mem.c +9 -9
- data/vendor/libgit2/src/config_parse.c +27 -23
- data/vendor/libgit2/src/crlf.c +24 -21
- data/vendor/libgit2/src/date.c +10 -17
- data/vendor/libgit2/src/date.h +33 -0
- data/vendor/libgit2/src/describe.c +27 -19
- data/vendor/libgit2/src/diff.c +25 -8
- data/vendor/libgit2/src/diff.h +2 -4
- data/vendor/libgit2/src/diff_driver.c +34 -36
- data/vendor/libgit2/src/diff_driver.h +3 -3
- data/vendor/libgit2/src/diff_file.c +29 -20
- data/vendor/libgit2/src/diff_generate.c +30 -6
- data/vendor/libgit2/src/diff_generate.h +5 -3
- data/vendor/libgit2/src/diff_print.c +102 -95
- data/vendor/libgit2/src/diff_stats.c +40 -29
- data/vendor/libgit2/src/{message.h → diff_stats.h} +7 -6
- data/vendor/libgit2/src/diff_tform.c +9 -8
- data/vendor/libgit2/src/diff_xdiff.c +3 -8
- data/vendor/libgit2/src/email.c +54 -38
- data/vendor/libgit2/src/email.h +1 -1
- data/vendor/libgit2/src/errors.c +18 -18
- data/vendor/libgit2/src/features.h.in +6 -1
- data/vendor/libgit2/src/fetch.c +69 -24
- data/vendor/libgit2/src/fetch.h +1 -1
- data/vendor/libgit2/src/fetchhead.c +19 -19
- data/vendor/libgit2/src/filebuf.c +28 -28
- data/vendor/libgit2/src/filebuf.h +1 -1
- data/vendor/libgit2/src/filter.c +96 -52
- data/vendor/libgit2/src/filter.h +26 -5
- data/vendor/libgit2/src/fs_path.c +1912 -0
- data/vendor/libgit2/src/fs_path.h +752 -0
- data/vendor/libgit2/src/futils.c +91 -85
- data/vendor/libgit2/src/futils.h +26 -14
- data/vendor/libgit2/src/hash/sha1/collisiondetect.c +2 -2
- data/vendor/libgit2/src/hash/sha1/common_crypto.c +2 -2
- data/vendor/libgit2/src/hash/sha1/generic.c +2 -2
- data/vendor/libgit2/src/hash/sha1/mbedtls.c +2 -2
- data/vendor/libgit2/src/hash/sha1/openssl.c +2 -2
- data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +1 -1
- data/vendor/libgit2/src/hash/sha1/win32.c +6 -6
- data/vendor/libgit2/src/hash/sha1.h +3 -1
- data/vendor/libgit2/src/hash.c +67 -35
- data/vendor/libgit2/src/hash.h +12 -12
- data/vendor/libgit2/src/ident.c +18 -18
- data/vendor/libgit2/src/ignore.c +35 -34
- data/vendor/libgit2/src/ignore.h +2 -2
- data/vendor/libgit2/src/index.c +79 -80
- data/vendor/libgit2/src/index.h +6 -3
- data/vendor/libgit2/src/indexer.c +75 -57
- data/vendor/libgit2/src/iterator.c +64 -56
- data/vendor/libgit2/src/iterator.h +5 -5
- data/vendor/libgit2/src/khash.h +1 -1
- data/vendor/libgit2/src/libgit2.c +22 -19
- data/vendor/libgit2/src/mailmap.c +38 -36
- data/vendor/libgit2/src/merge.c +27 -27
- data/vendor/libgit2/src/merge.h +1 -14
- data/vendor/libgit2/src/merge_driver.c +2 -2
- data/vendor/libgit2/src/merge_file.c +13 -3
- data/vendor/libgit2/src/message.c +21 -10
- data/vendor/libgit2/src/midx.c +83 -66
- data/vendor/libgit2/src/midx.h +3 -3
- data/vendor/libgit2/src/mwindow.c +1 -1
- data/vendor/libgit2/src/net.c +278 -68
- data/vendor/libgit2/src/net.h +10 -3
- data/vendor/libgit2/src/netops.c +1 -1
- data/vendor/libgit2/src/netops.h +1 -1
- data/vendor/libgit2/src/notes.c +20 -29
- data/vendor/libgit2/src/object.c +49 -9
- data/vendor/libgit2/src/object.h +1 -1
- data/vendor/libgit2/src/odb.c +35 -32
- data/vendor/libgit2/src/odb.h +1 -1
- data/vendor/libgit2/src/odb_loose.c +68 -68
- data/vendor/libgit2/src/odb_mempack.c +18 -5
- data/vendor/libgit2/src/odb_pack.c +43 -43
- data/vendor/libgit2/src/oid.c +11 -4
- data/vendor/libgit2/src/oid.h +15 -0
- data/vendor/libgit2/src/pack-objects.c +41 -26
- data/vendor/libgit2/src/pack-objects.h +11 -6
- data/vendor/libgit2/src/pack.c +10 -10
- data/vendor/libgit2/src/patch.c +3 -3
- data/vendor/libgit2/src/patch.h +1 -0
- data/vendor/libgit2/src/patch_generate.c +27 -11
- data/vendor/libgit2/src/patch_generate.h +5 -5
- data/vendor/libgit2/src/patch_parse.c +24 -24
- data/vendor/libgit2/src/path.c +76 -1951
- data/vendor/libgit2/src/path.h +34 -741
- data/vendor/libgit2/src/pathspec.c +6 -6
- data/vendor/libgit2/src/pathspec.h +2 -2
- data/vendor/libgit2/src/posix.c +3 -3
- data/vendor/libgit2/src/posix.h +1 -0
- data/vendor/libgit2/src/pqueue.h +1 -1
- data/vendor/libgit2/src/proxy.c +4 -1
- data/vendor/libgit2/src/proxy.h +1 -1
- data/vendor/libgit2/src/push.c +30 -35
- data/vendor/libgit2/src/push.h +4 -16
- data/vendor/libgit2/src/rand.c +226 -0
- data/vendor/libgit2/src/rand.h +37 -0
- data/vendor/libgit2/src/reader.c +8 -8
- data/vendor/libgit2/src/reader.h +2 -2
- data/vendor/libgit2/src/rebase.c +89 -88
- data/vendor/libgit2/src/refdb_fs.c +447 -173
- data/vendor/libgit2/src/refs.c +32 -32
- data/vendor/libgit2/src/refs.h +2 -2
- data/vendor/libgit2/src/refspec.c +32 -37
- data/vendor/libgit2/src/refspec.h +5 -2
- data/vendor/libgit2/src/regexp.c +1 -1
- data/vendor/libgit2/src/remote.c +713 -419
- data/vendor/libgit2/src/remote.h +15 -10
- data/vendor/libgit2/src/repository.c +350 -467
- data/vendor/libgit2/src/repository.h +11 -10
- data/vendor/libgit2/src/reset.c +8 -5
- data/vendor/libgit2/src/revert.c +10 -10
- data/vendor/libgit2/src/revparse.c +48 -35
- data/vendor/libgit2/src/revwalk.c +7 -7
- data/vendor/libgit2/src/signature.c +12 -6
- data/vendor/libgit2/src/signature.h +1 -1
- data/vendor/libgit2/src/sortedcache.c +1 -1
- data/vendor/libgit2/src/sortedcache.h +1 -1
- data/vendor/libgit2/src/stash.c +36 -37
- data/vendor/libgit2/src/status.c +4 -1
- data/vendor/libgit2/src/{buffer.c → str.c} +157 -151
- data/vendor/libgit2/src/str.h +357 -0
- data/vendor/libgit2/src/streams/mbedtls.c +8 -6
- data/vendor/libgit2/src/streams/openssl_dynamic.h +3 -3
- data/vendor/libgit2/src/submodule.c +171 -159
- data/vendor/libgit2/src/submodule.h +1 -1
- data/vendor/libgit2/src/sysdir.c +68 -52
- data/vendor/libgit2/src/sysdir.h +15 -10
- data/vendor/libgit2/src/tag.c +29 -27
- data/vendor/libgit2/src/thread.h +3 -3
- data/vendor/libgit2/src/threadstate.c +3 -3
- data/vendor/libgit2/src/threadstate.h +1 -1
- data/vendor/libgit2/src/trace.c +1 -14
- data/vendor/libgit2/src/trace.h +5 -22
- data/vendor/libgit2/src/trailer.c +1 -1
- data/vendor/libgit2/src/transaction.c +1 -1
- data/vendor/libgit2/src/transport.c +10 -10
- data/vendor/libgit2/src/transports/auth.c +7 -9
- data/vendor/libgit2/src/transports/auth.h +2 -3
- data/vendor/libgit2/src/transports/auth_negotiate.c +12 -13
- data/vendor/libgit2/src/transports/auth_ntlm.c +10 -10
- data/vendor/libgit2/src/transports/auth_ntlm.h +0 -1
- data/vendor/libgit2/src/transports/git.c +9 -11
- data/vendor/libgit2/src/transports/http.c +37 -17
- data/vendor/libgit2/src/transports/http.h +2 -3
- data/vendor/libgit2/src/transports/httpclient.c +65 -65
- data/vendor/libgit2/src/transports/local.c +124 -116
- data/vendor/libgit2/src/transports/smart.c +51 -139
- data/vendor/libgit2/src/transports/smart.h +25 -31
- data/vendor/libgit2/src/transports/smart_pkt.c +33 -33
- data/vendor/libgit2/src/transports/smart_protocol.c +57 -39
- data/vendor/libgit2/src/transports/ssh.c +47 -112
- data/vendor/libgit2/src/transports/winhttp.c +50 -56
- data/vendor/libgit2/src/tree-cache.c +5 -5
- data/vendor/libgit2/src/tree-cache.h +2 -2
- data/vendor/libgit2/src/tree.c +59 -48
- data/vendor/libgit2/src/tree.h +1 -1
- data/vendor/libgit2/src/unix/map.c +0 -2
- data/vendor/libgit2/src/unix/posix.h +1 -4
- data/vendor/libgit2/src/unix/realpath.c +0 -2
- data/vendor/libgit2/src/util.c +14 -14
- data/vendor/libgit2/src/util.h +2 -28
- data/vendor/libgit2/src/vector.h +1 -1
- data/vendor/libgit2/src/win32/findfile.c +172 -116
- data/vendor/libgit2/src/win32/findfile.h +7 -4
- data/vendor/libgit2/src/win32/path_w32.c +140 -9
- data/vendor/libgit2/src/win32/path_w32.h +2 -0
- data/vendor/libgit2/src/win32/posix.h +0 -1
- data/vendor/libgit2/src/win32/posix_w32.c +11 -27
- data/vendor/libgit2/src/win32/w32_buffer.c +2 -3
- data/vendor/libgit2/src/win32/w32_buffer.h +2 -3
- data/vendor/libgit2/src/win32/w32_leakcheck.c +1 -1
- data/vendor/libgit2/src/worktree.c +116 -94
- data/vendor/libgit2/src/worktree.h +1 -1
- data/vendor/libgit2/src/xdiff/git-xdiff.h +53 -0
- data/vendor/libgit2/src/xdiff/xdiff.h +15 -15
- data/vendor/libgit2/src/xdiff/xdiffi.c +134 -108
- data/vendor/libgit2/src/xdiff/xemit.c +23 -7
- data/vendor/libgit2/src/xdiff/xhistogram.c +87 -78
- data/vendor/libgit2/src/xdiff/xinclude.h +1 -12
- data/vendor/libgit2/src/xdiff/xmerge.c +104 -117
- data/vendor/libgit2/src/xdiff/xpatience.c +6 -17
- data/vendor/libgit2/src/xdiff/xprepare.c +15 -20
- data/vendor/libgit2/src/xdiff/xutils.c +18 -7
- data/vendor/libgit2/src/zstream.c +5 -5
- data/vendor/libgit2/src/zstream.h +4 -4
- metadata +25 -10
- data/vendor/libgit2/src/buffer.h +0 -374
|
@@ -170,7 +170,7 @@ typedef enum {
|
|
|
170
170
|
/** Include the necessary deflate / delta information so that `git-apply`
|
|
171
171
|
* can apply given diff information to binary files.
|
|
172
172
|
*/
|
|
173
|
-
GIT_DIFF_SHOW_BINARY = (1u << 30)
|
|
173
|
+
GIT_DIFF_SHOW_BINARY = (1u << 30)
|
|
174
174
|
} git_diff_option_t;
|
|
175
175
|
|
|
176
176
|
/**
|
|
@@ -208,6 +208,7 @@ typedef enum {
|
|
|
208
208
|
GIT_DIFF_FLAG_NOT_BINARY = (1u << 1), /**< file(s) treated as text data */
|
|
209
209
|
GIT_DIFF_FLAG_VALID_ID = (1u << 2), /**< `id` value is known correct */
|
|
210
210
|
GIT_DIFF_FLAG_EXISTS = (1u << 3), /**< file exists at this side of the delta */
|
|
211
|
+
GIT_DIFF_FLAG_VALID_SIZE = (1u << 4) /**< file size value is known correct */
|
|
211
212
|
} git_diff_flag_t;
|
|
212
213
|
|
|
213
214
|
/**
|
|
@@ -231,7 +232,7 @@ typedef enum {
|
|
|
231
232
|
GIT_DELTA_UNTRACKED = 7, /**< entry is untracked item in workdir */
|
|
232
233
|
GIT_DELTA_TYPECHANGE = 8, /**< type of entry changed between old and new */
|
|
233
234
|
GIT_DELTA_UNREADABLE = 9, /**< entry is unreadable */
|
|
234
|
-
GIT_DELTA_CONFLICTED = 10
|
|
235
|
+
GIT_DELTA_CONFLICTED = 10 /**< entry in the index is conflicted */
|
|
235
236
|
} git_delta_t;
|
|
236
237
|
|
|
237
238
|
/**
|
|
@@ -497,7 +498,7 @@ typedef enum {
|
|
|
497
498
|
GIT_DIFF_BINARY_LITERAL,
|
|
498
499
|
|
|
499
500
|
/** The binary data is the delta from one side to the other. */
|
|
500
|
-
GIT_DIFF_BINARY_DELTA
|
|
501
|
+
GIT_DIFF_BINARY_DELTA
|
|
501
502
|
} git_diff_binary_t;
|
|
502
503
|
|
|
503
504
|
/** The contents of one of the files in a binary diff. */
|
|
@@ -706,7 +707,7 @@ typedef enum {
|
|
|
706
707
|
* GIT_DIFF_INCLUDE_UNMODIFIED flag. If you do not want UNMODIFIED
|
|
707
708
|
* records in the final result, pass this flag to have them removed.
|
|
708
709
|
*/
|
|
709
|
-
GIT_DIFF_FIND_REMOVE_UNMODIFIED = (1u << 16)
|
|
710
|
+
GIT_DIFF_FIND_REMOVE_UNMODIFIED = (1u << 16)
|
|
710
711
|
} git_diff_find_t;
|
|
711
712
|
|
|
712
713
|
/**
|
|
@@ -758,7 +759,7 @@ typedef struct {
|
|
|
758
759
|
uint16_t copy_threshold;
|
|
759
760
|
|
|
760
761
|
/**
|
|
761
|
-
*
|
|
762
|
+
* Threshold below which similar files will be split into a delete/add pair.
|
|
762
763
|
* This is equivalent to the last part of the -B option. Defaults to 60.
|
|
763
764
|
*/
|
|
764
765
|
uint16_t break_rewrite_threshold;
|
|
@@ -768,7 +769,7 @@ typedef struct {
|
|
|
768
769
|
*
|
|
769
770
|
* This is a little different from the `-l` option from Git because we
|
|
770
771
|
* will still process up to this many matches before abandoning the search.
|
|
771
|
-
* Defaults to
|
|
772
|
+
* Defaults to 1000.
|
|
772
773
|
*/
|
|
773
774
|
size_t rename_limit;
|
|
774
775
|
|
|
@@ -831,6 +832,7 @@ GIT_EXTERN(void) git_diff_free(git_diff *diff);
|
|
|
831
832
|
* @param old_tree A git_tree object to diff from, or NULL for empty tree.
|
|
832
833
|
* @param new_tree A git_tree object to diff to, or NULL for empty tree.
|
|
833
834
|
* @param opts Structure with options to influence diff or NULL for defaults.
|
|
835
|
+
* @return 0 or an error code.
|
|
834
836
|
*/
|
|
835
837
|
GIT_EXTERN(int) git_diff_tree_to_tree(
|
|
836
838
|
git_diff **diff,
|
|
@@ -857,6 +859,7 @@ GIT_EXTERN(int) git_diff_tree_to_tree(
|
|
|
857
859
|
* @param old_tree A git_tree object to diff from, or NULL for empty tree.
|
|
858
860
|
* @param index The index to diff with; repo index used if NULL.
|
|
859
861
|
* @param opts Structure with options to influence diff or NULL for defaults.
|
|
862
|
+
* @return 0 or an error code.
|
|
860
863
|
*/
|
|
861
864
|
GIT_EXTERN(int) git_diff_tree_to_index(
|
|
862
865
|
git_diff **diff,
|
|
@@ -884,6 +887,7 @@ GIT_EXTERN(int) git_diff_tree_to_index(
|
|
|
884
887
|
* @param repo The repository.
|
|
885
888
|
* @param index The index to diff from; repo index used if NULL.
|
|
886
889
|
* @param opts Structure with options to influence diff or NULL for defaults.
|
|
890
|
+
* @return 0 or an error code.
|
|
887
891
|
*/
|
|
888
892
|
GIT_EXTERN(int) git_diff_index_to_workdir(
|
|
889
893
|
git_diff **diff,
|
|
@@ -913,6 +917,7 @@ GIT_EXTERN(int) git_diff_index_to_workdir(
|
|
|
913
917
|
* @param repo The repository containing the tree.
|
|
914
918
|
* @param old_tree A git_tree object to diff from, or NULL for empty tree.
|
|
915
919
|
* @param opts Structure with options to influence diff or NULL for defaults.
|
|
920
|
+
* @return 0 or an error code.
|
|
916
921
|
*/
|
|
917
922
|
GIT_EXTERN(int) git_diff_tree_to_workdir(
|
|
918
923
|
git_diff **diff,
|
|
@@ -932,6 +937,7 @@ GIT_EXTERN(int) git_diff_tree_to_workdir(
|
|
|
932
937
|
* @param repo The repository containing the tree.
|
|
933
938
|
* @param old_tree A git_tree object to diff from, or NULL for empty tree.
|
|
934
939
|
* @param opts Structure with options to influence diff or NULL for defaults.
|
|
940
|
+
* @return 0 or an error code.
|
|
935
941
|
*/
|
|
936
942
|
GIT_EXTERN(int) git_diff_tree_to_workdir_with_index(
|
|
937
943
|
git_diff **diff,
|
|
@@ -950,6 +956,7 @@ GIT_EXTERN(int) git_diff_tree_to_workdir_with_index(
|
|
|
950
956
|
* @param old_index A git_index object to diff from.
|
|
951
957
|
* @param new_index A git_index object to diff to.
|
|
952
958
|
* @param opts Structure with options to influence diff or NULL for defaults.
|
|
959
|
+
* @return 0 or an error code.
|
|
953
960
|
*/
|
|
954
961
|
GIT_EXTERN(int) git_diff_index_to_index(
|
|
955
962
|
git_diff **diff,
|
|
@@ -970,6 +977,7 @@ GIT_EXTERN(int) git_diff_index_to_index(
|
|
|
970
977
|
*
|
|
971
978
|
* @param onto Diff to merge into.
|
|
972
979
|
* @param from Diff to merge.
|
|
980
|
+
* @return 0 or an error code.
|
|
973
981
|
*/
|
|
974
982
|
GIT_EXTERN(int) git_diff_merge(
|
|
975
983
|
git_diff *onto,
|
|
@@ -1107,7 +1115,7 @@ typedef enum {
|
|
|
1107
1115
|
GIT_DIFF_FORMAT_RAW = 3u, /**< like git diff --raw */
|
|
1108
1116
|
GIT_DIFF_FORMAT_NAME_ONLY = 4u, /**< like git diff --name-only */
|
|
1109
1117
|
GIT_DIFF_FORMAT_NAME_STATUS = 5u, /**< like git diff --name-status */
|
|
1110
|
-
GIT_DIFF_FORMAT_PATCH_ID = 6u
|
|
1118
|
+
GIT_DIFF_FORMAT_PATCH_ID = 6u /**< git diff as used by git patch-id */
|
|
1111
1119
|
} git_diff_format_t;
|
|
1112
1120
|
|
|
1113
1121
|
/**
|
|
@@ -1311,13 +1319,13 @@ typedef enum {
|
|
|
1311
1319
|
GIT_DIFF_STATS_NUMBER = (1u << 2),
|
|
1312
1320
|
|
|
1313
1321
|
/** Extended header information such as creations, renames and mode changes, equivalent of `--summary` */
|
|
1314
|
-
GIT_DIFF_STATS_INCLUDE_SUMMARY = (1u << 3)
|
|
1322
|
+
GIT_DIFF_STATS_INCLUDE_SUMMARY = (1u << 3)
|
|
1315
1323
|
} git_diff_stats_format_t;
|
|
1316
1324
|
|
|
1317
1325
|
/**
|
|
1318
1326
|
* Accumulate diff statistics for all patches.
|
|
1319
1327
|
*
|
|
1320
|
-
* @param out Structure
|
|
1328
|
+
* @param out Structure containing the diff statistics.
|
|
1321
1329
|
* @param diff A git_diff generated by one of the above functions.
|
|
1322
1330
|
* @return 0 on success; non-zero on error
|
|
1323
1331
|
*/
|
|
@@ -57,8 +57,7 @@ typedef enum {
|
|
|
57
57
|
GIT_RETRY = -32, /**< Internal only */
|
|
58
58
|
GIT_EMISMATCH = -33, /**< Hashsum mismatch in object */
|
|
59
59
|
GIT_EINDEXDIRTY = -34, /**< Unsaved changes in the index would be overwritten */
|
|
60
|
-
GIT_EAPPLYFAIL = -35
|
|
61
|
-
GIT_EOWNER = -36 /**< The object is not owned by the current user */
|
|
60
|
+
GIT_EAPPLYFAIL = -35 /**< Patch application failed */
|
|
62
61
|
} git_error_code;
|
|
63
62
|
|
|
64
63
|
/**
|
|
@@ -32,7 +32,7 @@ typedef enum {
|
|
|
32
32
|
GIT_FILTER_TO_WORKTREE = 0,
|
|
33
33
|
GIT_FILTER_SMUDGE = GIT_FILTER_TO_WORKTREE,
|
|
34
34
|
GIT_FILTER_TO_ODB = 1,
|
|
35
|
-
GIT_FILTER_CLEAN = GIT_FILTER_TO_ODB
|
|
35
|
+
GIT_FILTER_CLEAN = GIT_FILTER_TO_ODB
|
|
36
36
|
} git_filter_mode_t;
|
|
37
37
|
|
|
38
38
|
/**
|
|
@@ -54,7 +54,7 @@ typedef enum {
|
|
|
54
54
|
* Load attributes from `.gitattributes` in a given commit.
|
|
55
55
|
* This can only be specified in a `git_filter_options`.
|
|
56
56
|
*/
|
|
57
|
-
GIT_FILTER_ATTRIBUTES_FROM_COMMIT = (1u << 3)
|
|
57
|
+
GIT_FILTER_ATTRIBUTES_FROM_COMMIT = (1u << 3)
|
|
58
58
|
} git_filter_flag_t;
|
|
59
59
|
|
|
60
60
|
/**
|
|
@@ -196,6 +196,7 @@ GIT_EXTERN(int) git_filter_list_apply_to_buffer(
|
|
|
196
196
|
* @param repo the repository in which to perform the filtering
|
|
197
197
|
* @param path the path of the file to filter, a relative path will be
|
|
198
198
|
* taken as relative to the workdir
|
|
199
|
+
* @return 0 or an error code.
|
|
199
200
|
*/
|
|
200
201
|
GIT_EXTERN(int) git_filter_list_apply_to_file(
|
|
201
202
|
git_buf *out,
|
|
@@ -209,6 +210,7 @@ GIT_EXTERN(int) git_filter_list_apply_to_file(
|
|
|
209
210
|
* @param out buffer into which to store the filtered file
|
|
210
211
|
* @param filters the list of filters to apply
|
|
211
212
|
* @param blob the blob to filter
|
|
213
|
+
* @return 0 or an error code.
|
|
212
214
|
*/
|
|
213
215
|
GIT_EXTERN(int) git_filter_list_apply_to_blob(
|
|
214
216
|
git_buf *out,
|
|
@@ -222,6 +224,7 @@ GIT_EXTERN(int) git_filter_list_apply_to_blob(
|
|
|
222
224
|
* @param buffer the buffer to filter
|
|
223
225
|
* @param len the size of the buffer
|
|
224
226
|
* @param target the stream into which the data will be written
|
|
227
|
+
* @return 0 or an error code.
|
|
225
228
|
*/
|
|
226
229
|
GIT_EXTERN(int) git_filter_list_stream_buffer(
|
|
227
230
|
git_filter_list *filters,
|
|
@@ -237,6 +240,7 @@ GIT_EXTERN(int) git_filter_list_stream_buffer(
|
|
|
237
240
|
* @param path the path of the file to filter, a relative path will be
|
|
238
241
|
* taken as relative to the workdir
|
|
239
242
|
* @param target the stream into which the data will be written
|
|
243
|
+
* @return 0 or an error code.
|
|
240
244
|
*/
|
|
241
245
|
GIT_EXTERN(int) git_filter_list_stream_file(
|
|
242
246
|
git_filter_list *filters,
|
|
@@ -250,6 +254,7 @@ GIT_EXTERN(int) git_filter_list_stream_file(
|
|
|
250
254
|
* @param filters the list of filters to apply
|
|
251
255
|
* @param blob the blob to filter
|
|
252
256
|
* @param target the stream into which the data will be written
|
|
257
|
+
* @return 0 or an error code.
|
|
253
258
|
*/
|
|
254
259
|
GIT_EXTERN(int) git_filter_list_stream_blob(
|
|
255
260
|
git_filter_list *filters,
|
|
@@ -33,6 +33,7 @@ GIT_BEGIN_DECL
|
|
|
33
33
|
* @param repo the repository where the commits exist
|
|
34
34
|
* @param local the commit for local
|
|
35
35
|
* @param upstream the commit for upstream
|
|
36
|
+
* @return 0 or an error code.
|
|
36
37
|
*/
|
|
37
38
|
GIT_EXTERN(int) git_graph_ahead_behind(size_t *ahead, size_t *behind, git_repository *repo, const git_oid *local, const git_oid *upstream);
|
|
38
39
|
|
|
@@ -29,7 +29,7 @@ GIT_BEGIN_DECL
|
|
|
29
29
|
* This would add three rules to the ignores.
|
|
30
30
|
*
|
|
31
31
|
* @param repo The repository to add ignore rules to.
|
|
32
|
-
* @param rules Text of rules,
|
|
32
|
+
* @param rules Text of rules, the contents to add on a .gitignore file.
|
|
33
33
|
* It is okay to have multiple rules in the text; if so,
|
|
34
34
|
* each rule should be terminated with a newline.
|
|
35
35
|
* @return 0 on success
|
|
@@ -86,7 +86,7 @@ typedef struct git_index_entry {
|
|
|
86
86
|
*/
|
|
87
87
|
typedef enum {
|
|
88
88
|
GIT_INDEX_ENTRY_EXTENDED = (0x4000),
|
|
89
|
-
GIT_INDEX_ENTRY_VALID = (0x8000)
|
|
89
|
+
GIT_INDEX_ENTRY_VALID = (0x8000)
|
|
90
90
|
} git_index_entry_flag_t;
|
|
91
91
|
|
|
92
92
|
#define GIT_INDEX_ENTRY_STAGE(E) \
|
|
@@ -119,7 +119,7 @@ typedef enum {
|
|
|
119
119
|
|
|
120
120
|
GIT_INDEX_ENTRY_EXTENDED_FLAGS = (GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE),
|
|
121
121
|
|
|
122
|
-
GIT_INDEX_ENTRY_UPTODATE = (1 << 2)
|
|
122
|
+
GIT_INDEX_ENTRY_UPTODATE = (1 << 2)
|
|
123
123
|
} git_index_entry_extended_flag_t;
|
|
124
124
|
|
|
125
125
|
/** Capabilities of system that affect index actions. */
|
|
@@ -127,7 +127,7 @@ typedef enum {
|
|
|
127
127
|
GIT_INDEX_CAPABILITY_IGNORE_CASE = 1,
|
|
128
128
|
GIT_INDEX_CAPABILITY_NO_FILEMODE = 2,
|
|
129
129
|
GIT_INDEX_CAPABILITY_NO_SYMLINKS = 4,
|
|
130
|
-
GIT_INDEX_CAPABILITY_FROM_OWNER = -1
|
|
130
|
+
GIT_INDEX_CAPABILITY_FROM_OWNER = -1
|
|
131
131
|
} git_index_capability_t;
|
|
132
132
|
|
|
133
133
|
|
|
@@ -140,7 +140,7 @@ typedef enum {
|
|
|
140
140
|
GIT_INDEX_ADD_DEFAULT = 0,
|
|
141
141
|
GIT_INDEX_ADD_FORCE = (1u << 0),
|
|
142
142
|
GIT_INDEX_ADD_DISABLE_PATHSPEC_MATCH = (1u << 1),
|
|
143
|
-
GIT_INDEX_ADD_CHECK_PATHSPEC = (1u << 2)
|
|
143
|
+
GIT_INDEX_ADD_CHECK_PATHSPEC = (1u << 2)
|
|
144
144
|
} git_index_add_option_t;
|
|
145
145
|
|
|
146
146
|
/** Git index stage states */
|
|
@@ -163,7 +163,7 @@ typedef enum {
|
|
|
163
163
|
GIT_INDEX_STAGE_OURS = 2,
|
|
164
164
|
|
|
165
165
|
/** The "theirs" side of a conflict. */
|
|
166
|
-
GIT_INDEX_STAGE_THEIRS = 3
|
|
166
|
+
GIT_INDEX_STAGE_THEIRS = 3
|
|
167
167
|
} git_index_stage_t;
|
|
168
168
|
|
|
169
169
|
/**
|
|
@@ -296,6 +296,7 @@ GIT_EXTERN(int) git_index_write(git_index *index);
|
|
|
296
296
|
*/
|
|
297
297
|
GIT_EXTERN(const char *) git_index_path(const git_index *index);
|
|
298
298
|
|
|
299
|
+
#ifndef GIT_DEPRECATE_HARD
|
|
299
300
|
/**
|
|
300
301
|
* Get the checksum of the index
|
|
301
302
|
*
|
|
@@ -303,10 +304,12 @@ GIT_EXTERN(const char *) git_index_path(const git_index *index);
|
|
|
303
304
|
* last 20 bytes which are the checksum itself). In cases where the
|
|
304
305
|
* index does not exist on-disk, it will be zeroed out.
|
|
305
306
|
*
|
|
307
|
+
* @deprecated this function is deprecated with no replacement
|
|
306
308
|
* @param index an existing index object
|
|
307
309
|
* @return a pointer to the checksum of the index
|
|
308
310
|
*/
|
|
309
311
|
GIT_EXTERN(const git_oid *) git_index_checksum(git_index *index);
|
|
312
|
+
#endif
|
|
310
313
|
|
|
311
314
|
/**
|
|
312
315
|
* Read a tree into the index file with stats
|
|
@@ -491,6 +494,7 @@ GIT_EXTERN(int) git_index_entry_is_conflict(const git_index_entry *entry);
|
|
|
491
494
|
*
|
|
492
495
|
* @param iterator_out The newly created iterator
|
|
493
496
|
* @param index The index to iterate
|
|
497
|
+
* @return 0 or an error code.
|
|
494
498
|
*/
|
|
495
499
|
GIT_EXTERN(int) git_index_iterator_new(
|
|
496
500
|
git_index_iterator **iterator_out,
|
|
@@ -787,6 +791,7 @@ GIT_EXTERN(int) git_index_conflict_cleanup(git_index *index);
|
|
|
787
791
|
/**
|
|
788
792
|
* Determine if the index contains entries representing file conflicts.
|
|
789
793
|
*
|
|
794
|
+
* @param index An existing index object.
|
|
790
795
|
* @return 1 if at least one conflict is found, 0 otherwise.
|
|
791
796
|
*/
|
|
792
797
|
GIT_EXTERN(int) git_index_has_conflicts(const git_index *index);
|
|
@@ -811,6 +816,7 @@ GIT_EXTERN(int) git_index_conflict_iterator_new(
|
|
|
811
816
|
* @param ancestor_out Pointer to store the ancestor side of the conflict
|
|
812
817
|
* @param our_out Pointer to store our side of the conflict
|
|
813
818
|
* @param their_out Pointer to store their side of the conflict
|
|
819
|
+
* @param iterator The conflict iterator.
|
|
814
820
|
* @return 0 (no error), GIT_ITEROVER (iteration is done) or an error code
|
|
815
821
|
* (negative value)
|
|
816
822
|
*/
|
|
@@ -98,6 +98,7 @@ GIT_EXTERN(int) git_indexer_options_init(
|
|
|
98
98
|
* will be returned if there are bases missing)
|
|
99
99
|
* @param opts Optional structure containing additional options. See
|
|
100
100
|
* `git_indexer_options` above.
|
|
101
|
+
* @return 0 or an error code.
|
|
101
102
|
*/
|
|
102
103
|
GIT_EXTERN(int) git_indexer_new(
|
|
103
104
|
git_indexer **out,
|
|
@@ -113,6 +114,7 @@ GIT_EXTERN(int) git_indexer_new(
|
|
|
113
114
|
* @param data the data to add
|
|
114
115
|
* @param size the size of the data in bytes
|
|
115
116
|
* @param stats stat storage
|
|
117
|
+
* @return 0 or an error code.
|
|
116
118
|
*/
|
|
117
119
|
GIT_EXTERN(int) git_indexer_append(git_indexer *idx, const void *data, size_t size, git_indexer_progress *stats);
|
|
118
120
|
|
|
@@ -122,18 +124,35 @@ GIT_EXTERN(int) git_indexer_append(git_indexer *idx, const void *data, size_t si
|
|
|
122
124
|
* Resolve any pending deltas and write out the index file
|
|
123
125
|
*
|
|
124
126
|
* @param idx the indexer
|
|
127
|
+
* @param stats Stat storage.
|
|
128
|
+
* @return 0 or an error code.
|
|
125
129
|
*/
|
|
126
130
|
GIT_EXTERN(int) git_indexer_commit(git_indexer *idx, git_indexer_progress *stats);
|
|
127
131
|
|
|
132
|
+
#ifndef GIT_DEPRECATE_HARD
|
|
128
133
|
/**
|
|
129
134
|
* Get the packfile's hash
|
|
130
135
|
*
|
|
131
136
|
* A packfile's name is derived from the sorted hashing of all object
|
|
132
137
|
* names. This is only correct after the index has been finalized.
|
|
133
138
|
*
|
|
139
|
+
* @deprecated use git_indexer_name
|
|
134
140
|
* @param idx the indexer instance
|
|
141
|
+
* @return the packfile's hash
|
|
135
142
|
*/
|
|
136
143
|
GIT_EXTERN(const git_oid *) git_indexer_hash(const git_indexer *idx);
|
|
144
|
+
#endif
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Get the unique name for the resulting packfile.
|
|
148
|
+
*
|
|
149
|
+
* The packfile's name is derived from the packfile's content.
|
|
150
|
+
* This is only correct after the index has been finalized.
|
|
151
|
+
*
|
|
152
|
+
* @param idx the indexer instance
|
|
153
|
+
* @return a NUL terminated string for the packfile name
|
|
154
|
+
*/
|
|
155
|
+
GIT_EXTERN(const char *) git_indexer_name(const git_indexer *idx);
|
|
137
156
|
|
|
138
157
|
/**
|
|
139
158
|
* Free the indexer and its resources
|
|
@@ -92,6 +92,14 @@ typedef enum {
|
|
|
92
92
|
* merge base to `git-merge-resolve`.
|
|
93
93
|
*/
|
|
94
94
|
GIT_MERGE_NO_RECURSIVE = (1 << 3),
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Treat this merge as if it is to produce the virtual base
|
|
98
|
+
* of a recursive merge. This will ensure that there are
|
|
99
|
+
* no conflicts, any conflicting regions will keep conflict
|
|
100
|
+
* markers in the merge result.
|
|
101
|
+
*/
|
|
102
|
+
GIT_MERGE_VIRTUAL_BASE = (1 << 4)
|
|
95
103
|
} git_merge_flag_t;
|
|
96
104
|
|
|
97
105
|
/**
|
|
@@ -127,7 +135,7 @@ typedef enum {
|
|
|
127
135
|
* which has the result of combining both files. The index will not
|
|
128
136
|
* record a conflict.
|
|
129
137
|
*/
|
|
130
|
-
GIT_MERGE_FILE_FAVOR_UNION = 3
|
|
138
|
+
GIT_MERGE_FILE_FAVOR_UNION = 3
|
|
131
139
|
} git_merge_file_favor_t;
|
|
132
140
|
|
|
133
141
|
/**
|
|
@@ -160,6 +168,16 @@ typedef enum {
|
|
|
160
168
|
|
|
161
169
|
/** Take extra time to find minimal diff */
|
|
162
170
|
GIT_MERGE_FILE_DIFF_MINIMAL = (1 << 7),
|
|
171
|
+
|
|
172
|
+
/** Create zdiff3 ("zealous diff3")-style files */
|
|
173
|
+
GIT_MERGE_FILE_STYLE_ZDIFF3 = (1 << 8),
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Do not produce file conflicts when common regions have
|
|
177
|
+
* changed; keep the conflict markers in the file and accept
|
|
178
|
+
* that as the merge result.
|
|
179
|
+
*/
|
|
180
|
+
GIT_MERGE_FILE_ACCEPT_CONFLICTS = (1 << 9)
|
|
163
181
|
} git_merge_file_flag_t;
|
|
164
182
|
|
|
165
183
|
#define GIT_MERGE_CONFLICT_MARKER_SIZE 7
|
|
@@ -341,7 +359,7 @@ typedef enum {
|
|
|
341
359
|
* a valid commit. No merge can be performed, but the caller may wish
|
|
342
360
|
* to simply set HEAD to the target commit(s).
|
|
343
361
|
*/
|
|
344
|
-
GIT_MERGE_ANALYSIS_UNBORN = (1 << 3)
|
|
362
|
+
GIT_MERGE_ANALYSIS_UNBORN = (1 << 3)
|
|
345
363
|
} git_merge_analysis_t;
|
|
346
364
|
|
|
347
365
|
/**
|
|
@@ -364,7 +382,7 @@ typedef enum {
|
|
|
364
382
|
* There is a `merge.ff=only` configuration setting, suggesting that
|
|
365
383
|
* the user only wants fast-forward merges.
|
|
366
384
|
*/
|
|
367
|
-
GIT_MERGE_PREFERENCE_FASTFORWARD_ONLY = (1 << 1)
|
|
385
|
+
GIT_MERGE_PREFERENCE_FASTFORWARD_ONLY = (1 << 1)
|
|
368
386
|
} git_merge_preference_t;
|
|
369
387
|
|
|
370
388
|
/**
|
|
@@ -372,6 +390,7 @@ typedef enum {
|
|
|
372
390
|
* merging them into the HEAD of the repository.
|
|
373
391
|
*
|
|
374
392
|
* @param analysis_out analysis enumeration that the result is written into
|
|
393
|
+
* @param preference_out One of the `git_merge_preference_t` flag.
|
|
375
394
|
* @param repo the repository to merge
|
|
376
395
|
* @param their_heads the heads to merge into
|
|
377
396
|
* @param their_heads_len the number of heads to merge
|
|
@@ -389,6 +408,7 @@ GIT_EXTERN(int) git_merge_analysis(
|
|
|
389
408
|
* merging them into a reference.
|
|
390
409
|
*
|
|
391
410
|
* @param analysis_out analysis enumeration that the result is written into
|
|
411
|
+
* @param preference_out One of the `git_merge_preference_t` flag.
|
|
392
412
|
* @param repo the repository to merge
|
|
393
413
|
* @param our_ref the reference to perform the analysis from
|
|
394
414
|
* @param their_heads the heads to merge into
|
|
@@ -75,6 +75,8 @@ GIT_EXTERN(int) git_message_trailers(git_message_trailer_array *arr, const char
|
|
|
75
75
|
/**
|
|
76
76
|
* Clean's up any allocated memory in the git_message_trailer_array filled by
|
|
77
77
|
* a call to git_message_trailers.
|
|
78
|
+
*
|
|
79
|
+
* @param arr The trailer to free.
|
|
78
80
|
*/
|
|
79
81
|
GIT_EXTERN(void) git_message_trailer_array_free(git_message_trailer_array *arr);
|
|
80
82
|
|
|
@@ -221,9 +221,32 @@ GIT_EXTERN(int) git_object_peel(
|
|
|
221
221
|
*
|
|
222
222
|
* @param dest Pointer to store the copy of the object
|
|
223
223
|
* @param source Original object to copy
|
|
224
|
+
* @return 0 or an error code
|
|
224
225
|
*/
|
|
225
226
|
GIT_EXTERN(int) git_object_dup(git_object **dest, git_object *source);
|
|
226
227
|
|
|
228
|
+
/**
|
|
229
|
+
* Analyzes a buffer of raw object content and determines its validity.
|
|
230
|
+
* Tree, commit, and tag objects will be parsed and ensured that they
|
|
231
|
+
* are valid, parseable content. (Blobs are always valid by definition.)
|
|
232
|
+
* An error message will be set with an informative message if the object
|
|
233
|
+
* is not valid.
|
|
234
|
+
*
|
|
235
|
+
* @warning This function is experimental and its signature may change in
|
|
236
|
+
* the future.
|
|
237
|
+
*
|
|
238
|
+
* @param valid Output pointer to set with validity of the object content
|
|
239
|
+
* @param buf The contents to validate
|
|
240
|
+
* @param len The length of the buffer
|
|
241
|
+
* @param type The type of the object in the buffer
|
|
242
|
+
* @return 0 on success or an error code
|
|
243
|
+
*/
|
|
244
|
+
GIT_EXTERN(int) git_object_rawcontent_is_valid(
|
|
245
|
+
int *valid,
|
|
246
|
+
const char *buf,
|
|
247
|
+
size_t len,
|
|
248
|
+
git_object_t type);
|
|
249
|
+
|
|
227
250
|
/** @} */
|
|
228
251
|
GIT_END_DECL
|
|
229
252
|
|
|
@@ -22,6 +22,17 @@
|
|
|
22
22
|
*/
|
|
23
23
|
GIT_BEGIN_DECL
|
|
24
24
|
|
|
25
|
+
/** Flags controlling the behavior of ODB lookup operations */
|
|
26
|
+
typedef enum {
|
|
27
|
+
/**
|
|
28
|
+
* Don't call `git_odb_refresh` if the lookup fails. Useful when doing
|
|
29
|
+
* a batch of lookup operations for objects that may legitimately not
|
|
30
|
+
* exist. When using this flag, you may wish to manually call
|
|
31
|
+
* `git_odb_refresh` before processing a batch of objects.
|
|
32
|
+
*/
|
|
33
|
+
GIT_ODB_LOOKUP_NO_REFRESH = (1 << 0)
|
|
34
|
+
} git_odb_lookup_flags_t;
|
|
35
|
+
|
|
25
36
|
/**
|
|
26
37
|
* Function type for callbacks from git_odb_foreach.
|
|
27
38
|
*/
|
|
@@ -155,6 +166,17 @@ GIT_EXTERN(int) git_odb_read_header(size_t *len_out, git_object_t *type_out, git
|
|
|
155
166
|
*/
|
|
156
167
|
GIT_EXTERN(int) git_odb_exists(git_odb *db, const git_oid *id);
|
|
157
168
|
|
|
169
|
+
/**
|
|
170
|
+
* Determine if the given object can be found in the object database, with
|
|
171
|
+
* extended options.
|
|
172
|
+
*
|
|
173
|
+
* @param db database to be searched for the given object.
|
|
174
|
+
* @param id the object to search for.
|
|
175
|
+
* @param flags flags affecting the lookup (see `git_odb_lookup_flags_t`)
|
|
176
|
+
* @return 1 if the object was found, 0 otherwise
|
|
177
|
+
*/
|
|
178
|
+
GIT_EXTERN(int) git_odb_exists_ext(git_odb *db, const git_oid *id, unsigned int flags);
|
|
179
|
+
|
|
158
180
|
/**
|
|
159
181
|
* Determine if an object can be found in the object database by an
|
|
160
182
|
* abbreviated object ID.
|
|
@@ -192,12 +214,13 @@ typedef struct git_odb_expand_id {
|
|
|
192
214
|
|
|
193
215
|
/**
|
|
194
216
|
* Determine if one or more objects can be found in the object database
|
|
195
|
-
* by their abbreviated object ID and type.
|
|
196
|
-
*
|
|
197
|
-
*
|
|
198
|
-
*
|
|
199
|
-
* the
|
|
200
|
-
* array
|
|
217
|
+
* by their abbreviated object ID and type.
|
|
218
|
+
*
|
|
219
|
+
* The given array will be updated in place: for each abbreviated ID that is
|
|
220
|
+
* unique in the database, and of the given type (if specified),
|
|
221
|
+
* the full object ID, object ID length (`GIT_OID_HEXSZ`) and type will be
|
|
222
|
+
* written back to the array. For IDs that are not found (or are ambiguous),
|
|
223
|
+
* the array entry will be zeroed.
|
|
201
224
|
*
|
|
202
225
|
* Note that since this function operates on multiple objects, the
|
|
203
226
|
* underlying database will not be asked to be reloaded if an object is
|
|
@@ -323,6 +346,11 @@ GIT_EXTERN(int) git_odb_stream_finalize_write(git_oid *out, git_odb_stream *stre
|
|
|
323
346
|
* Read from an odb stream
|
|
324
347
|
*
|
|
325
348
|
* Most backends don't implement streaming reads
|
|
349
|
+
*
|
|
350
|
+
* @param stream the stream
|
|
351
|
+
* @param buffer a user-allocated buffer to store the data in.
|
|
352
|
+
* @param len the buffer's length
|
|
353
|
+
* @return 0 if the read succeeded, error code otherwise
|
|
326
354
|
*/
|
|
327
355
|
GIT_EXTERN(int) git_odb_stream_read(git_odb_stream *stream, char *buffer, size_t len);
|
|
328
356
|
|
|
@@ -383,6 +411,7 @@ GIT_EXTERN(int) git_odb_open_rstream(
|
|
|
383
411
|
* Be aware that this is called inline with network and indexing operations,
|
|
384
412
|
* so performance may be affected.
|
|
385
413
|
* @param progress_payload payload for the progress callback
|
|
414
|
+
* @return 0 or an error code.
|
|
386
415
|
*/
|
|
387
416
|
GIT_EXTERN(int) git_odb_write_pack(
|
|
388
417
|
git_odb_writepack **out,
|
|
@@ -400,6 +429,7 @@ GIT_EXTERN(int) git_odb_write_pack(
|
|
|
400
429
|
* exist).
|
|
401
430
|
*
|
|
402
431
|
* @param db object database where the `multi-pack-index` file will be written.
|
|
432
|
+
* @return 0 or an error code.
|
|
403
433
|
*/
|
|
404
434
|
GIT_EXTERN(int) git_odb_write_multi_pack_index(
|
|
405
435
|
git_odb *db);
|
|
@@ -556,7 +586,7 @@ GIT_EXTERN(int) git_odb_get_backend(git_odb_backend **out, git_odb *odb, size_t
|
|
|
556
586
|
/**
|
|
557
587
|
* Set the git commit-graph for the ODB.
|
|
558
588
|
*
|
|
559
|
-
* After a
|
|
589
|
+
* After a successful call, the ownership of the cgraph parameter will be
|
|
560
590
|
* transferred to libgit2, and the caller should not free it.
|
|
561
591
|
*
|
|
562
592
|
* The commit-graph can also be unset by explicitly passing NULL as the cgraph
|
|
@@ -71,7 +71,7 @@ GIT_EXTERN(int) git_odb_backend_one_pack(git_odb_backend **out, const char *inde
|
|
|
71
71
|
typedef enum {
|
|
72
72
|
GIT_STREAM_RDONLY = (1 << 1),
|
|
73
73
|
GIT_STREAM_WRONLY = (1 << 2),
|
|
74
|
-
GIT_STREAM_RW = (GIT_STREAM_RDONLY | GIT_STREAM_WRONLY)
|
|
74
|
+
GIT_STREAM_RW = (GIT_STREAM_RDONLY | GIT_STREAM_WRONLY)
|
|
75
75
|
} git_odb_stream_t;
|
|
76
76
|
|
|
77
77
|
/**
|
|
@@ -51,7 +51,7 @@ GIT_BEGIN_DECL
|
|
|
51
51
|
*/
|
|
52
52
|
typedef enum {
|
|
53
53
|
GIT_PACKBUILDER_ADDING_OBJECTS = 0,
|
|
54
|
-
GIT_PACKBUILDER_DELTAFICATION = 1
|
|
54
|
+
GIT_PACKBUILDER_DELTAFICATION = 1
|
|
55
55
|
} git_packbuilder_stage_t;
|
|
56
56
|
|
|
57
57
|
/**
|
|
@@ -148,6 +148,7 @@ GIT_EXTERN(int) git_packbuilder_insert_recur(git_packbuilder *pb, const git_oid
|
|
|
148
148
|
*
|
|
149
149
|
* @param buf Buffer where to write the packfile
|
|
150
150
|
* @param pb The packbuilder
|
|
151
|
+
* @return 0 or an error code
|
|
151
152
|
*/
|
|
152
153
|
GIT_EXTERN(int) git_packbuilder_write_buf(git_buf *buf, git_packbuilder *pb);
|
|
153
154
|
|
|
@@ -169,15 +170,30 @@ GIT_EXTERN(int) git_packbuilder_write(
|
|
|
169
170
|
git_indexer_progress_cb progress_cb,
|
|
170
171
|
void *progress_cb_payload);
|
|
171
172
|
|
|
173
|
+
#ifndef GIT_DEPRECATE_HARD
|
|
172
174
|
/**
|
|
173
|
-
* Get the packfile's hash
|
|
174
|
-
*
|
|
175
|
-
* A packfile's name is derived from the sorted hashing of all object
|
|
176
|
-
* names. This is only correct after the packfile has been written.
|
|
177
|
-
*
|
|
178
|
-
* @
|
|
179
|
-
|
|
175
|
+
* Get the packfile's hash
|
|
176
|
+
*
|
|
177
|
+
* A packfile's name is derived from the sorted hashing of all object
|
|
178
|
+
* names. This is only correct after the packfile has been written.
|
|
179
|
+
*
|
|
180
|
+
* @deprecated use git_packbuilder_name
|
|
181
|
+
* @param pb The packbuilder object
|
|
182
|
+
* @return 0 or an error code
|
|
183
|
+
*/
|
|
180
184
|
GIT_EXTERN(const git_oid *) git_packbuilder_hash(git_packbuilder *pb);
|
|
185
|
+
#endif
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Get the unique name for the resulting packfile.
|
|
189
|
+
*
|
|
190
|
+
* The packfile's name is derived from the packfile's content.
|
|
191
|
+
* This is only correct after the packfile has been written.
|
|
192
|
+
*
|
|
193
|
+
* @param pb the packbuilder instance
|
|
194
|
+
* @return a NUL terminated string for the packfile name
|
|
195
|
+
*/
|
|
196
|
+
GIT_EXTERN(const char *) git_packbuilder_name(git_packbuilder *pb);
|
|
181
197
|
|
|
182
198
|
/**
|
|
183
199
|
* Callback used to iterate over packed objects
|
|
@@ -139,17 +139,25 @@ GIT_EXTERN(int) git_patch_from_buffers(
|
|
|
139
139
|
|
|
140
140
|
/**
|
|
141
141
|
* Free a git_patch object.
|
|
142
|
+
*
|
|
143
|
+
* @param patch The patch to free.
|
|
142
144
|
*/
|
|
143
145
|
GIT_EXTERN(void) git_patch_free(git_patch *patch);
|
|
144
146
|
|
|
145
147
|
/**
|
|
146
148
|
* Get the delta associated with a patch. This delta points to internal
|
|
147
149
|
* data and you do not have to release it when you are done with it.
|
|
150
|
+
*
|
|
151
|
+
* @param patch The patch in which to get the delta.
|
|
152
|
+
* @return The delta associated with the patch.
|
|
148
153
|
*/
|
|
149
154
|
GIT_EXTERN(const git_diff_delta *) git_patch_get_delta(const git_patch *patch);
|
|
150
155
|
|
|
151
156
|
/**
|
|
152
157
|
* Get the number of hunks in a patch
|
|
158
|
+
*
|
|
159
|
+
* @param patch The patch in which to get the number of hunks.
|
|
160
|
+
* @return The number of hunks of the patch.
|
|
153
161
|
*/
|
|
154
162
|
GIT_EXTERN(size_t) git_patch_num_hunks(const git_patch *patch);
|
|
155
163
|
|