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
data/vendor/libgit2/src/stash.c
CHANGED
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
|
|
10
10
|
#include "repository.h"
|
|
11
11
|
#include "commit.h"
|
|
12
|
-
#include "message.h"
|
|
13
12
|
#include "tree.h"
|
|
14
13
|
#include "reflog.h"
|
|
15
14
|
#include "blob.h"
|
|
@@ -43,20 +42,20 @@ static int retrieve_head(git_reference **out, git_repository *repo)
|
|
|
43
42
|
return error;
|
|
44
43
|
}
|
|
45
44
|
|
|
46
|
-
static int append_abbreviated_oid(
|
|
45
|
+
static int append_abbreviated_oid(git_str *out, const git_oid *b_commit)
|
|
47
46
|
{
|
|
48
47
|
char *formatted_oid;
|
|
49
48
|
|
|
50
49
|
formatted_oid = git_oid_allocfmt(b_commit);
|
|
51
50
|
GIT_ERROR_CHECK_ALLOC(formatted_oid);
|
|
52
51
|
|
|
53
|
-
|
|
52
|
+
git_str_put(out, formatted_oid, 7);
|
|
54
53
|
git__free(formatted_oid);
|
|
55
54
|
|
|
56
|
-
return
|
|
55
|
+
return git_str_oom(out) ? -1 : 0;
|
|
57
56
|
}
|
|
58
57
|
|
|
59
|
-
static int append_commit_description(
|
|
58
|
+
static int append_commit_description(git_str *out, git_commit *commit)
|
|
60
59
|
{
|
|
61
60
|
const char *summary = git_commit_summary(commit);
|
|
62
61
|
GIT_ERROR_CHECK_ALLOC(summary);
|
|
@@ -64,16 +63,16 @@ static int append_commit_description(git_buf *out, git_commit *commit)
|
|
|
64
63
|
if (append_abbreviated_oid(out, git_commit_id(commit)) < 0)
|
|
65
64
|
return -1;
|
|
66
65
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
git_str_putc(out, ' ');
|
|
67
|
+
git_str_puts(out, summary);
|
|
68
|
+
git_str_putc(out, '\n');
|
|
70
69
|
|
|
71
|
-
return
|
|
70
|
+
return git_str_oom(out) ? -1 : 0;
|
|
72
71
|
}
|
|
73
72
|
|
|
74
73
|
static int retrieve_base_commit_and_message(
|
|
75
74
|
git_commit **b_commit,
|
|
76
|
-
|
|
75
|
+
git_str *stash_message,
|
|
77
76
|
git_repository *repo)
|
|
78
77
|
{
|
|
79
78
|
git_reference *head = NULL;
|
|
@@ -83,9 +82,9 @@ static int retrieve_base_commit_and_message(
|
|
|
83
82
|
return error;
|
|
84
83
|
|
|
85
84
|
if (strcmp("HEAD", git_reference_name(head)) == 0)
|
|
86
|
-
error =
|
|
85
|
+
error = git_str_puts(stash_message, "(no branch): ");
|
|
87
86
|
else
|
|
88
|
-
error =
|
|
87
|
+
error = git_str_printf(
|
|
89
88
|
stash_message,
|
|
90
89
|
"%s: ",
|
|
91
90
|
git_reference_name(head) + strlen(GIT_REFS_HEADS_DIR));
|
|
@@ -128,13 +127,13 @@ static int commit_index(
|
|
|
128
127
|
{
|
|
129
128
|
git_tree *i_tree = NULL;
|
|
130
129
|
git_oid i_commit_oid;
|
|
131
|
-
|
|
130
|
+
git_str msg = GIT_STR_INIT;
|
|
132
131
|
int error;
|
|
133
132
|
|
|
134
133
|
if ((error = build_tree_from_index(&i_tree, repo, index)) < 0)
|
|
135
134
|
goto cleanup;
|
|
136
135
|
|
|
137
|
-
if ((error =
|
|
136
|
+
if ((error = git_str_printf(&msg, "index on %s\n", message)) < 0)
|
|
138
137
|
goto cleanup;
|
|
139
138
|
|
|
140
139
|
if ((error = git_commit_create(
|
|
@@ -144,7 +143,7 @@ static int commit_index(
|
|
|
144
143
|
stasher,
|
|
145
144
|
stasher,
|
|
146
145
|
NULL,
|
|
147
|
-
|
|
146
|
+
git_str_cstr(&msg),
|
|
148
147
|
i_tree,
|
|
149
148
|
1,
|
|
150
149
|
&parent)) < 0)
|
|
@@ -154,7 +153,7 @@ static int commit_index(
|
|
|
154
153
|
|
|
155
154
|
cleanup:
|
|
156
155
|
git_tree_free(i_tree);
|
|
157
|
-
|
|
156
|
+
git_str_dispose(&msg);
|
|
158
157
|
return error;
|
|
159
158
|
}
|
|
160
159
|
|
|
@@ -303,13 +302,13 @@ static int commit_untracked(
|
|
|
303
302
|
{
|
|
304
303
|
git_tree *u_tree = NULL;
|
|
305
304
|
git_oid u_commit_oid;
|
|
306
|
-
|
|
305
|
+
git_str msg = GIT_STR_INIT;
|
|
307
306
|
int error;
|
|
308
307
|
|
|
309
308
|
if ((error = build_untracked_tree(&u_tree, repo, i_commit, flags)) < 0)
|
|
310
309
|
goto cleanup;
|
|
311
310
|
|
|
312
|
-
if ((error =
|
|
311
|
+
if ((error = git_str_printf(&msg, "untracked files on %s\n", message)) < 0)
|
|
313
312
|
goto cleanup;
|
|
314
313
|
|
|
315
314
|
if ((error = git_commit_create(
|
|
@@ -319,7 +318,7 @@ static int commit_untracked(
|
|
|
319
318
|
stasher,
|
|
320
319
|
stasher,
|
|
321
320
|
NULL,
|
|
322
|
-
|
|
321
|
+
git_str_cstr(&msg),
|
|
323
322
|
u_tree,
|
|
324
323
|
0,
|
|
325
324
|
NULL)) < 0)
|
|
@@ -329,7 +328,7 @@ static int commit_untracked(
|
|
|
329
328
|
|
|
330
329
|
cleanup:
|
|
331
330
|
git_tree_free(u_tree);
|
|
332
|
-
|
|
331
|
+
git_str_dispose(&msg);
|
|
333
332
|
return error;
|
|
334
333
|
}
|
|
335
334
|
|
|
@@ -437,33 +436,33 @@ cleanup:
|
|
|
437
436
|
return error;
|
|
438
437
|
}
|
|
439
438
|
|
|
440
|
-
static int prepare_worktree_commit_message(
|
|
439
|
+
static int prepare_worktree_commit_message(git_str *out, const char *user_message)
|
|
441
440
|
{
|
|
442
|
-
|
|
441
|
+
git_str buf = GIT_STR_INIT;
|
|
443
442
|
int error = 0;
|
|
444
443
|
|
|
445
444
|
if (!user_message) {
|
|
446
|
-
|
|
445
|
+
git_str_printf(&buf, "WIP on %s", git_str_cstr(out));
|
|
447
446
|
} else {
|
|
448
447
|
const char *colon;
|
|
449
448
|
|
|
450
|
-
if ((colon = strchr(
|
|
449
|
+
if ((colon = strchr(git_str_cstr(out), ':')) == NULL)
|
|
451
450
|
goto cleanup;
|
|
452
451
|
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
452
|
+
git_str_puts(&buf, "On ");
|
|
453
|
+
git_str_put(&buf, git_str_cstr(out), colon - out->ptr);
|
|
454
|
+
git_str_printf(&buf, ": %s\n", user_message);
|
|
456
455
|
}
|
|
457
456
|
|
|
458
|
-
if (
|
|
457
|
+
if (git_str_oom(&buf)) {
|
|
459
458
|
error = -1;
|
|
460
459
|
goto cleanup;
|
|
461
460
|
}
|
|
462
461
|
|
|
463
|
-
|
|
462
|
+
git_str_swap(out, &buf);
|
|
464
463
|
|
|
465
464
|
cleanup:
|
|
466
|
-
|
|
465
|
+
git_str_dispose(&buf);
|
|
467
466
|
return error;
|
|
468
467
|
}
|
|
469
468
|
|
|
@@ -543,7 +542,7 @@ int git_stash_save(
|
|
|
543
542
|
{
|
|
544
543
|
git_index *index = NULL;
|
|
545
544
|
git_commit *b_commit = NULL, *i_commit = NULL, *u_commit = NULL;
|
|
546
|
-
|
|
545
|
+
git_str msg = GIT_STR_INIT;
|
|
547
546
|
int error;
|
|
548
547
|
|
|
549
548
|
GIT_ASSERT_ARG(out);
|
|
@@ -563,24 +562,24 @@ int git_stash_save(
|
|
|
563
562
|
goto cleanup;
|
|
564
563
|
|
|
565
564
|
if ((error = commit_index(&i_commit, repo, index, stasher,
|
|
566
|
-
|
|
565
|
+
git_str_cstr(&msg), b_commit)) < 0)
|
|
567
566
|
goto cleanup;
|
|
568
567
|
|
|
569
568
|
if ((flags & (GIT_STASH_INCLUDE_UNTRACKED | GIT_STASH_INCLUDE_IGNORED)) &&
|
|
570
569
|
(error = commit_untracked(&u_commit, repo, stasher,
|
|
571
|
-
|
|
570
|
+
git_str_cstr(&msg), i_commit, flags)) < 0)
|
|
572
571
|
goto cleanup;
|
|
573
572
|
|
|
574
573
|
if ((error = prepare_worktree_commit_message(&msg, message)) < 0)
|
|
575
574
|
goto cleanup;
|
|
576
575
|
|
|
577
|
-
if ((error = commit_worktree(out, repo, stasher,
|
|
576
|
+
if ((error = commit_worktree(out, repo, stasher, git_str_cstr(&msg),
|
|
578
577
|
i_commit, b_commit, u_commit)) < 0)
|
|
579
578
|
goto cleanup;
|
|
580
579
|
|
|
581
|
-
|
|
580
|
+
git_str_rtrim(&msg);
|
|
582
581
|
|
|
583
|
-
if ((error = update_reflog(out, repo,
|
|
582
|
+
if ((error = update_reflog(out, repo, git_str_cstr(&msg))) < 0)
|
|
584
583
|
goto cleanup;
|
|
585
584
|
|
|
586
585
|
if ((error = reset_index_and_workdir(repo, (flags & GIT_STASH_KEEP_INDEX) ? i_commit : b_commit,
|
|
@@ -589,7 +588,7 @@ int git_stash_save(
|
|
|
589
588
|
|
|
590
589
|
cleanup:
|
|
591
590
|
|
|
592
|
-
|
|
591
|
+
git_str_dispose(&msg);
|
|
593
592
|
git_commit_free(i_commit);
|
|
594
593
|
git_commit_free(b_commit);
|
|
595
594
|
git_commit_free(u_commit);
|
data/vendor/libgit2/src/status.c
CHANGED
|
@@ -84,7 +84,7 @@ static unsigned int workdir_delta2status(
|
|
|
84
84
|
|
|
85
85
|
if (!git_oid_equal(&idx2wd->old_file.id, &idx2wd->new_file.id)) {
|
|
86
86
|
/* if OIDs don't match, we might need to calculate them now to
|
|
87
|
-
* discern between RENAMED vs RENAMED+
|
|
87
|
+
* discern between RENAMED vs RENAMED+MODIFIED
|
|
88
88
|
*/
|
|
89
89
|
if (git_oid_is_zero(&idx2wd->old_file.id) &&
|
|
90
90
|
diff->old_src == GIT_ITERATOR_WORKDIR &&
|
|
@@ -336,6 +336,9 @@ int git_status_list_new(
|
|
|
336
336
|
GIT_DIFF_FIND_RENAMES_FROM_REWRITES |
|
|
337
337
|
GIT_DIFF_BREAK_REWRITES_FOR_RENAMES_ONLY;
|
|
338
338
|
|
|
339
|
+
if (opts != NULL && opts->rename_threshold != 0)
|
|
340
|
+
findopt.rename_threshold = opts->rename_threshold;
|
|
341
|
+
|
|
339
342
|
if (show != GIT_STATUS_SHOW_WORKDIR_ONLY) {
|
|
340
343
|
if ((error = git_diff_tree_to_index(
|
|
341
344
|
&status->head2idx, repo, head, index, &diffopt)) < 0)
|