rugged 1.1.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +1 -0
- data/README.md +1 -1
- data/ext/rugged/rugged.c +7 -4
- data/ext/rugged/rugged_object.c +1 -1
- data/ext/rugged/rugged_repo.c +3 -3
- data/lib/rugged/repository.rb +2 -2
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +11 -6
- data/vendor/libgit2/COPYING +109 -1
- data/vendor/libgit2/cmake/Findfutimens.cmake +14 -0
- data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +4 -0
- data/vendor/libgit2/cmake/SelectHashes.cmake +1 -0
- data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +101 -0
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +17 -5
- data/vendor/libgit2/deps/ntlmclient/crypt.h +14 -9
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +20 -20
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +3 -3
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +37 -36
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +4 -3
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +178 -51
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +74 -5
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +150 -118
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +13 -9
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +16 -3
- data/vendor/libgit2/deps/ntlmclient/unicode.h +10 -4
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +16 -27
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.h +20 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +28 -52
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.h +22 -0
- data/vendor/libgit2/include/git2/attr.h +89 -0
- data/vendor/libgit2/include/git2/blame.h +93 -42
- data/vendor/libgit2/include/git2/blob.h +14 -2
- data/vendor/libgit2/include/git2/branch.h +25 -0
- data/vendor/libgit2/include/git2/cert.h +42 -5
- data/vendor/libgit2/include/git2/checkout.h +28 -12
- data/vendor/libgit2/include/git2/commit.h +35 -19
- data/vendor/libgit2/include/git2/common.h +14 -4
- data/vendor/libgit2/include/git2/deprecated.h +206 -6
- data/vendor/libgit2/include/git2/diff.h +34 -19
- data/vendor/libgit2/include/git2/errors.h +6 -6
- data/vendor/libgit2/include/git2/filter.h +57 -17
- data/vendor/libgit2/include/git2/graph.h +20 -2
- data/vendor/libgit2/include/git2/index.h +2 -2
- data/vendor/libgit2/include/git2/odb.h +29 -0
- data/vendor/libgit2/include/git2/patch.h +8 -0
- data/vendor/libgit2/include/git2/rebase.h +25 -1
- data/vendor/libgit2/include/git2/refs.h +6 -2
- data/vendor/libgit2/include/git2/remote.h +59 -6
- data/vendor/libgit2/include/git2/revparse.h +5 -5
- data/vendor/libgit2/include/git2/status.h +115 -59
- data/vendor/libgit2/include/git2/submodule.h +9 -0
- data/vendor/libgit2/include/git2/sys/commit_graph.h +174 -0
- data/vendor/libgit2/include/git2/sys/filter.h +49 -28
- data/vendor/libgit2/include/git2/sys/midx.h +74 -0
- data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -0
- data/vendor/libgit2/include/git2/sys/transport.h +1 -0
- data/vendor/libgit2/include/git2/tag.h +12 -0
- data/vendor/libgit2/include/git2/tree.h +0 -14
- data/vendor/libgit2/include/git2/types.h +9 -0
- data/vendor/libgit2/include/git2/version.h +4 -4
- data/vendor/libgit2/include/git2/worktree.h +1 -0
- data/vendor/libgit2/src/CMakeLists.txt +25 -4
- data/vendor/libgit2/src/alloc.c +21 -8
- data/vendor/libgit2/src/allocators/failalloc.c +92 -0
- data/vendor/libgit2/src/allocators/failalloc.h +23 -0
- data/vendor/libgit2/src/allocators/stdalloc.c +41 -10
- data/vendor/libgit2/src/allocators/win32_leakcheck.c +118 -0
- data/vendor/libgit2/src/allocators/{win32_crtdbg.h → win32_leakcheck.h} +3 -3
- data/vendor/libgit2/src/annotated_commit.c +21 -9
- data/vendor/libgit2/src/apply.c +16 -7
- data/vendor/libgit2/src/array.h +11 -11
- data/vendor/libgit2/src/attr.c +181 -74
- data/vendor/libgit2/src/attr_file.c +84 -39
- data/vendor/libgit2/src/attr_file.h +32 -11
- data/vendor/libgit2/src/attrcache.c +42 -37
- data/vendor/libgit2/src/attrcache.h +4 -5
- data/vendor/libgit2/src/blame.c +11 -5
- data/vendor/libgit2/src/blob.c +35 -24
- data/vendor/libgit2/src/branch.c +69 -17
- data/vendor/libgit2/src/buffer.c +334 -25
- data/vendor/libgit2/src/buffer.h +153 -2
- data/vendor/libgit2/src/cache.c +2 -2
- data/vendor/libgit2/src/cache.h +7 -7
- data/vendor/libgit2/src/cc-compat.h +10 -2
- data/vendor/libgit2/src/checkout.c +48 -26
- data/vendor/libgit2/src/cherrypick.c +6 -2
- data/vendor/libgit2/src/clone.c +41 -47
- data/vendor/libgit2/src/commit.c +41 -28
- data/vendor/libgit2/src/commit_graph.c +1209 -0
- data/vendor/libgit2/src/commit_graph.h +162 -0
- data/vendor/libgit2/src/commit_list.c +46 -0
- data/vendor/libgit2/src/commit_list.h +2 -0
- data/vendor/libgit2/src/common.h +25 -2
- data/vendor/libgit2/src/config.c +37 -15
- data/vendor/libgit2/src/config_cache.c +5 -3
- data/vendor/libgit2/src/config_file.c +16 -8
- data/vendor/libgit2/src/config_parse.c +4 -6
- data/vendor/libgit2/src/crlf.c +16 -6
- data/vendor/libgit2/src/date.c +4 -3
- data/vendor/libgit2/src/delta.c +1 -1
- data/vendor/libgit2/src/describe.c +6 -3
- data/vendor/libgit2/src/diff.c +11 -8
- data/vendor/libgit2/src/diff_driver.c +21 -17
- data/vendor/libgit2/src/diff_file.c +2 -6
- data/vendor/libgit2/src/diff_generate.c +46 -17
- data/vendor/libgit2/src/diff_print.c +19 -6
- data/vendor/libgit2/src/diff_stats.c +7 -5
- data/vendor/libgit2/src/diff_tform.c +9 -8
- data/vendor/libgit2/src/diff_xdiff.c +4 -2
- data/vendor/libgit2/src/diff_xdiff.h +1 -1
- data/vendor/libgit2/src/errors.c +24 -19
- data/vendor/libgit2/src/features.h.in +5 -1
- data/vendor/libgit2/src/fetch.c +5 -2
- data/vendor/libgit2/src/fetchhead.c +8 -4
- data/vendor/libgit2/src/filebuf.c +9 -7
- data/vendor/libgit2/src/filter.c +206 -110
- data/vendor/libgit2/src/filter.h +24 -5
- data/vendor/libgit2/src/futils.c +5 -5
- data/vendor/libgit2/src/futils.h +1 -1
- data/vendor/libgit2/src/graph.c +64 -9
- data/vendor/libgit2/src/hash/sha1/collisiondetect.c +3 -3
- data/vendor/libgit2/src/hash/sha1/common_crypto.c +3 -3
- data/vendor/libgit2/src/hash/sha1/generic.h +1 -1
- data/vendor/libgit2/src/hash/sha1/mbedtls.c +12 -12
- data/vendor/libgit2/src/hash/sha1/openssl.c +3 -3
- data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +0 -2
- data/vendor/libgit2/src/hash/sha1/win32.c +15 -11
- data/vendor/libgit2/src/hash.c +16 -13
- data/vendor/libgit2/src/hash.h +1 -1
- data/vendor/libgit2/src/hashsig.c +23 -10
- data/vendor/libgit2/src/ident.c +13 -3
- data/vendor/libgit2/src/ignore.c +35 -19
- data/vendor/libgit2/src/index.c +106 -70
- data/vendor/libgit2/src/index.h +1 -1
- data/vendor/libgit2/src/indexer.c +31 -29
- data/vendor/libgit2/src/integer.h +64 -2
- data/vendor/libgit2/src/iterator.c +36 -24
- data/vendor/libgit2/src/iterator.h +1 -1
- data/vendor/libgit2/src/khash.h +2 -11
- data/vendor/libgit2/src/{settings.c → libgit2.c} +117 -50
- data/vendor/libgit2/src/libgit2.h +15 -0
- data/vendor/libgit2/src/mailmap.c +23 -10
- data/vendor/libgit2/src/map.h +3 -3
- data/vendor/libgit2/src/merge.c +70 -30
- data/vendor/libgit2/src/merge.h +2 -1
- data/vendor/libgit2/src/merge_driver.c +19 -13
- data/vendor/libgit2/src/merge_file.c +11 -3
- data/vendor/libgit2/src/message.c +3 -1
- data/vendor/libgit2/src/midx.c +471 -10
- data/vendor/libgit2/src/midx.h +28 -1
- data/vendor/libgit2/src/mwindow.c +103 -59
- data/vendor/libgit2/src/mwindow.h +3 -3
- data/vendor/libgit2/src/net.c +127 -3
- data/vendor/libgit2/src/net.h +16 -2
- data/vendor/libgit2/src/netops.c +6 -4
- data/vendor/libgit2/src/netops.h +2 -2
- data/vendor/libgit2/src/notes.c +10 -10
- data/vendor/libgit2/src/object.c +22 -14
- data/vendor/libgit2/src/odb.c +285 -48
- data/vendor/libgit2/src/odb.h +16 -2
- data/vendor/libgit2/src/odb_loose.c +28 -18
- data/vendor/libgit2/src/odb_mempack.c +1 -1
- data/vendor/libgit2/src/odb_pack.c +391 -114
- data/vendor/libgit2/src/oid.c +5 -4
- data/vendor/libgit2/src/pack-objects.c +54 -48
- data/vendor/libgit2/src/pack.c +329 -119
- data/vendor/libgit2/src/pack.h +25 -7
- data/vendor/libgit2/src/patch.c +14 -7
- data/vendor/libgit2/src/patch_generate.c +2 -2
- data/vendor/libgit2/src/patch_parse.c +2 -1
- data/vendor/libgit2/src/path.c +98 -53
- data/vendor/libgit2/src/path.h +79 -6
- data/vendor/libgit2/src/pathspec.c +8 -8
- data/vendor/libgit2/src/pool.c +13 -7
- data/vendor/libgit2/src/posix.c +11 -3
- data/vendor/libgit2/src/reader.c +10 -6
- data/vendor/libgit2/src/rebase.c +93 -49
- data/vendor/libgit2/src/refdb.c +30 -13
- data/vendor/libgit2/src/refdb_fs.c +121 -69
- data/vendor/libgit2/src/reflog.c +19 -14
- data/vendor/libgit2/src/refs.c +76 -41
- data/vendor/libgit2/src/refspec.c +32 -12
- data/vendor/libgit2/src/remote.c +272 -102
- data/vendor/libgit2/src/remote.h +2 -1
- data/vendor/libgit2/src/repository.c +176 -103
- data/vendor/libgit2/src/repository.h +12 -1
- data/vendor/libgit2/src/reset.c +7 -6
- data/vendor/libgit2/src/revert.c +6 -2
- data/vendor/libgit2/src/revparse.c +14 -9
- data/vendor/libgit2/src/revwalk.c +32 -15
- data/vendor/libgit2/src/runtime.c +162 -0
- data/vendor/libgit2/src/runtime.h +62 -0
- data/vendor/libgit2/src/settings.h +11 -0
- data/vendor/libgit2/src/signature.c +6 -5
- data/vendor/libgit2/src/sortedcache.h +10 -8
- data/vendor/libgit2/src/stash.c +3 -1
- data/vendor/libgit2/src/status.c +7 -4
- data/vendor/libgit2/src/strarray.c +2 -1
- data/vendor/libgit2/src/streams/mbedtls.c +14 -17
- data/vendor/libgit2/src/streams/mbedtls.h +1 -1
- data/vendor/libgit2/src/streams/openssl.c +101 -201
- data/vendor/libgit2/src/streams/openssl.h +9 -1
- data/vendor/libgit2/src/streams/openssl_dynamic.c +309 -0
- data/vendor/libgit2/src/streams/openssl_dynamic.h +348 -0
- data/vendor/libgit2/src/streams/openssl_legacy.c +203 -0
- data/vendor/libgit2/src/streams/openssl_legacy.h +63 -0
- data/vendor/libgit2/src/streams/registry.c +5 -6
- data/vendor/libgit2/src/streams/socket.c +6 -2
- data/vendor/libgit2/src/streams/stransport.c +6 -3
- data/vendor/libgit2/src/streams/tls.c +5 -3
- data/vendor/libgit2/src/submodule.c +128 -62
- data/vendor/libgit2/src/submodule.h +9 -9
- data/vendor/libgit2/src/sysdir.c +4 -6
- data/vendor/libgit2/src/tag.c +47 -11
- data/vendor/libgit2/src/thread.c +140 -0
- data/vendor/libgit2/src/thread.h +479 -0
- data/vendor/libgit2/src/threadstate.c +83 -0
- data/vendor/libgit2/src/threadstate.h +24 -0
- data/vendor/libgit2/src/trace.c +2 -2
- data/vendor/libgit2/src/trace.h +17 -13
- data/vendor/libgit2/src/transaction.c +19 -8
- data/vendor/libgit2/src/transport.c +3 -3
- data/vendor/libgit2/src/transports/auth.c +1 -1
- data/vendor/libgit2/src/transports/auth_negotiate.c +11 -4
- data/vendor/libgit2/src/transports/auth_ntlm.c +10 -6
- data/vendor/libgit2/src/transports/credential.c +15 -7
- data/vendor/libgit2/src/transports/git.c +1 -3
- data/vendor/libgit2/src/transports/http.c +19 -17
- data/vendor/libgit2/src/transports/http.h +1 -0
- data/vendor/libgit2/src/transports/httpclient.c +53 -26
- data/vendor/libgit2/src/transports/httpclient.h +1 -1
- data/vendor/libgit2/src/transports/local.c +3 -3
- data/vendor/libgit2/src/transports/smart.c +12 -7
- data/vendor/libgit2/src/transports/smart.h +1 -1
- data/vendor/libgit2/src/transports/smart_protocol.c +11 -5
- data/vendor/libgit2/src/transports/ssh.c +51 -17
- data/vendor/libgit2/src/transports/winhttp.c +41 -31
- data/vendor/libgit2/src/tree.c +100 -77
- data/vendor/libgit2/src/tree.h +1 -0
- data/vendor/libgit2/src/tsort.c +0 -2
- data/vendor/libgit2/src/unix/map.c +3 -1
- data/vendor/libgit2/src/unix/pthread.h +2 -1
- data/vendor/libgit2/src/utf8.c +150 -0
- data/vendor/libgit2/src/utf8.h +52 -0
- data/vendor/libgit2/src/util.c +53 -129
- data/vendor/libgit2/src/util.h +33 -39
- data/vendor/libgit2/src/vector.c +23 -19
- data/vendor/libgit2/src/vector.h +4 -2
- data/vendor/libgit2/src/win32/findfile.c +4 -2
- data/vendor/libgit2/src/win32/map.c +1 -1
- data/vendor/libgit2/src/win32/msvc-compat.h +9 -1
- data/vendor/libgit2/src/win32/path_w32.c +22 -24
- data/vendor/libgit2/src/win32/path_w32.h +0 -1
- data/vendor/libgit2/src/win32/posix_w32.c +7 -1
- data/vendor/libgit2/src/win32/precompiled.h +0 -1
- data/vendor/libgit2/src/win32/reparse.h +4 -4
- data/vendor/libgit2/src/win32/thread.c +24 -15
- data/vendor/libgit2/src/win32/thread.h +1 -1
- data/vendor/libgit2/src/win32/w32_buffer.c +3 -3
- data/vendor/libgit2/src/win32/w32_common.h +18 -9
- data/vendor/libgit2/src/win32/{w32_crtdbg_stacktrace.c → w32_leakcheck.c} +269 -33
- data/vendor/libgit2/src/win32/w32_leakcheck.h +222 -0
- data/vendor/libgit2/src/win32/w32_util.h +6 -6
- data/vendor/libgit2/src/worktree.c +27 -16
- data/vendor/libgit2/src/zstream.c +1 -1
- metadata +32 -16
- data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
- data/vendor/libgit2/src/buf_text.c +0 -316
- data/vendor/libgit2/src/buf_text.h +0 -122
- data/vendor/libgit2/src/global.c +0 -363
- data/vendor/libgit2/src/global.h +0 -41
- data/vendor/libgit2/src/thread-utils.c +0 -58
- data/vendor/libgit2/src/thread-utils.h +0 -369
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -127
- data/vendor/libgit2/src/win32/w32_stack.c +0 -188
- data/vendor/libgit2/src/win32/w32_stack.h +0 -140
@@ -177,6 +177,12 @@ typedef enum {
|
|
177
177
|
/** Normally checkout writes the index upon completion; this prevents that. */
|
178
178
|
GIT_CHECKOUT_DONT_WRITE_INDEX = (1u << 23),
|
179
179
|
|
180
|
+
/**
|
181
|
+
* Show what would be done by a checkout. Stop after sending
|
182
|
+
* notifications; don't update the working directory or index.
|
183
|
+
*/
|
184
|
+
GIT_CHECKOUT_DRY_RUN = (1u << 24),
|
185
|
+
|
180
186
|
/**
|
181
187
|
* THE FOLLOWING OPTIONS ARE NOT YET IMPLEMENTED
|
182
188
|
*/
|
@@ -194,18 +200,6 @@ typedef enum {
|
|
194
200
|
* Checkout will invoke an options notification callback (`notify_cb`) for
|
195
201
|
* certain cases - you pick which ones via `notify_flags`:
|
196
202
|
*
|
197
|
-
* - GIT_CHECKOUT_NOTIFY_CONFLICT invokes checkout on conflicting paths.
|
198
|
-
*
|
199
|
-
* - GIT_CHECKOUT_NOTIFY_DIRTY notifies about "dirty" files, i.e. those that
|
200
|
-
* do not need an update but no longer match the baseline. Core git
|
201
|
-
* displays these files when checkout runs, but won't stop the checkout.
|
202
|
-
*
|
203
|
-
* - GIT_CHECKOUT_NOTIFY_UPDATED sends notification for any file changed.
|
204
|
-
*
|
205
|
-
* - GIT_CHECKOUT_NOTIFY_UNTRACKED notifies about untracked files.
|
206
|
-
*
|
207
|
-
* - GIT_CHECKOUT_NOTIFY_IGNORED notifies about ignored files.
|
208
|
-
*
|
209
203
|
* Returning a non-zero value from this callback will cancel the checkout.
|
210
204
|
* The non-zero return value will be propagated back and returned by the
|
211
205
|
* git_checkout_... call.
|
@@ -216,10 +210,32 @@ typedef enum {
|
|
216
210
|
*/
|
217
211
|
typedef enum {
|
218
212
|
GIT_CHECKOUT_NOTIFY_NONE = 0,
|
213
|
+
|
214
|
+
/**
|
215
|
+
* Invokes checkout on conflicting paths.
|
216
|
+
*/
|
219
217
|
GIT_CHECKOUT_NOTIFY_CONFLICT = (1u << 0),
|
218
|
+
|
219
|
+
/**
|
220
|
+
* Notifies about "dirty" files, i.e. those that do not need an update
|
221
|
+
* but no longer match the baseline. Core git displays these files when
|
222
|
+
* checkout runs, but won't stop the checkout.
|
223
|
+
*/
|
220
224
|
GIT_CHECKOUT_NOTIFY_DIRTY = (1u << 1),
|
225
|
+
|
226
|
+
/**
|
227
|
+
* Sends notification for any file changed.
|
228
|
+
*/
|
221
229
|
GIT_CHECKOUT_NOTIFY_UPDATED = (1u << 2),
|
230
|
+
|
231
|
+
/**
|
232
|
+
* Notifies about untracked files.
|
233
|
+
*/
|
222
234
|
GIT_CHECKOUT_NOTIFY_UNTRACKED = (1u << 3),
|
235
|
+
|
236
|
+
/**
|
237
|
+
* Notifies about ignored files.
|
238
|
+
*/
|
223
239
|
GIT_CHECKOUT_NOTIFY_IGNORED = (1u << 4),
|
224
240
|
|
225
241
|
GIT_CHECKOUT_NOTIFY_ALL = 0x0FFFFu
|
@@ -503,25 +503,41 @@ GIT_EXTERN(int) git_commit_create_with_signature(
|
|
503
503
|
GIT_EXTERN(int) git_commit_dup(git_commit **out, git_commit *source);
|
504
504
|
|
505
505
|
/**
|
506
|
-
* Commit
|
507
|
-
*
|
508
|
-
*
|
509
|
-
*
|
510
|
-
*
|
511
|
-
*
|
512
|
-
*
|
513
|
-
*
|
514
|
-
*
|
515
|
-
*
|
516
|
-
*
|
517
|
-
*
|
518
|
-
*
|
519
|
-
*
|
520
|
-
*
|
521
|
-
*
|
522
|
-
|
523
|
-
|
524
|
-
|
506
|
+
* Commit creation callback: used when a function is going to create
|
507
|
+
* commits (for example, in `git_rebase_commit`) to allow callers to
|
508
|
+
* override the commit creation behavior. For example, users may
|
509
|
+
* wish to sign commits by providing this information to
|
510
|
+
* `git_commit_create_buffer`, signing that buffer, then calling
|
511
|
+
* `git_commit_create_with_signature`. The resultant commit id
|
512
|
+
* should be set in the `out` object id parameter.
|
513
|
+
*
|
514
|
+
* @param out pointer that this callback will populate with the object
|
515
|
+
* id of the commit that is created
|
516
|
+
* @param author the author name and time of the commit
|
517
|
+
* @param committer the committer name and time of the commit
|
518
|
+
* @param message_encoding the encoding of the given message, or NULL
|
519
|
+
* to assume UTF8
|
520
|
+
* @param message the commit message
|
521
|
+
* @param tree the tree to be committed
|
522
|
+
* @param parent_count the number of parents for this commit
|
523
|
+
* @param parents the commit parents
|
524
|
+
* @param payload the payload pointer in the rebase options
|
525
|
+
* @return 0 if this callback has created the commit and populated the out
|
526
|
+
* parameter, GIT_PASSTHROUGH if the callback has not created a
|
527
|
+
* commit and wants the calling function to create the commit as
|
528
|
+
* if no callback had been specified, any other value to stop
|
529
|
+
* and return a failure
|
530
|
+
*/
|
531
|
+
typedef int (*git_commit_create_cb)(
|
532
|
+
git_oid *out,
|
533
|
+
const git_signature *author,
|
534
|
+
const git_signature *committer,
|
535
|
+
const char *message_encoding,
|
536
|
+
const char *message,
|
537
|
+
const git_tree *tree,
|
538
|
+
size_t parent_count,
|
539
|
+
const git_commit *parents[],
|
540
|
+
void *payload);
|
525
541
|
|
526
542
|
/** @} */
|
527
543
|
GIT_END_DECL
|
@@ -91,10 +91,10 @@ GIT_BEGIN_DECL
|
|
91
91
|
|
92
92
|
/**
|
93
93
|
* The separator used in path list strings (ie like in the PATH
|
94
|
-
* environment variable). A semi-colon ";" is used on Windows
|
95
|
-
* a colon ":" for all other systems.
|
94
|
+
* environment variable). A semi-colon ";" is used on Windows and
|
95
|
+
* AmigaOS, and a colon ":" for all other systems.
|
96
96
|
*/
|
97
|
-
#
|
97
|
+
#if defined(GIT_WIN32) || defined(AMIGA)
|
98
98
|
#define GIT_PATH_LIST_SEPARATOR ';'
|
99
99
|
#else
|
100
100
|
#define GIT_PATH_LIST_SEPARATOR ':'
|
@@ -207,7 +207,9 @@ typedef enum {
|
|
207
207
|
GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS,
|
208
208
|
GIT_OPT_ENABLE_HTTP_EXPECT_CONTINUE,
|
209
209
|
GIT_OPT_GET_MWINDOW_FILE_LIMIT,
|
210
|
-
GIT_OPT_SET_MWINDOW_FILE_LIMIT
|
210
|
+
GIT_OPT_SET_MWINDOW_FILE_LIMIT,
|
211
|
+
GIT_OPT_SET_ODB_PACKED_PRIORITY,
|
212
|
+
GIT_OPT_SET_ODB_LOOSE_PRIORITY
|
211
213
|
} git_libgit2_opt_t;
|
212
214
|
|
213
215
|
/**
|
@@ -421,6 +423,14 @@ typedef enum {
|
|
421
423
|
* > authentication, use expect/continue when POSTing data.
|
422
424
|
* > This option is not available on Windows.
|
423
425
|
*
|
426
|
+
* opts(GIT_OPT_SET_ODB_PACKED_PRIORITY, int priority)
|
427
|
+
* > Override the default priority of the packed ODB backend which
|
428
|
+
* > is added when default backends are assigned to a repository
|
429
|
+
*
|
430
|
+
* opts(GIT_OPT_SET_ODB_LOOSE_PRIORITY, int priority)
|
431
|
+
* > Override the default priority of the loose ODB backend which
|
432
|
+
* > is added when default backends are assigned to a repository
|
433
|
+
*
|
424
434
|
* @param option Option key
|
425
435
|
* @param ... value to set the option
|
426
436
|
* @return 0 on success, <0 on failure
|
@@ -18,6 +18,7 @@
|
|
18
18
|
#include "describe.h"
|
19
19
|
#include "diff.h"
|
20
20
|
#include "errors.h"
|
21
|
+
#include "filter.h"
|
21
22
|
#include "index.h"
|
22
23
|
#include "indexer.h"
|
23
24
|
#include "merge.h"
|
@@ -29,6 +30,7 @@
|
|
29
30
|
#include "trace.h"
|
30
31
|
#include "repository.h"
|
31
32
|
#include "revert.h"
|
33
|
+
#include "revparse.h"
|
32
34
|
#include "stash.h"
|
33
35
|
#include "status.h"
|
34
36
|
#include "submodule.h"
|
@@ -80,16 +82,19 @@ typedef git_attr_value_t git_attr_t;
|
|
80
82
|
|
81
83
|
/**@}*/
|
82
84
|
|
83
|
-
/** @name Deprecated Blob Functions
|
85
|
+
/** @name Deprecated Blob Functions and Constants
|
84
86
|
*
|
85
|
-
* These functions are retained for backward
|
86
|
-
* versions of these functions
|
87
|
+
* These functions and enumeration values are retained for backward
|
88
|
+
* compatibility. The newer versions of these functions and values
|
89
|
+
* should be preferred in all new code.
|
87
90
|
*
|
88
91
|
* There is no plan to remove these backward compatibility values at
|
89
92
|
* this time.
|
90
93
|
*/
|
91
94
|
/**@{*/
|
92
95
|
|
96
|
+
#define GIT_BLOB_FILTER_ATTTRIBUTES_FROM_HEAD GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD
|
97
|
+
|
93
98
|
GIT_EXTERN(int) git_blob_create_fromworkdir(git_oid *id, git_repository *repo, const char *relative_path);
|
94
99
|
GIT_EXTERN(int) git_blob_create_fromdisk(git_oid *id, git_repository *repo, const char *path);
|
95
100
|
GIT_EXTERN(int) git_blob_create_fromstream(
|
@@ -115,6 +120,66 @@ GIT_EXTERN(int) git_blob_filtered_content(
|
|
115
120
|
|
116
121
|
/**@}*/
|
117
122
|
|
123
|
+
/** @name Deprecated Filter Functions
|
124
|
+
*
|
125
|
+
* These functions are retained for backward compatibility. The
|
126
|
+
* newer versions of these functions should be preferred in all
|
127
|
+
* new code.
|
128
|
+
*
|
129
|
+
* There is no plan to remove these backward compatibility values at
|
130
|
+
* this time.
|
131
|
+
*/
|
132
|
+
/**@{*/
|
133
|
+
|
134
|
+
/** Deprecated in favor of `git_filter_list_stream_buffer`.
|
135
|
+
*
|
136
|
+
* @deprecated Use git_filter_list_stream_buffer
|
137
|
+
* @see Use git_filter_list_stream_buffer
|
138
|
+
*/
|
139
|
+
GIT_EXTERN(int) git_filter_list_stream_data(
|
140
|
+
git_filter_list *filters,
|
141
|
+
git_buf *data,
|
142
|
+
git_writestream *target);
|
143
|
+
|
144
|
+
/** Deprecated in favor of `git_filter_list_apply_to_buffer`.
|
145
|
+
*
|
146
|
+
* @deprecated Use git_filter_list_apply_to_buffer
|
147
|
+
* @see Use git_filter_list_apply_to_buffer
|
148
|
+
*/
|
149
|
+
GIT_EXTERN(int) git_filter_list_apply_to_data(
|
150
|
+
git_buf *out,
|
151
|
+
git_filter_list *filters,
|
152
|
+
git_buf *in);
|
153
|
+
|
154
|
+
/**@}*/
|
155
|
+
|
156
|
+
/** @name Deprecated Tree Functions
|
157
|
+
*
|
158
|
+
* These functions are retained for backward compatibility. The
|
159
|
+
* newer versions of these functions and values should be preferred
|
160
|
+
* in all new code.
|
161
|
+
*
|
162
|
+
* There is no plan to remove these backward compatibility values at
|
163
|
+
* this time.
|
164
|
+
*/
|
165
|
+
/**@{*/
|
166
|
+
|
167
|
+
/**
|
168
|
+
* Write the contents of the tree builder as a tree object.
|
169
|
+
* This is an alias of `git_treebuilder_write` and is preserved
|
170
|
+
* for backward compatibility.
|
171
|
+
*
|
172
|
+
* This function is deprecated, but there is no plan to remove this
|
173
|
+
* function at this time.
|
174
|
+
*
|
175
|
+
* @deprecated Use git_treebuilder_write
|
176
|
+
* @see git_treebuilder_write
|
177
|
+
*/
|
178
|
+
GIT_EXTERN(int) git_treebuilder_write_with_buffer(
|
179
|
+
git_oid *oid, git_treebuilder *bld, git_buf *tree);
|
180
|
+
|
181
|
+
/**@}*/
|
182
|
+
|
118
183
|
/** @name Deprecated Buffer Functions
|
119
184
|
*
|
120
185
|
* These functions and enumeration values are retained for backward
|
@@ -126,6 +191,61 @@ GIT_EXTERN(int) git_blob_filtered_content(
|
|
126
191
|
*/
|
127
192
|
/**@{*/
|
128
193
|
|
194
|
+
/**
|
195
|
+
* Static initializer for git_buf from static buffer
|
196
|
+
*/
|
197
|
+
#define GIT_BUF_INIT_CONST(STR,LEN) { (char *)(STR), 0, (size_t)(LEN) }
|
198
|
+
|
199
|
+
/**
|
200
|
+
* Resize the buffer allocation to make more space.
|
201
|
+
*
|
202
|
+
* This will attempt to grow the buffer to accommodate the target size.
|
203
|
+
*
|
204
|
+
* If the buffer refers to memory that was not allocated by libgit2 (i.e.
|
205
|
+
* the `asize` field is zero), then `ptr` will be replaced with a newly
|
206
|
+
* allocated block of data. Be careful so that memory allocated by the
|
207
|
+
* caller is not lost. As a special variant, if you pass `target_size` as
|
208
|
+
* 0 and the memory is not allocated by libgit2, this will allocate a new
|
209
|
+
* buffer of size `size` and copy the external data into it.
|
210
|
+
*
|
211
|
+
* Currently, this will never shrink a buffer, only expand it.
|
212
|
+
*
|
213
|
+
* If the allocation fails, this will return an error and the buffer will be
|
214
|
+
* marked as invalid for future operations, invaliding the contents.
|
215
|
+
*
|
216
|
+
* @param buffer The buffer to be resized; may or may not be allocated yet
|
217
|
+
* @param target_size The desired available size
|
218
|
+
* @return 0 on success, -1 on allocation failure
|
219
|
+
*/
|
220
|
+
GIT_EXTERN(int) git_buf_grow(git_buf *buffer, size_t target_size);
|
221
|
+
|
222
|
+
/**
|
223
|
+
* Set buffer to a copy of some raw data.
|
224
|
+
*
|
225
|
+
* @param buffer The buffer to set
|
226
|
+
* @param data The data to copy into the buffer
|
227
|
+
* @param datalen The length of the data to copy into the buffer
|
228
|
+
* @return 0 on success, -1 on allocation failure
|
229
|
+
*/
|
230
|
+
GIT_EXTERN(int) git_buf_set(
|
231
|
+
git_buf *buffer, const void *data, size_t datalen);
|
232
|
+
|
233
|
+
/**
|
234
|
+
* Check quickly if buffer looks like it contains binary data
|
235
|
+
*
|
236
|
+
* @param buf Buffer to check
|
237
|
+
* @return 1 if buffer looks like non-text data
|
238
|
+
*/
|
239
|
+
GIT_EXTERN(int) git_buf_is_binary(const git_buf *buf);
|
240
|
+
|
241
|
+
/**
|
242
|
+
* Check quickly if buffer contains a NUL byte
|
243
|
+
*
|
244
|
+
* @param buf Buffer to check
|
245
|
+
* @return 1 if buffer contains a NUL byte
|
246
|
+
*/
|
247
|
+
GIT_EXTERN(int) git_buf_contains_nul(const git_buf *buf);
|
248
|
+
|
129
249
|
/**
|
130
250
|
* Free the memory referred to by the git_buf. This is an alias of
|
131
251
|
* `git_buf_dispose` and is preserved for backward compatibility.
|
@@ -140,6 +260,27 @@ GIT_EXTERN(void) git_buf_free(git_buf *buffer);
|
|
140
260
|
|
141
261
|
/**@}*/
|
142
262
|
|
263
|
+
/** @name Deprecated Commit Definitions
|
264
|
+
*/
|
265
|
+
/**@{*/
|
266
|
+
|
267
|
+
/**
|
268
|
+
* Provide a commit signature during commit creation.
|
269
|
+
*
|
270
|
+
* Callers should instead define a `git_commit_create_cb` that
|
271
|
+
* generates a commit buffer using `git_commit_create_buffer`, sign
|
272
|
+
* that buffer and call `git_commit_create_with_signature`.
|
273
|
+
*
|
274
|
+
* @deprecated use a `git_commit_create_cb` instead
|
275
|
+
*/
|
276
|
+
typedef int (*git_commit_signing_cb)(
|
277
|
+
git_buf *signature,
|
278
|
+
git_buf *signature_field,
|
279
|
+
const char *commit_content,
|
280
|
+
void *payload);
|
281
|
+
|
282
|
+
/**@}*/
|
283
|
+
|
143
284
|
/** @name Deprecated Config Functions and Constants
|
144
285
|
*/
|
145
286
|
/**@{*/
|
@@ -340,10 +481,32 @@ GIT_EXTERN(size_t) git_object__size(git_object_t type);
|
|
340
481
|
|
341
482
|
/**@}*/
|
342
483
|
|
343
|
-
/** @name Deprecated
|
484
|
+
/** @name Deprecated Remote Functions
|
344
485
|
*
|
345
|
-
* These
|
346
|
-
*
|
486
|
+
* These functions are retained for backward compatibility. The newer
|
487
|
+
* versions of these functions should be preferred in all new code.
|
488
|
+
*
|
489
|
+
* There is no plan to remove these backward compatibility functions at
|
490
|
+
* this time.
|
491
|
+
*/
|
492
|
+
/**@{*/
|
493
|
+
|
494
|
+
/**
|
495
|
+
* Ensure the remote name is well-formed.
|
496
|
+
*
|
497
|
+
* @deprecated Use git_remote_name_is_valid
|
498
|
+
* @param remote_name name to be checked.
|
499
|
+
* @return 1 if the reference name is acceptable; 0 if it isn't
|
500
|
+
*/
|
501
|
+
GIT_EXTERN(int) git_remote_is_valid_name(const char *remote_name);
|
502
|
+
|
503
|
+
/**@}*/
|
504
|
+
|
505
|
+
/** @name Deprecated Reference Functions and Constants
|
506
|
+
*
|
507
|
+
* These functions and enumeration values are retained for backward
|
508
|
+
* compatibility. The newer versions of these values should be
|
509
|
+
* preferred in all new code.
|
347
510
|
*
|
348
511
|
* There is no plan to remove these backward compatibility values at
|
349
512
|
* this time.
|
@@ -364,6 +527,23 @@ GIT_EXTERN(size_t) git_object__size(git_object_t type);
|
|
364
527
|
#define GIT_REF_FORMAT_REFSPEC_PATTERN GIT_REFERENCE_FORMAT_REFSPEC_PATTERN
|
365
528
|
#define GIT_REF_FORMAT_REFSPEC_SHORTHAND GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND
|
366
529
|
|
530
|
+
/**
|
531
|
+
* Ensure the reference name is well-formed.
|
532
|
+
*
|
533
|
+
* Valid reference names must follow one of two patterns:
|
534
|
+
*
|
535
|
+
* 1. Top-level names must contain only capital letters and underscores,
|
536
|
+
* and must begin and end with a letter. (e.g. "HEAD", "ORIG_HEAD").
|
537
|
+
* 2. Names prefixed with "refs/" can be almost anything. You must avoid
|
538
|
+
* the characters '~', '^', ':', '\\', '?', '[', and '*', and the
|
539
|
+
* sequences ".." and "@{" which have special meaning to revparse.
|
540
|
+
*
|
541
|
+
* @deprecated Use git_reference_name_is_valid
|
542
|
+
* @param refname name to be checked.
|
543
|
+
* @return 1 if the reference name is acceptable; 0 if it isn't
|
544
|
+
*/
|
545
|
+
GIT_EXTERN(int) git_reference_is_valid_name(const char *refname);
|
546
|
+
|
367
547
|
GIT_EXTERN(int) git_tag_create_frombuffer(
|
368
548
|
git_oid *oid,
|
369
549
|
git_repository *repo,
|
@@ -372,6 +552,25 @@ GIT_EXTERN(int) git_tag_create_frombuffer(
|
|
372
552
|
|
373
553
|
/**@}*/
|
374
554
|
|
555
|
+
/** @name Deprecated Revspec Constants
|
556
|
+
*
|
557
|
+
* These enumeration values are retained for backward compatibility.
|
558
|
+
* The newer versions of these values should be preferred in all new
|
559
|
+
* code.
|
560
|
+
*
|
561
|
+
* There is no plan to remove these backward compatibility values at
|
562
|
+
* this time.
|
563
|
+
*/
|
564
|
+
/**@{*/
|
565
|
+
|
566
|
+
typedef git_revspec_t git_revparse_mode_t;
|
567
|
+
|
568
|
+
#define GIT_REVPARSE_SINGLE GIT_REVSPEC_SINGLE
|
569
|
+
#define GIT_REVPARSE_RANGE GIT_REVSPEC_RANGE
|
570
|
+
#define GIT_REVPARSE_MERGE_BASE GIT_REVSPEC_MERGE_BASE
|
571
|
+
|
572
|
+
/**@}*/
|
573
|
+
|
375
574
|
/** @name Deprecated Credential Types
|
376
575
|
*
|
377
576
|
* These types are retained for backward compatibility. The newer
|
@@ -380,6 +579,7 @@ GIT_EXTERN(int) git_tag_create_frombuffer(
|
|
380
579
|
* There is no plan to remove these backward compatibility values at
|
381
580
|
* this time.
|
382
581
|
*/
|
582
|
+
/**@{*/
|
383
583
|
|
384
584
|
typedef git_credential git_cred;
|
385
585
|
typedef git_credential_userpass_plaintext git_cred_userpass_plaintext;
|