rugged 1.3.1 → 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/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 +4 -1
- 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 -1
- 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 +4 -4
- 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 +97 -68
- 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 -11
- 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 -1803
- data/vendor/libgit2/src/path.h +34 -703
- 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 +338 -323
- data/vendor/libgit2/src/repository.h +11 -9
- 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
|
@@ -41,6 +41,30 @@ GIT_EXTERN(int) git_remote_create(
|
|
|
41
41
|
const char *name,
|
|
42
42
|
const char *url);
|
|
43
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Remote redirection settings; whether redirects to another host
|
|
46
|
+
* are permitted. By default, git will follow a redirect on the
|
|
47
|
+
* initial request (`/info/refs`), but not subsequent requests.
|
|
48
|
+
*/
|
|
49
|
+
typedef enum {
|
|
50
|
+
/**
|
|
51
|
+
* Do not follow any off-site redirects at any stage of
|
|
52
|
+
* the fetch or push.
|
|
53
|
+
*/
|
|
54
|
+
GIT_REMOTE_REDIRECT_NONE = (1 << 0),
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Allow off-site redirects only upon the initial request.
|
|
58
|
+
* This is the default.
|
|
59
|
+
*/
|
|
60
|
+
GIT_REMOTE_REDIRECT_INITIAL = (1 << 1),
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Allow redirects at any stage in the fetch or push.
|
|
64
|
+
*/
|
|
65
|
+
GIT_REMOTE_REDIRECT_ALL = (1 << 2)
|
|
66
|
+
} git_remote_redirect_t;
|
|
67
|
+
|
|
44
68
|
/**
|
|
45
69
|
* Remote creation options flags
|
|
46
70
|
*/
|
|
@@ -49,7 +73,7 @@ typedef enum {
|
|
|
49
73
|
GIT_REMOTE_CREATE_SKIP_INSTEADOF = (1 << 0),
|
|
50
74
|
|
|
51
75
|
/** Don't build a fetchspec from the name if none is set */
|
|
52
|
-
GIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC = (1 << 1)
|
|
76
|
+
GIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC = (1 << 1)
|
|
53
77
|
} git_remote_create_flags;
|
|
54
78
|
|
|
55
79
|
/**
|
|
@@ -300,6 +324,7 @@ GIT_EXTERN(int) git_remote_add_fetch(git_repository *repo, const char *remote, c
|
|
|
300
324
|
*
|
|
301
325
|
* @param array pointer to the array in which to store the strings
|
|
302
326
|
* @param remote the remote to query
|
|
327
|
+
* @return 0 or an error code.
|
|
303
328
|
*/
|
|
304
329
|
GIT_EXTERN(int) git_remote_get_fetch_refspecs(git_strarray *array, const git_remote *remote);
|
|
305
330
|
|
|
@@ -324,6 +349,7 @@ GIT_EXTERN(int) git_remote_add_push(git_repository *repo, const char *remote, co
|
|
|
324
349
|
*
|
|
325
350
|
* @param array pointer to the array in which to store the strings
|
|
326
351
|
* @param remote the remote to query
|
|
352
|
+
* @return 0 or an error code.
|
|
327
353
|
*/
|
|
328
354
|
GIT_EXTERN(int) git_remote_get_push_refspecs(git_strarray *array, const git_remote *remote);
|
|
329
355
|
|
|
@@ -344,23 +370,6 @@ GIT_EXTERN(size_t) git_remote_refspec_count(const git_remote *remote);
|
|
|
344
370
|
*/
|
|
345
371
|
GIT_EXTERN(const git_refspec *)git_remote_get_refspec(const git_remote *remote, size_t n);
|
|
346
372
|
|
|
347
|
-
/**
|
|
348
|
-
* Open a connection to a remote
|
|
349
|
-
*
|
|
350
|
-
* The transport is selected based on the URL. The direction argument
|
|
351
|
-
* is due to a limitation of the git protocol (over TCP or SSH) which
|
|
352
|
-
* starts up a specific binary which can only do the one or the other.
|
|
353
|
-
*
|
|
354
|
-
* @param remote the remote to connect to
|
|
355
|
-
* @param direction GIT_DIRECTION_FETCH if you want to fetch or
|
|
356
|
-
* GIT_DIRECTION_PUSH if you want to push
|
|
357
|
-
* @param callbacks the callbacks to use for this connection
|
|
358
|
-
* @param proxy_opts proxy settings
|
|
359
|
-
* @param custom_headers extra HTTP headers to use in this connection
|
|
360
|
-
* @return 0 or an error code
|
|
361
|
-
*/
|
|
362
|
-
GIT_EXTERN(int) git_remote_connect(git_remote *remote, git_direction direction, const git_remote_callbacks *callbacks, const git_proxy_options *proxy_opts, const git_strarray *custom_headers);
|
|
363
|
-
|
|
364
373
|
/**
|
|
365
374
|
* Get the remote repository's reference advertisement list
|
|
366
375
|
*
|
|
@@ -443,7 +452,7 @@ GIT_EXTERN(int) git_remote_list(git_strarray *out, git_repository *repo);
|
|
|
443
452
|
typedef enum git_remote_completion_t {
|
|
444
453
|
GIT_REMOTE_COMPLETION_DOWNLOAD,
|
|
445
454
|
GIT_REMOTE_COMPLETION_INDEXING,
|
|
446
|
-
GIT_REMOTE_COMPLETION_ERROR
|
|
455
|
+
GIT_REMOTE_COMPLETION_ERROR
|
|
447
456
|
} git_remote_completion_t;
|
|
448
457
|
|
|
449
458
|
/** Push network progress notification function */
|
|
@@ -665,7 +674,7 @@ typedef enum {
|
|
|
665
674
|
/**
|
|
666
675
|
* Force pruning off
|
|
667
676
|
*/
|
|
668
|
-
GIT_FETCH_NO_PRUNE
|
|
677
|
+
GIT_FETCH_NO_PRUNE
|
|
669
678
|
} git_fetch_prune_t;
|
|
670
679
|
|
|
671
680
|
/**
|
|
@@ -690,7 +699,7 @@ typedef enum {
|
|
|
690
699
|
/**
|
|
691
700
|
* Ask for the all the tags.
|
|
692
701
|
*/
|
|
693
|
-
GIT_REMOTE_DOWNLOAD_TAGS_ALL
|
|
702
|
+
GIT_REMOTE_DOWNLOAD_TAGS_ALL
|
|
694
703
|
} git_remote_autotag_option_t;
|
|
695
704
|
|
|
696
705
|
/**
|
|
@@ -734,6 +743,13 @@ typedef struct {
|
|
|
734
743
|
*/
|
|
735
744
|
git_proxy_options proxy_opts;
|
|
736
745
|
|
|
746
|
+
/**
|
|
747
|
+
* Whether to allow off-site redirects. If this is not
|
|
748
|
+
* specified, the `http.followRedirects` configuration setting
|
|
749
|
+
* will be consulted.
|
|
750
|
+
*/
|
|
751
|
+
git_remote_redirect_t follow_redirects;
|
|
752
|
+
|
|
737
753
|
/**
|
|
738
754
|
* Extra headers for this fetch operation
|
|
739
755
|
*/
|
|
@@ -785,6 +801,13 @@ typedef struct {
|
|
|
785
801
|
*/
|
|
786
802
|
git_proxy_options proxy_opts;
|
|
787
803
|
|
|
804
|
+
/**
|
|
805
|
+
* Whether to allow off-site redirects. If this is not
|
|
806
|
+
* specified, the `http.followRedirects` configuration setting
|
|
807
|
+
* will be consulted.
|
|
808
|
+
*/
|
|
809
|
+
git_remote_redirect_t follow_redirects;
|
|
810
|
+
|
|
788
811
|
/**
|
|
789
812
|
* Extra headers for this push operation
|
|
790
813
|
*/
|
|
@@ -809,7 +832,100 @@ GIT_EXTERN(int) git_push_options_init(
|
|
|
809
832
|
unsigned int version);
|
|
810
833
|
|
|
811
834
|
/**
|
|
812
|
-
*
|
|
835
|
+
* Remote creation options structure
|
|
836
|
+
*
|
|
837
|
+
* Initialize with `GIT_REMOTE_CREATE_OPTIONS_INIT`. Alternatively, you can
|
|
838
|
+
* use `git_remote_create_options_init`.
|
|
839
|
+
*
|
|
840
|
+
*/
|
|
841
|
+
typedef struct {
|
|
842
|
+
unsigned int version;
|
|
843
|
+
|
|
844
|
+
/** Callbacks to use for this connection */
|
|
845
|
+
git_remote_callbacks callbacks;
|
|
846
|
+
|
|
847
|
+
/** HTTP Proxy settings */
|
|
848
|
+
git_proxy_options proxy_opts;
|
|
849
|
+
|
|
850
|
+
/**
|
|
851
|
+
* Whether to allow off-site redirects. If this is not
|
|
852
|
+
* specified, the `http.followRedirects` configuration setting
|
|
853
|
+
* will be consulted.
|
|
854
|
+
*/
|
|
855
|
+
git_remote_redirect_t follow_redirects;
|
|
856
|
+
|
|
857
|
+
/** Extra HTTP headers to use in this connection */
|
|
858
|
+
git_strarray custom_headers;
|
|
859
|
+
} git_remote_connect_options;
|
|
860
|
+
|
|
861
|
+
#define GIT_REMOTE_CONNECT_OPTIONS_VERSION 1
|
|
862
|
+
#define GIT_REMOTE_CONNECT_OPTIONS_INIT { \
|
|
863
|
+
GIT_REMOTE_CONNECT_OPTIONS_VERSION, \
|
|
864
|
+
GIT_REMOTE_CALLBACKS_INIT, \
|
|
865
|
+
GIT_PROXY_OPTIONS_INIT }
|
|
866
|
+
|
|
867
|
+
/**
|
|
868
|
+
* Initialize git_remote_connect_options structure.
|
|
869
|
+
*
|
|
870
|
+
* Initializes a `git_remote_connect_options` with default values.
|
|
871
|
+
* Equivalent to creating an instance with
|
|
872
|
+
* `GIT_REMOTE_CONNECT_OPTIONS_INIT`.
|
|
873
|
+
*
|
|
874
|
+
* @param opts The `git_remote_connect_options` struct to initialize.
|
|
875
|
+
* @param version The struct version; pass `GIT_REMOTE_CONNECT_OPTIONS_VERSION`.
|
|
876
|
+
* @return Zero on success; -1 on failure.
|
|
877
|
+
*/
|
|
878
|
+
GIT_EXTERN(int) git_remote_connect_options_init(
|
|
879
|
+
git_remote_connect_options *opts,
|
|
880
|
+
unsigned int version);
|
|
881
|
+
|
|
882
|
+
/**
|
|
883
|
+
* Open a connection to a remote.
|
|
884
|
+
*
|
|
885
|
+
* The transport is selected based on the URL; the direction argument
|
|
886
|
+
* is due to a limitation of the git protocol which starts up a
|
|
887
|
+
* specific binary which can only do the one or the other.
|
|
888
|
+
*
|
|
889
|
+
* @param remote the remote to connect to
|
|
890
|
+
* @param direction GIT_DIRECTION_FETCH if you want to fetch or
|
|
891
|
+
* GIT_DIRECTION_PUSH if you want to push
|
|
892
|
+
* @param callbacks the callbacks to use for this connection
|
|
893
|
+
* @param proxy_opts proxy settings
|
|
894
|
+
* @param custom_headers extra HTTP headers to use in this connection
|
|
895
|
+
* @return 0 or an error code
|
|
896
|
+
*/
|
|
897
|
+
GIT_EXTERN(int) git_remote_connect(
|
|
898
|
+
git_remote *remote,
|
|
899
|
+
git_direction direction,
|
|
900
|
+
const git_remote_callbacks *callbacks,
|
|
901
|
+
const git_proxy_options *proxy_opts,
|
|
902
|
+
const git_strarray *custom_headers);
|
|
903
|
+
|
|
904
|
+
/**
|
|
905
|
+
* Open a connection to a remote with extended options.
|
|
906
|
+
*
|
|
907
|
+
* The transport is selected based on the URL; the direction argument
|
|
908
|
+
* is due to a limitation of the git protocol which starts up a
|
|
909
|
+
* specific binary which can only do the one or the other.
|
|
910
|
+
*
|
|
911
|
+
* The given options structure will form the defaults for connection
|
|
912
|
+
* options and callback setup. Callers may override these defaults
|
|
913
|
+
* by specifying `git_fetch_options` or `git_push_options` in
|
|
914
|
+
* subsequent calls.
|
|
915
|
+
*
|
|
916
|
+
* @param remote the remote to connect to
|
|
917
|
+
* @param direction GIT_DIRECTION_FETCH if you want to fetch or
|
|
918
|
+
* GIT_DIRECTION_PUSH if you want to push
|
|
919
|
+
* @param opts the remote connection options
|
|
920
|
+
* @return 0 or an error code
|
|
921
|
+
*/
|
|
922
|
+
GIT_EXTERN(int) git_remote_connect_ext(
|
|
923
|
+
git_remote *remote,
|
|
924
|
+
git_direction direction,
|
|
925
|
+
const git_remote_connect_options *opts);
|
|
926
|
+
|
|
927
|
+
/**
|
|
928
|
+
* Download and index the packfile.
|
|
813
929
|
*
|
|
814
930
|
* Connect to the remote if it hasn't been done yet, negotiate with
|
|
815
931
|
* the remote git which objects are missing, download and index the
|
|
@@ -818,19 +934,31 @@ GIT_EXTERN(int) git_push_options_init(
|
|
|
818
934
|
* The .idx file will be created and both it and the packfile with be
|
|
819
935
|
* renamed to their final name.
|
|
820
936
|
*
|
|
937
|
+
* If options are specified and this remote is already connected then
|
|
938
|
+
* the existing remote connection options will be discarded and the
|
|
939
|
+
* remote will now use the new options.
|
|
940
|
+
*
|
|
821
941
|
* @param remote the remote
|
|
822
942
|
* @param refspecs the refspecs to use for this negotiation and
|
|
823
943
|
* download. Use NULL or an empty array to use the base refspecs
|
|
824
|
-
* @param opts the options to use for this fetch
|
|
944
|
+
* @param opts the options to use for this fetch or NULL
|
|
825
945
|
* @return 0 or an error code
|
|
826
946
|
*/
|
|
827
|
-
GIT_EXTERN(int) git_remote_download(
|
|
947
|
+
GIT_EXTERN(int) git_remote_download(
|
|
948
|
+
git_remote *remote,
|
|
949
|
+
const git_strarray *refspecs,
|
|
950
|
+
const git_fetch_options *opts);
|
|
828
951
|
|
|
829
952
|
/**
|
|
830
953
|
* Create a packfile and send it to the server
|
|
831
954
|
*
|
|
832
955
|
* Connect to the remote if it hasn't been done yet, negotiate with
|
|
833
|
-
* the remote git which objects are missing, create a packfile with
|
|
956
|
+
* the remote git which objects are missing, create a packfile with
|
|
957
|
+
* the missing objects and send it.
|
|
958
|
+
*
|
|
959
|
+
* If options are specified and this remote is already connected then
|
|
960
|
+
* the existing remote connection options will be discarded and the
|
|
961
|
+
* remote will now use the new options.
|
|
834
962
|
*
|
|
835
963
|
* @param remote the remote
|
|
836
964
|
* @param refspecs the refspecs to use for this negotiation and
|
|
@@ -838,17 +966,23 @@ GIT_EXTERN(int) git_push_options_init(
|
|
|
838
966
|
* @param opts the options to use for this push
|
|
839
967
|
* @return 0 or an error code
|
|
840
968
|
*/
|
|
841
|
-
GIT_EXTERN(int) git_remote_upload(
|
|
969
|
+
GIT_EXTERN(int) git_remote_upload(
|
|
970
|
+
git_remote *remote,
|
|
971
|
+
const git_strarray *refspecs,
|
|
972
|
+
const git_push_options *opts);
|
|
842
973
|
|
|
843
974
|
/**
|
|
844
|
-
* Update the tips to the new state
|
|
975
|
+
* Update the tips to the new state.
|
|
976
|
+
*
|
|
977
|
+
* If callbacks are not specified then the callbacks specified to
|
|
978
|
+
* `git_remote_connect` will be used (if it was called).
|
|
845
979
|
*
|
|
846
980
|
* @param remote the remote to update
|
|
847
981
|
* @param reflog_message The message to insert into the reflogs. If
|
|
848
982
|
* NULL and fetching, the default is "fetch <name>", where <name> is
|
|
849
983
|
* the name of the remote (or its url, for in-memory remotes). This
|
|
850
984
|
* parameter is ignored when pushing.
|
|
851
|
-
* @param callbacks pointer to the callback structure to use
|
|
985
|
+
* @param callbacks pointer to the callback structure to use or NULL
|
|
852
986
|
* @param update_fetchhead whether to write to FETCH_HEAD. Pass 1 to behave like git.
|
|
853
987
|
* @param download_tags what the behaviour for downloading tags is for this fetch. This is
|
|
854
988
|
* ignored for push. This must be the same value passed to `git_remote_download()`.
|
|
@@ -862,15 +996,19 @@ GIT_EXTERN(int) git_remote_update_tips(
|
|
|
862
996
|
const char *reflog_message);
|
|
863
997
|
|
|
864
998
|
/**
|
|
865
|
-
* Download new data and update tips
|
|
999
|
+
* Download new data and update tips.
|
|
866
1000
|
*
|
|
867
1001
|
* Convenience function to connect to a remote, download the data,
|
|
868
1002
|
* disconnect and update the remote-tracking branches.
|
|
869
1003
|
*
|
|
1004
|
+
* If options are specified and this remote is already connected then
|
|
1005
|
+
* the existing remote connection options will be discarded and the
|
|
1006
|
+
* remote will now use the new options.
|
|
1007
|
+
*
|
|
870
1008
|
* @param remote the remote to fetch from
|
|
871
1009
|
* @param refspecs the refspecs to use for this fetch. Pass NULL or an
|
|
872
1010
|
* empty array to use the base refspecs.
|
|
873
|
-
* @param opts options to use for this fetch
|
|
1011
|
+
* @param opts options to use for this fetch or NULL
|
|
874
1012
|
* @param reflog_message The message to insert into the reflogs. If NULL, the
|
|
875
1013
|
* default is "fetch"
|
|
876
1014
|
* @return 0 or an error code
|
|
@@ -882,27 +1020,36 @@ GIT_EXTERN(int) git_remote_fetch(
|
|
|
882
1020
|
const char *reflog_message);
|
|
883
1021
|
|
|
884
1022
|
/**
|
|
885
|
-
* Prune tracking refs that are no longer present on remote
|
|
1023
|
+
* Prune tracking refs that are no longer present on remote.
|
|
1024
|
+
*
|
|
1025
|
+
* If callbacks are not specified then the callbacks specified to
|
|
1026
|
+
* `git_remote_connect` will be used (if it was called).
|
|
886
1027
|
*
|
|
887
1028
|
* @param remote the remote to prune
|
|
888
1029
|
* @param callbacks callbacks to use for this prune
|
|
889
1030
|
* @return 0 or an error code
|
|
890
1031
|
*/
|
|
891
|
-
GIT_EXTERN(int) git_remote_prune(
|
|
1032
|
+
GIT_EXTERN(int) git_remote_prune(
|
|
1033
|
+
git_remote *remote,
|
|
1034
|
+
const git_remote_callbacks *callbacks);
|
|
892
1035
|
|
|
893
1036
|
/**
|
|
894
|
-
* Perform a push
|
|
1037
|
+
* Perform a push.
|
|
895
1038
|
*
|
|
896
|
-
*
|
|
1039
|
+
* If options are specified and this remote is already connected then
|
|
1040
|
+
* the existing remote connection options will be discarded and the
|
|
1041
|
+
* remote will now use the new options.
|
|
897
1042
|
*
|
|
898
1043
|
* @param remote the remote to push to
|
|
899
1044
|
* @param refspecs the refspecs to use for pushing. If NULL or an empty
|
|
900
1045
|
* array, the configured refspecs will be used
|
|
901
1046
|
* @param opts options to use for this push
|
|
1047
|
+
* @return 0 or an error code.
|
|
902
1048
|
*/
|
|
903
|
-
GIT_EXTERN(int) git_remote_push(
|
|
904
|
-
|
|
905
|
-
|
|
1049
|
+
GIT_EXTERN(int) git_remote_push(
|
|
1050
|
+
git_remote *remote,
|
|
1051
|
+
const git_strarray *refspecs,
|
|
1052
|
+
const git_push_options *opts);
|
|
906
1053
|
|
|
907
1054
|
/**
|
|
908
1055
|
* Get the statistics structure that is filled in by the fetch operation.
|
|
@@ -141,7 +141,7 @@ typedef enum {
|
|
|
141
141
|
* `git_repository_open_ext` with this flag will error out if either
|
|
142
142
|
* $GIT_WORK_TREE or $GIT_COMMON_DIR is set.
|
|
143
143
|
*/
|
|
144
|
-
GIT_REPOSITORY_OPEN_FROM_ENV = (1 << 4)
|
|
144
|
+
GIT_REPOSITORY_OPEN_FROM_ENV = (1 << 4)
|
|
145
145
|
} git_repository_open_flag_t;
|
|
146
146
|
|
|
147
147
|
/**
|
|
@@ -267,7 +267,7 @@ typedef enum {
|
|
|
267
267
|
* If an alternate workdir is specified, use relative paths for the gitdir
|
|
268
268
|
* and core.worktree.
|
|
269
269
|
*/
|
|
270
|
-
GIT_REPOSITORY_INIT_RELATIVE_GITLINK = (1u << 6)
|
|
270
|
+
GIT_REPOSITORY_INIT_RELATIVE_GITLINK = (1u << 6)
|
|
271
271
|
} git_repository_init_flag_t;
|
|
272
272
|
|
|
273
273
|
/**
|
|
@@ -292,7 +292,7 @@ typedef enum {
|
|
|
292
292
|
/**
|
|
293
293
|
* Use "--shared=all" behavior, adding world readability.
|
|
294
294
|
*/
|
|
295
|
-
GIT_REPOSITORY_INIT_SHARED_ALL = 0002777
|
|
295
|
+
GIT_REPOSITORY_INIT_SHARED_ALL = 0002777
|
|
296
296
|
} git_repository_init_mode_t;
|
|
297
297
|
|
|
298
298
|
/**
|
|
@@ -673,6 +673,9 @@ GIT_EXTERN(int) git_repository_message(git_buf *out, git_repository *repo);
|
|
|
673
673
|
* Remove git's prepared message.
|
|
674
674
|
*
|
|
675
675
|
* Remove the message that `git_repository_message` retrieves.
|
|
676
|
+
*
|
|
677
|
+
* @param repo Repository to remove prepared message from.
|
|
678
|
+
* @return 0 or an error code.
|
|
676
679
|
*/
|
|
677
680
|
GIT_EXTERN(int) git_repository_message_remove(git_repository *repo);
|
|
678
681
|
|
|
@@ -808,19 +811,19 @@ GIT_EXTERN(int) git_repository_set_head(
|
|
|
808
811
|
* If the provided committish cannot be found in the repository, the HEAD
|
|
809
812
|
* is unaltered and GIT_ENOTFOUND is returned.
|
|
810
813
|
*
|
|
811
|
-
* If the provided
|
|
814
|
+
* If the provided committish cannot be peeled into a commit, the HEAD
|
|
812
815
|
* is unaltered and -1 is returned.
|
|
813
816
|
*
|
|
814
817
|
* Otherwise, the HEAD will eventually be detached and will directly point to
|
|
815
818
|
* the peeled Commit.
|
|
816
819
|
*
|
|
817
820
|
* @param repo Repository pointer
|
|
818
|
-
* @param
|
|
821
|
+
* @param committish Object id of the Commit the HEAD should point to
|
|
819
822
|
* @return 0 on success, or an error code
|
|
820
823
|
*/
|
|
821
824
|
GIT_EXTERN(int) git_repository_set_head_detached(
|
|
822
825
|
git_repository *repo,
|
|
823
|
-
const git_oid *
|
|
826
|
+
const git_oid *committish);
|
|
824
827
|
|
|
825
828
|
/**
|
|
826
829
|
* Make the repository HEAD directly point to the Commit.
|
|
@@ -836,7 +839,7 @@ GIT_EXTERN(int) git_repository_set_head_detached(
|
|
|
836
839
|
*/
|
|
837
840
|
GIT_EXTERN(int) git_repository_set_head_detached_from_annotated(
|
|
838
841
|
git_repository *repo,
|
|
839
|
-
const git_annotated_commit *
|
|
842
|
+
const git_annotated_commit *committish);
|
|
840
843
|
|
|
841
844
|
/**
|
|
842
845
|
* Detach the HEAD.
|
|
@@ -846,7 +849,7 @@ GIT_EXTERN(int) git_repository_set_head_detached_from_annotated(
|
|
|
846
849
|
* If the HEAD is already detached and points to a Tag, the HEAD is
|
|
847
850
|
* updated into making it point to the peeled Commit, and 0 is returned.
|
|
848
851
|
*
|
|
849
|
-
* If the HEAD is already detached and points to a non
|
|
852
|
+
* If the HEAD is already detached and points to a non committish, the HEAD is
|
|
850
853
|
* unaltered, and -1 is returned.
|
|
851
854
|
*
|
|
852
855
|
* Otherwise, the HEAD will be detached and point to the peeled Commit.
|
|
@@ -876,7 +879,7 @@ typedef enum {
|
|
|
876
879
|
GIT_REPOSITORY_STATE_REBASE_INTERACTIVE,
|
|
877
880
|
GIT_REPOSITORY_STATE_REBASE_MERGE,
|
|
878
881
|
GIT_REPOSITORY_STATE_APPLY_MAILBOX,
|
|
879
|
-
GIT_REPOSITORY_STATE_APPLY_MAILBOX_OR_REBASE
|
|
882
|
+
GIT_REPOSITORY_STATE_APPLY_MAILBOX_OR_REBASE
|
|
880
883
|
} git_repository_state_t;
|
|
881
884
|
|
|
882
885
|
/**
|
|
@@ -928,6 +931,7 @@ GIT_EXTERN(int) git_repository_is_shallow(git_repository *repo);
|
|
|
928
931
|
* @param name where to store the pointer to the name
|
|
929
932
|
* @param email where to store the pointer to the email
|
|
930
933
|
* @param repo the repository
|
|
934
|
+
* @return 0 or an error code
|
|
931
935
|
*/
|
|
932
936
|
GIT_EXTERN(int) git_repository_ident(const char **name, const char **email, const git_repository *repo);
|
|
933
937
|
|
|
@@ -941,6 +945,7 @@ GIT_EXTERN(int) git_repository_ident(const char **name, const char **email, cons
|
|
|
941
945
|
* @param repo the repository to configure
|
|
942
946
|
* @param name the name to use for the reflog entries
|
|
943
947
|
* @param email the email to use for the reflog entries
|
|
948
|
+
* @return 0 or an error code.
|
|
944
949
|
*/
|
|
945
950
|
GIT_EXTERN(int) git_repository_set_ident(git_repository *repo, const char *name, const char *email);
|
|
946
951
|
|
|
@@ -26,7 +26,7 @@ GIT_BEGIN_DECL
|
|
|
26
26
|
typedef enum {
|
|
27
27
|
GIT_RESET_SOFT = 1, /**< Move the head to the given commit */
|
|
28
28
|
GIT_RESET_MIXED = 2, /**< SOFT plus reset index to the commit */
|
|
29
|
-
GIT_RESET_HARD = 3
|
|
29
|
+
GIT_RESET_HARD = 3 /**< MIXED plus changes in working tree discarded */
|
|
30
30
|
} git_reset_t;
|
|
31
31
|
|
|
32
32
|
/**
|
|
@@ -48,7 +48,7 @@ typedef enum {
|
|
|
48
48
|
*
|
|
49
49
|
* @param target Committish to which the Head should be moved to. This object
|
|
50
50
|
* must belong to the given `repo` and can either be a git_commit or a
|
|
51
|
-
* git_tag. When a git_tag is being passed, it should be
|
|
51
|
+
* git_tag. When a git_tag is being passed, it should be dereferenceable
|
|
52
52
|
* to a git_commit which oid will be used as the target of the branch.
|
|
53
53
|
*
|
|
54
54
|
* @param reset_type Kind of reset operation to perform.
|
|
@@ -74,7 +74,7 @@ typedef enum {
|
|
|
74
74
|
/** The spec targeted a range of commits. */
|
|
75
75
|
GIT_REVSPEC_RANGE = 1 << 1,
|
|
76
76
|
/** The spec used the '...' operator, which invokes special semantics. */
|
|
77
|
-
GIT_REVSPEC_MERGE_BASE = 1 << 2
|
|
77
|
+
GIT_REVSPEC_MERGE_BASE = 1 << 2
|
|
78
78
|
} git_revspec_t;
|
|
79
79
|
|
|
80
80
|
/**
|
|
@@ -49,7 +49,7 @@ typedef enum {
|
|
|
49
49
|
* order; this sorting mode can be combined with
|
|
50
50
|
* any of the above.
|
|
51
51
|
*/
|
|
52
|
-
GIT_SORT_REVERSE = 1 << 2
|
|
52
|
+
GIT_SORT_REVERSE = 1 << 2
|
|
53
53
|
} git_sort_t;
|
|
54
54
|
|
|
55
55
|
/**
|
|
@@ -249,6 +249,7 @@ GIT_EXTERN(int) git_revwalk_push_range(git_revwalk *walk, const char *range);
|
|
|
249
249
|
*
|
|
250
250
|
* No parents other than the first for each commit will be enqueued.
|
|
251
251
|
*
|
|
252
|
+
* @param walk The revision walker.
|
|
252
253
|
* @return 0 or an error code
|
|
253
254
|
*/
|
|
254
255
|
GIT_EXTERN(int) git_revwalk_simplify_first_parent(git_revwalk *walk);
|
|
@@ -277,6 +278,7 @@ GIT_EXTERN(git_repository *) git_revwalk_repository(git_revwalk *walk);
|
|
|
277
278
|
*
|
|
278
279
|
* @param commit_id oid of Commit
|
|
279
280
|
* @param payload User-specified pointer to data to be passed as data payload
|
|
281
|
+
* @return non-zero to hide the commmit and it parent.
|
|
280
282
|
*/
|
|
281
283
|
typedef int GIT_CALLBACK(git_revwalk_hide_cb)(
|
|
282
284
|
const git_oid *commit_id,
|
|
@@ -288,6 +290,7 @@ typedef int GIT_CALLBACK(git_revwalk_hide_cb)(
|
|
|
288
290
|
* @param walk the revision walker
|
|
289
291
|
* @param hide_cb callback function to hide a commit and its parents
|
|
290
292
|
* @param payload data payload to be passed to callback function
|
|
293
|
+
* @return 0 or an error code.
|
|
291
294
|
*/
|
|
292
295
|
GIT_EXTERN(int) git_revwalk_add_hide_cb(
|
|
293
296
|
git_revwalk *walk,
|
|
@@ -71,7 +71,7 @@ GIT_EXTERN(int) git_signature_default(git_signature **out, git_repository *repo)
|
|
|
71
71
|
*
|
|
72
72
|
* @param out new signature
|
|
73
73
|
* @param buf signature string
|
|
74
|
-
* @return 0 on success, or an error code
|
|
74
|
+
* @return 0 on success, GIT_EINVALID if the signature is not parseable, or an error code
|
|
75
75
|
*/
|
|
76
76
|
GIT_EXTERN(int) git_signature_from_buffer(git_signature **out, const char *buf);
|
|
77
77
|
|
|
@@ -44,7 +44,7 @@ typedef enum {
|
|
|
44
44
|
* All ignored files are also stashed and then cleaned up from
|
|
45
45
|
* the working directory
|
|
46
46
|
*/
|
|
47
|
-
GIT_STASH_INCLUDE_IGNORED = (1 << 2)
|
|
47
|
+
GIT_STASH_INCLUDE_IGNORED = (1 << 2)
|
|
48
48
|
} git_stash_flags;
|
|
49
49
|
|
|
50
50
|
/**
|
|
@@ -78,7 +78,7 @@ typedef enum {
|
|
|
78
78
|
/* Try to reinstate not only the working tree's changes,
|
|
79
79
|
* but also the index's changes.
|
|
80
80
|
*/
|
|
81
|
-
GIT_STASH_APPLY_REINSTATE_INDEX = (1 << 0)
|
|
81
|
+
GIT_STASH_APPLY_REINSTATE_INDEX = (1 << 0)
|
|
82
82
|
} git_stash_apply_flags;
|
|
83
83
|
|
|
84
84
|
/** Stash apply progression states */
|
|
@@ -104,7 +104,7 @@ typedef enum {
|
|
|
104
104
|
GIT_STASH_APPLY_PROGRESS_CHECKOUT_MODIFIED,
|
|
105
105
|
|
|
106
106
|
/** The stash was applied successfully. */
|
|
107
|
-
GIT_STASH_APPLY_PROGRESS_DONE
|
|
107
|
+
GIT_STASH_APPLY_PROGRESS_DONE
|
|
108
108
|
} git_stash_apply_progress_t;
|
|
109
109
|
|
|
110
110
|
/**
|
|
@@ -48,7 +48,7 @@ typedef enum {
|
|
|
48
48
|
GIT_STATUS_WT_UNREADABLE = (1u << 12),
|
|
49
49
|
|
|
50
50
|
GIT_STATUS_IGNORED = (1u << 14),
|
|
51
|
-
GIT_STATUS_CONFLICTED = (1u << 15)
|
|
51
|
+
GIT_STATUS_CONFLICTED = (1u << 15)
|
|
52
52
|
} git_status_t;
|
|
53
53
|
|
|
54
54
|
/**
|
|
@@ -87,7 +87,7 @@ typedef enum {
|
|
|
87
87
|
* Only gives status based on index to working directory comparison,
|
|
88
88
|
* not comparing the index to the HEAD.
|
|
89
89
|
*/
|
|
90
|
-
GIT_STATUS_SHOW_WORKDIR_ONLY = 2
|
|
90
|
+
GIT_STATUS_SHOW_WORKDIR_ONLY = 2
|
|
91
91
|
} git_status_show_t;
|
|
92
92
|
|
|
93
93
|
/**
|
|
@@ -204,7 +204,7 @@ typedef enum {
|
|
|
204
204
|
* Unreadable files will be detected and given the status
|
|
205
205
|
* untracked instead of unreadable.
|
|
206
206
|
*/
|
|
207
|
-
GIT_STATUS_OPT_INCLUDE_UNREADABLE_AS_UNTRACKED = (1u << 15)
|
|
207
|
+
GIT_STATUS_OPT_INCLUDE_UNREADABLE_AS_UNTRACKED = (1u << 15)
|
|
208
208
|
} git_status_opt_t;
|
|
209
209
|
|
|
210
210
|
#define GIT_STATUS_OPT_DEFAULTS \
|
|
@@ -250,6 +250,12 @@ typedef struct {
|
|
|
250
250
|
* working directory and index; defaults to HEAD.
|
|
251
251
|
*/
|
|
252
252
|
git_tree *baseline;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Threshold above which similar files will be considered renames.
|
|
256
|
+
* This is equivalent to the -M option. Defaults to 50.
|
|
257
|
+
*/
|
|
258
|
+
uint16_t rename_threshold;
|
|
253
259
|
} git_status_options;
|
|
254
260
|
|
|
255
261
|
#define GIT_STATUS_OPTIONS_VERSION 1
|
|
@@ -85,7 +85,7 @@ typedef enum {
|
|
|
85
85
|
GIT_SUBMODULE_STATUS_WD_MODIFIED = (1u << 10),
|
|
86
86
|
GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED = (1u << 11),
|
|
87
87
|
GIT_SUBMODULE_STATUS_WD_WD_MODIFIED = (1u << 12),
|
|
88
|
-
GIT_SUBMODULE_STATUS_WD_UNTRACKED = (1u << 13)
|
|
88
|
+
GIT_SUBMODULE_STATUS_WD_UNTRACKED = (1u << 13)
|
|
89
89
|
} git_submodule_status_t;
|
|
90
90
|
|
|
91
91
|
#define GIT_SUBMODULE_STATUS__IN_FLAGS 0x000Fu
|
|
@@ -181,7 +181,7 @@ GIT_EXTERN(int) git_submodule_update_options_init(
|
|
|
181
181
|
* @param submodule Submodule object
|
|
182
182
|
* @param init If the submodule is not initialized, setting this flag to true
|
|
183
183
|
* will initialize the submodule before updating. Otherwise, this will
|
|
184
|
-
* return an error if attempting to update an
|
|
184
|
+
* return an error if attempting to update an uninitialized repository.
|
|
185
185
|
* but setting this to true forces them to be updated.
|
|
186
186
|
* @param options configuration options for the update. If NULL, the
|
|
187
187
|
* function works as though GIT_SUBMODULE_UPDATE_OPTIONS_INIT was passed.
|
|
@@ -229,6 +229,7 @@ GIT_EXTERN(int) git_submodule_lookup(
|
|
|
229
229
|
*
|
|
230
230
|
* @param out Pointer to store the copy of the submodule.
|
|
231
231
|
* @param source Original submodule to copy.
|
|
232
|
+
* @return 0
|
|
232
233
|
*/
|
|
233
234
|
GIT_EXTERN(int) git_submodule_dup(git_submodule **out, git_submodule *source);
|
|
234
235
|
|
|
@@ -320,6 +321,7 @@ GIT_EXTERN(int) git_submodule_clone(
|
|
|
320
321
|
* (but doesn't actually do the commit).
|
|
321
322
|
*
|
|
322
323
|
* @param submodule The submodule to finish adding.
|
|
324
|
+
* @return 0 or an error code.
|
|
323
325
|
*/
|
|
324
326
|
GIT_EXTERN(int) git_submodule_add_finalize(git_submodule *submodule);
|
|
325
327
|
|
|
@@ -589,6 +591,9 @@ GIT_EXTERN(int) git_submodule_repo_init(
|
|
|
589
591
|
* submodule config, acting like "git submodule sync". This is useful if
|
|
590
592
|
* you have altered the URL for the submodule (or it has been altered by a
|
|
591
593
|
* fetch of upstream changes) and you need to update your local repo.
|
|
594
|
+
*
|
|
595
|
+
* @param submodule The submodule to copy.
|
|
596
|
+
* @return 0 or an error code.
|
|
592
597
|
*/
|
|
593
598
|
GIT_EXTERN(int) git_submodule_sync(git_submodule *submodule);
|
|
594
599
|
|
|
@@ -94,7 +94,7 @@ typedef enum {
|
|
|
94
94
|
* Do not split commit-graph files. The other split strategy-related option
|
|
95
95
|
* fields are ignored.
|
|
96
96
|
*/
|
|
97
|
-
GIT_COMMIT_GRAPH_SPLIT_STRATEGY_SINGLE_FILE = 0
|
|
97
|
+
GIT_COMMIT_GRAPH_SPLIT_STRATEGY_SINGLE_FILE = 0
|
|
98
98
|
} git_commit_graph_split_strategy_t;
|
|
99
99
|
|
|
100
100
|
/**
|
|
@@ -69,11 +69,8 @@ struct git_odb_backend {
|
|
|
69
69
|
* If the backend implements a refreshing mechanism, it should be exposed
|
|
70
70
|
* through this endpoint. Each call to `git_odb_refresh()` will invoke it.
|
|
71
71
|
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
* `git_odb_refresh()`. For instance, a potential strategy for the backend
|
|
75
|
-
* implementation to achieve this could be to internally invoke this
|
|
76
|
-
* endpoint on failed lookups (ie. `exists()`, `read()`, `read_header()`).
|
|
72
|
+
* The odb layer will automatically call this when needed on failed
|
|
73
|
+
* lookups (ie. `exists()`, `read()`, `read_header()`).
|
|
77
74
|
*/
|
|
78
75
|
int GIT_CALLBACK(refresh)(git_odb_backend *);
|
|
79
76
|
|