rugged 1.5.1 → 1.6.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/rugged/extconf.rb +2 -2
- data/ext/rugged/rugged_blame.c +2 -0
- data/ext/rugged/rugged_blob.c +3 -0
- data/ext/rugged/rugged_commit.c +1 -0
- data/ext/rugged/rugged_config.c +2 -0
- data/ext/rugged/rugged_diff.c +1 -0
- data/ext/rugged/rugged_index.c +2 -0
- data/ext/rugged/rugged_patch.c +1 -0
- data/ext/rugged/rugged_rebase.c +1 -0
- data/ext/rugged/rugged_reference.c +1 -0
- data/ext/rugged/rugged_remote.c +1 -0
- data/ext/rugged/rugged_repo.c +5 -2
- data/ext/rugged/rugged_revwalk.c +5 -1
- data/ext/rugged/rugged_submodule.c +1 -0
- data/ext/rugged/rugged_tag.c +1 -0
- data/ext/rugged/rugged_tree.c +4 -0
- data/lib/rugged/index.rb +1 -1
- data/lib/rugged/tree.rb +1 -1
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +5 -1
- data/vendor/libgit2/COPYING +30 -0
- data/vendor/libgit2/cmake/ExperimentalFeatures.cmake +23 -0
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +2 -0
- data/vendor/libgit2/include/git2/common.h +13 -6
- data/vendor/libgit2/include/git2/deprecated.h +6 -0
- data/vendor/libgit2/include/git2/diff.h +1 -1
- data/vendor/libgit2/include/git2/experimental.h +20 -0
- data/vendor/libgit2/include/git2/indexer.h +29 -0
- data/vendor/libgit2/include/git2/object.h +28 -2
- data/vendor/libgit2/include/git2/odb.h +58 -7
- data/vendor/libgit2/include/git2/odb_backend.h +106 -18
- data/vendor/libgit2/include/git2/oid.h +115 -15
- data/vendor/libgit2/include/git2/repository.h +20 -1
- data/vendor/libgit2/include/git2/stash.h +60 -6
- data/vendor/libgit2/include/git2/strarray.h +0 -13
- data/vendor/libgit2/include/git2/sys/odb_backend.h +1 -1
- data/vendor/libgit2/include/git2/sys/transport.h +12 -0
- data/vendor/libgit2/include/git2/version.h +4 -4
- data/vendor/libgit2/include/git2.h +1 -0
- data/vendor/libgit2/src/CMakeLists.txt +0 -6
- data/vendor/libgit2/src/cli/CMakeLists.txt +5 -2
- data/vendor/libgit2/src/cli/cmd_hash_object.c +27 -8
- data/vendor/libgit2/src/cli/opt.c +1 -1
- data/vendor/libgit2/src/libgit2/CMakeLists.txt +24 -15
- data/vendor/libgit2/src/libgit2/annotated_commit.c +1 -1
- data/vendor/libgit2/src/libgit2/annotated_commit.h +1 -1
- data/vendor/libgit2/src/libgit2/attr_file.c +1 -1
- data/vendor/libgit2/src/libgit2/attrcache.c +1 -1
- data/vendor/libgit2/src/libgit2/blame.c +2 -0
- data/vendor/libgit2/src/libgit2/blob.c +4 -2
- data/vendor/libgit2/src/libgit2/blob.h +2 -2
- data/vendor/libgit2/src/libgit2/branch.c +2 -2
- data/vendor/libgit2/src/libgit2/cherrypick.c +3 -3
- data/vendor/libgit2/src/libgit2/clone.c +31 -2
- data/vendor/libgit2/src/libgit2/commit.c +52 -17
- data/vendor/libgit2/src/libgit2/commit.h +25 -7
- data/vendor/libgit2/src/libgit2/commit_graph.c +47 -32
- data/vendor/libgit2/src/libgit2/commit_graph.h +3 -0
- data/vendor/libgit2/src/libgit2/commit_list.c +6 -2
- data/vendor/libgit2/src/libgit2/config.c +1 -1
- data/vendor/libgit2/src/libgit2/config_file.c +2 -2
- data/vendor/libgit2/src/libgit2/describe.c +8 -8
- data/vendor/libgit2/src/libgit2/diff.c +5 -1
- data/vendor/libgit2/src/libgit2/diff_file.c +15 -6
- data/vendor/libgit2/src/libgit2/diff_generate.c +17 -12
- data/vendor/libgit2/src/libgit2/diff_print.c +5 -5
- data/vendor/libgit2/src/libgit2/diff_tform.c +4 -0
- data/vendor/libgit2/src/libgit2/email.c +2 -2
- data/vendor/libgit2/src/libgit2/experimental.h.in +13 -0
- data/vendor/libgit2/src/libgit2/fetch.c +3 -6
- data/vendor/libgit2/src/libgit2/fetchhead.c +4 -4
- data/vendor/libgit2/src/libgit2/ident.c +3 -3
- data/vendor/libgit2/src/libgit2/index.c +13 -12
- data/vendor/libgit2/src/libgit2/indexer.c +107 -44
- data/vendor/libgit2/src/libgit2/iterator.c +4 -2
- data/vendor/libgit2/src/libgit2/libgit2.c +19 -0
- data/vendor/libgit2/src/libgit2/merge.c +3 -3
- data/vendor/libgit2/src/libgit2/midx.c +16 -15
- data/vendor/libgit2/src/libgit2/mwindow.c +5 -2
- data/vendor/libgit2/src/libgit2/mwindow.h +4 -1
- data/vendor/libgit2/src/libgit2/notes.c +5 -5
- data/vendor/libgit2/src/libgit2/object.c +89 -25
- data/vendor/libgit2/src/libgit2/object.h +12 -3
- data/vendor/libgit2/src/libgit2/odb.c +213 -50
- data/vendor/libgit2/src/libgit2/odb.h +43 -4
- data/vendor/libgit2/src/libgit2/odb_loose.c +128 -70
- data/vendor/libgit2/src/libgit2/odb_pack.c +96 -44
- data/vendor/libgit2/src/libgit2/oid.c +134 -76
- data/vendor/libgit2/src/libgit2/oid.h +183 -9
- data/vendor/libgit2/src/libgit2/pack-objects.c +15 -4
- data/vendor/libgit2/src/libgit2/pack.c +92 -69
- data/vendor/libgit2/src/libgit2/pack.h +29 -15
- data/vendor/libgit2/src/libgit2/parse.c +4 -3
- data/vendor/libgit2/src/libgit2/patch_parse.c +5 -5
- data/vendor/libgit2/src/libgit2/push.c +13 -3
- data/vendor/libgit2/src/libgit2/reader.c +1 -1
- data/vendor/libgit2/src/libgit2/rebase.c +19 -18
- data/vendor/libgit2/src/libgit2/refdb_fs.c +70 -39
- data/vendor/libgit2/src/libgit2/reflog.c +7 -5
- data/vendor/libgit2/src/libgit2/reflog.h +1 -2
- data/vendor/libgit2/src/libgit2/refs.c +2 -0
- data/vendor/libgit2/src/libgit2/remote.c +38 -37
- data/vendor/libgit2/src/libgit2/remote.h +40 -0
- data/vendor/libgit2/src/libgit2/repository.c +212 -36
- data/vendor/libgit2/src/libgit2/repository.h +9 -0
- data/vendor/libgit2/src/libgit2/reset.c +2 -2
- data/vendor/libgit2/src/libgit2/revert.c +4 -4
- data/vendor/libgit2/src/libgit2/revparse.c +23 -7
- data/vendor/libgit2/src/libgit2/revwalk.c +5 -1
- data/vendor/libgit2/src/libgit2/stash.c +201 -26
- data/vendor/libgit2/src/libgit2/strarray.c +1 -0
- data/vendor/libgit2/src/libgit2/strarray.h +25 -0
- data/vendor/libgit2/src/libgit2/streams/openssl.c +1 -1
- data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +7 -3
- data/vendor/libgit2/src/libgit2/streams/socket.c +4 -1
- data/vendor/libgit2/src/libgit2/submodule.c +6 -2
- data/vendor/libgit2/src/libgit2/sysdir.c +294 -7
- data/vendor/libgit2/src/libgit2/sysdir.h +41 -9
- data/vendor/libgit2/src/libgit2/tag.c +29 -10
- data/vendor/libgit2/src/libgit2/tag.h +2 -2
- data/vendor/libgit2/src/libgit2/threadstate.h +1 -1
- data/vendor/libgit2/src/libgit2/transports/http.c +8 -7
- data/vendor/libgit2/src/libgit2/transports/httpclient.c +9 -0
- data/vendor/libgit2/src/libgit2/transports/httpclient.h +10 -0
- data/vendor/libgit2/src/libgit2/transports/local.c +14 -0
- data/vendor/libgit2/src/libgit2/transports/smart.c +35 -0
- data/vendor/libgit2/src/libgit2/transports/smart.h +10 -1
- data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +153 -41
- data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +42 -12
- data/vendor/libgit2/src/libgit2/transports/ssh.c +62 -65
- data/vendor/libgit2/src/libgit2/transports/winhttp.c +9 -4
- data/vendor/libgit2/src/libgit2/tree-cache.c +4 -4
- data/vendor/libgit2/src/libgit2/tree.c +22 -16
- data/vendor/libgit2/src/libgit2/tree.h +2 -2
- data/vendor/libgit2/src/libgit2/worktree.c +5 -0
- data/vendor/libgit2/src/util/CMakeLists.txt +6 -1
- data/vendor/libgit2/src/util/fs_path.c +1 -1
- data/vendor/libgit2/src/util/futils.c +0 -3
- data/vendor/libgit2/src/util/git2_util.h +2 -2
- data/vendor/libgit2/src/util/hash/openssl.c +4 -3
- data/vendor/libgit2/src/util/hash/rfc6234/sha.h +0 -112
- data/vendor/libgit2/src/util/hash.h +13 -0
- data/vendor/libgit2/src/util/net.c +338 -84
- data/vendor/libgit2/src/util/net.h +7 -0
- data/vendor/libgit2/src/util/posix.h +2 -0
- data/vendor/libgit2/src/util/rand.c +4 -0
- data/vendor/libgit2/src/util/regexp.c +3 -3
- data/vendor/libgit2/src/util/thread.h +20 -19
- data/vendor/libgit2/src/util/util.h +1 -0
- metadata +7 -5
- data/vendor/libgit2/src/util/win32/findfile.c +0 -286
- data/vendor/libgit2/src/util/win32/findfile.h +0 -22
- /data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9cc31109e6df7461749b4e823c07b7f7bcba5b25a9eee0de18d9e66811f02f2d
|
4
|
+
data.tar.gz: 5c6ee9dcc92ba1d9e528f709bcb6075b47d2bdabeb5f96a0fe13157f68ab8824
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64cc9797783d455152a320da1019c732e3b2a4036f03410a89d0c6c3cd9f76f1b865df132006b0d9b5a631a0244736c105c3cbe5b778960f03ecec4b589646b5
|
7
|
+
data.tar.gz: 68326e81b3b370bd6929648fada07d81b9dcbb1029995977b9528058f68e7f8691fd57d0a06fc5aeda394cfd734e2d39841cfb4a857f744ca6a931223bf71ed3
|
data/ext/rugged/extconf.rb
CHANGED
@@ -71,12 +71,12 @@ if arg_config("--use-system-libraries", !!ENV['RUGGED_USE_SYSTEM_LIBRARIES'])
|
|
71
71
|
major = minor = nil
|
72
72
|
|
73
73
|
File.readlines(File.join(LIBGIT2_DIR, "include", "git2", "version.h")).each do |line|
|
74
|
-
if !major && (matches = line.match(/^#define LIBGIT2_VER_MAJOR
|
74
|
+
if !major && (matches = line.match(/^#define LIBGIT2_VER_MAJOR\s+([0-9]+)$/))
|
75
75
|
major = matches[1]
|
76
76
|
next
|
77
77
|
end
|
78
78
|
|
79
|
-
if !minor && (matches = line.match(/^#define LIBGIT2_VER_MINOR
|
79
|
+
if !minor && (matches = line.match(/^#define LIBGIT2_VER_MINOR\s+([0-9]+)$/))
|
80
80
|
minor = matches[1]
|
81
81
|
next
|
82
82
|
end
|
data/ext/rugged/rugged_blame.c
CHANGED
@@ -264,6 +264,8 @@ static VALUE rb_git_blame_each(VALUE self)
|
|
264
264
|
void Init_rugged_blame(void)
|
265
265
|
{
|
266
266
|
rb_cRuggedBlame = rb_define_class_under(rb_mRugged, "Blame", rb_cObject);
|
267
|
+
rb_undef_alloc_func(rb_cRuggedBlame);
|
268
|
+
|
267
269
|
rb_include_module(rb_cRuggedBlame, rb_mEnumerable);
|
268
270
|
|
269
271
|
rb_define_singleton_method(rb_cRuggedBlame, "new", rb_git_blame_new, -1);
|
data/ext/rugged/rugged_blob.c
CHANGED
@@ -694,6 +694,7 @@ void Init_rugged_blob(void)
|
|
694
694
|
id_read = rb_intern("read");
|
695
695
|
|
696
696
|
rb_cRuggedBlob = rb_define_class_under(rb_mRugged, "Blob", rb_cRuggedObject);
|
697
|
+
rb_undef_alloc_func(rb_cRuggedBlob);
|
697
698
|
|
698
699
|
rb_define_method(rb_cRuggedBlob, "size", rb_git_blob_rawsize, 0);
|
699
700
|
rb_define_method(rb_cRuggedBlob, "content", rb_git_blob_content_GET, -1);
|
@@ -712,6 +713,8 @@ void Init_rugged_blob(void)
|
|
712
713
|
rb_define_singleton_method(rb_cRuggedBlob, "merge_files", rb_git_blob_merge_files, -1);
|
713
714
|
|
714
715
|
rb_cRuggedBlobSig = rb_define_class_under(rb_cRuggedBlob, "HashSignature", rb_cObject);
|
716
|
+
rb_undef_alloc_func(rb_cRuggedBlobSig);
|
717
|
+
|
715
718
|
rb_define_singleton_method(rb_cRuggedBlobSig, "new", rb_git_blob_sig_new, -1);
|
716
719
|
rb_define_singleton_method(rb_cRuggedBlobSig, "compare", rb_git_blob_sig_compare, 2);
|
717
720
|
}
|
data/ext/rugged/rugged_commit.c
CHANGED
@@ -869,6 +869,7 @@ static VALUE rb_git_commit_create_with_signature(int argc, VALUE *argv, VALUE se
|
|
869
869
|
void Init_rugged_commit(void)
|
870
870
|
{
|
871
871
|
rb_cRuggedCommit = rb_define_class_under(rb_mRugged, "Commit", rb_cRuggedObject);
|
872
|
+
rb_undef_alloc_func(rb_cRuggedCommit);
|
872
873
|
|
873
874
|
rb_define_singleton_method(rb_cRuggedCommit, "create", rb_git_commit_create, 2);
|
874
875
|
rb_define_singleton_method(rb_cRuggedCommit, "create_to_s", rb_git_commit_create_to_s, 2);
|
data/ext/rugged/rugged_config.c
CHANGED
@@ -411,6 +411,8 @@ void Init_rugged_config(void)
|
|
411
411
|
* Config
|
412
412
|
*/
|
413
413
|
rb_cRuggedConfig = rb_define_class_under(rb_mRugged, "Config", rb_cObject);
|
414
|
+
rb_undef_alloc_func(rb_cRuggedConfig);
|
415
|
+
|
414
416
|
rb_define_singleton_method(rb_cRuggedConfig, "new", rb_git_config_new, 1);
|
415
417
|
|
416
418
|
rb_define_singleton_method(rb_cRuggedConfig, "global", rb_git_config_open_default, 0);
|
data/ext/rugged/rugged_diff.c
CHANGED
@@ -640,6 +640,7 @@ static VALUE rb_git_diff_sorted_icase_p(VALUE self)
|
|
640
640
|
void Init_rugged_diff(void)
|
641
641
|
{
|
642
642
|
rb_cRuggedDiff = rb_define_class_under(rb_mRugged, "Diff", rb_cObject);
|
643
|
+
rb_undef_alloc_func(rb_cRuggedDiff);
|
643
644
|
|
644
645
|
rb_define_method(rb_cRuggedDiff, "patch", rb_git_diff_patch, -1);
|
645
646
|
rb_define_method(rb_cRuggedDiff, "write_patch", rb_git_diff_write_patch, -1);
|
data/ext/rugged/rugged_index.c
CHANGED
@@ -1029,6 +1029,8 @@ void Init_rugged_index(void)
|
|
1029
1029
|
* Index
|
1030
1030
|
*/
|
1031
1031
|
rb_cRuggedIndex = rb_define_class_under(rb_mRugged, "Index", rb_cObject);
|
1032
|
+
rb_undef_alloc_func(rb_cRuggedIndex);
|
1033
|
+
|
1032
1034
|
rb_define_singleton_method(rb_cRuggedIndex, "new", rb_git_index_new, -1);
|
1033
1035
|
|
1034
1036
|
rb_define_method(rb_cRuggedIndex, "count", rb_git_index_count, 0);
|
data/ext/rugged/rugged_patch.c
CHANGED
@@ -383,6 +383,7 @@ static VALUE rb_git_diff_patch_header(VALUE self)
|
|
383
383
|
void Init_rugged_patch(void)
|
384
384
|
{
|
385
385
|
rb_cRuggedPatch = rb_define_class_under(rb_mRugged, "Patch", rb_cObject);
|
386
|
+
rb_undef_alloc_func(rb_cRuggedPatch);
|
386
387
|
|
387
388
|
rb_define_singleton_method(rb_cRuggedPatch, "from_strings", rb_git_patch_from_strings, -1);
|
388
389
|
|
data/ext/rugged/rugged_rebase.c
CHANGED
@@ -389,6 +389,7 @@ static VALUE rebase_operation_type(git_rebase_operation *operation)
|
|
389
389
|
void Init_rugged_rebase(void)
|
390
390
|
{
|
391
391
|
rb_cRuggedRebase = rb_define_class_under(rb_mRugged, "Rebase", rb_cObject);
|
392
|
+
rb_undef_alloc_func(rb_cRuggedRebase);
|
392
393
|
|
393
394
|
rb_define_singleton_method(rb_cRuggedRebase, "new", rb_git_rebase_new, -1);
|
394
395
|
rb_define_method(rb_cRuggedRebase, "next", rb_git_rebase_next, 0);
|
@@ -368,6 +368,7 @@ static VALUE rb_git_ref_is_tag(VALUE self)
|
|
368
368
|
void Init_rugged_reference(void)
|
369
369
|
{
|
370
370
|
rb_cRuggedReference = rb_define_class_under(rb_mRugged, "Reference", rb_cObject);
|
371
|
+
rb_undef_alloc_func(rb_cRuggedReference);
|
371
372
|
|
372
373
|
rb_define_singleton_method(rb_cRuggedReference, "valid_name?", rb_git_ref_valid_name, 1);
|
373
374
|
|
data/ext/rugged/rugged_remote.c
CHANGED
@@ -743,6 +743,7 @@ static VALUE rb_git_remote_push(int argc, VALUE *argv, VALUE self)
|
|
743
743
|
void Init_rugged_remote(void)
|
744
744
|
{
|
745
745
|
rb_cRuggedRemote = rb_define_class_under(rb_mRugged, "Remote", rb_cObject);
|
746
|
+
rb_undef_alloc_func(rb_cRuggedRemote);
|
746
747
|
|
747
748
|
rb_define_method(rb_cRuggedRemote, "name", rb_git_remote_name, 0);
|
748
749
|
rb_define_method(rb_cRuggedRemote, "url", rb_git_remote_url, 0);
|
data/ext/rugged/rugged_repo.c
CHANGED
@@ -2738,7 +2738,7 @@ static VALUE rb_git_repo_cherrypick_commit(int argc, VALUE *argv, VALUE self)
|
|
2738
2738
|
|
2739
2739
|
/*
|
2740
2740
|
* call-seq: repo.diff_from_buffer(buffer) -> Rugged::Diff object
|
2741
|
-
*
|
2741
|
+
*
|
2742
2742
|
* Where +buffer+ is a +String+.
|
2743
2743
|
* Returns A Rugged::Diff object
|
2744
2744
|
*/
|
@@ -2764,6 +2764,7 @@ void Init_rugged_repo(void)
|
|
2764
2764
|
id_call = rb_intern("call");
|
2765
2765
|
|
2766
2766
|
rb_cRuggedRepo = rb_define_class_under(rb_mRugged, "Repository", rb_cObject);
|
2767
|
+
rb_undef_alloc_func(rb_cRuggedRepo);
|
2767
2768
|
|
2768
2769
|
rb_define_singleton_method(rb_cRuggedRepo, "new", rb_git_repo_new, -1);
|
2769
2770
|
rb_define_singleton_method(rb_cRuggedRepo, "bare", rb_git_repo_open_bare, -1);
|
@@ -2817,7 +2818,7 @@ void Init_rugged_repo(void)
|
|
2817
2818
|
rb_define_method(rb_cRuggedRepo, "apply", rb_git_repo_apply, -1);
|
2818
2819
|
|
2819
2820
|
rb_define_method(rb_cRuggedRepo, "revert_commit", rb_git_repo_revert_commit, -1);
|
2820
|
-
|
2821
|
+
|
2821
2822
|
rb_define_method(rb_cRuggedRepo, "diff_from_buffer", rb_git_diff_from_buffer, 1);
|
2822
2823
|
|
2823
2824
|
rb_define_method(rb_cRuggedRepo, "path_ignored?", rb_git_repo_is_path_ignored, 1);
|
@@ -2841,6 +2842,8 @@ void Init_rugged_repo(void)
|
|
2841
2842
|
rb_define_method(rb_cRuggedRepo, "fetch_attributes", rb_git_repo_attributes, -1);
|
2842
2843
|
|
2843
2844
|
rb_cRuggedOdbObject = rb_define_class_under(rb_mRugged, "OdbObject", rb_cObject);
|
2845
|
+
rb_undef_alloc_func(rb_cRuggedOdbObject);
|
2846
|
+
|
2844
2847
|
rb_define_method(rb_cRuggedOdbObject, "data", rb_git_odbobj_data, 0);
|
2845
2848
|
rb_define_method(rb_cRuggedOdbObject, "len", rb_git_odbobj_size, 0);
|
2846
2849
|
rb_define_method(rb_cRuggedOdbObject, "type", rb_git_odbobj_type, 0);
|
data/ext/rugged/rugged_revwalk.c
CHANGED
@@ -11,6 +11,8 @@ extern VALUE rb_mRugged;
|
|
11
11
|
extern VALUE rb_cRuggedObject;
|
12
12
|
VALUE rb_cRuggedWalker;
|
13
13
|
|
14
|
+
extern const rb_data_type_t rugged_object_type;
|
15
|
+
|
14
16
|
static void rb_git_walk__free(git_revwalk *walk)
|
15
17
|
{
|
16
18
|
git_revwalk_free(walk);
|
@@ -43,7 +45,7 @@ static void push_commit_1(git_revwalk *walk, VALUE rb_commit, int hide)
|
|
43
45
|
{
|
44
46
|
if (rb_obj_is_kind_of(rb_commit, rb_cRuggedObject)) {
|
45
47
|
git_object *object;
|
46
|
-
|
48
|
+
TypedData_Get_Struct(rb_commit, git_object, &rugged_object_type, object);
|
47
49
|
|
48
50
|
push_commit_oid(walk, git_object_id(object), hide);
|
49
51
|
return;
|
@@ -481,6 +483,8 @@ static VALUE rb_git_walker_each_oid(int argc, VALUE *argv, VALUE self)
|
|
481
483
|
void Init_rugged_revwalk(void)
|
482
484
|
{
|
483
485
|
rb_cRuggedWalker = rb_define_class_under(rb_mRugged, "Walker", rb_cObject);
|
486
|
+
rb_undef_alloc_func(rb_cRuggedWalker);
|
487
|
+
|
484
488
|
rb_define_singleton_method(rb_cRuggedWalker, "new", rb_git_walker_new, 1);
|
485
489
|
rb_define_singleton_method(rb_cRuggedWalker, "walk", rb_git_walk, -1);
|
486
490
|
|
@@ -792,6 +792,7 @@ void Init_rugged_submodule(void)
|
|
792
792
|
id_update_none = rb_intern("none");
|
793
793
|
|
794
794
|
rb_cRuggedSubmodule = rb_define_class_under(rb_mRugged, "Submodule", rb_cObject);
|
795
|
+
rb_undef_alloc_func(rb_cRuggedSubmodule);
|
795
796
|
|
796
797
|
rb_define_method(rb_cRuggedSubmodule, "finalize_add", rb_git_submodule_finalize_add, 0);
|
797
798
|
|
data/ext/rugged/rugged_tag.c
CHANGED
@@ -225,6 +225,7 @@ void Init_rugged_tag(void)
|
|
225
225
|
rb_define_method(rb_cRuggedTag, "target", rb_git_tag_target, 0);
|
226
226
|
|
227
227
|
rb_cRuggedTagAnnotation = rb_define_class_under(rb_cRuggedTag, "Annotation", rb_cRuggedObject);
|
228
|
+
rb_undef_alloc_func(rb_cRuggedTagAnnotation);
|
228
229
|
|
229
230
|
rb_define_method(rb_cRuggedTagAnnotation, "message", rb_git_tag_annotation_message, 0);
|
230
231
|
rb_define_method(rb_cRuggedTagAnnotation, "name", rb_git_tag_annotation_name, 0);
|
data/ext/rugged/rugged_tree.c
CHANGED
@@ -899,6 +899,8 @@ void Init_rugged_tree(void)
|
|
899
899
|
* Tree
|
900
900
|
*/
|
901
901
|
rb_cRuggedTree = rb_define_class_under(rb_mRugged, "Tree", rb_cRuggedObject);
|
902
|
+
rb_undef_alloc_func(rb_cRuggedTree);
|
903
|
+
|
902
904
|
rb_define_method(rb_cRuggedTree, "count", rb_git_tree_entrycount, 0);
|
903
905
|
rb_define_method(rb_cRuggedTree, "count_recursive", rb_git_tree_entrycount_recursive, -1);
|
904
906
|
rb_define_method(rb_cRuggedTree, "length", rb_git_tree_entrycount, 0);
|
@@ -917,6 +919,8 @@ void Init_rugged_tree(void)
|
|
917
919
|
rb_define_private_method(rb_singleton_class(rb_cRuggedTree), "diff_tree_to_tree", rb_git_diff_tree_to_tree, 4);
|
918
920
|
|
919
921
|
rb_cRuggedTreeBuilder = rb_define_class_under(rb_cRuggedTree, "Builder", rb_cObject);
|
922
|
+
rb_undef_alloc_func(rb_cRuggedTreeBuilder);
|
923
|
+
|
920
924
|
rb_define_singleton_method(rb_cRuggedTreeBuilder, "new", rb_git_treebuilder_new, -1);
|
921
925
|
rb_define_method(rb_cRuggedTreeBuilder, "clear", rb_git_treebuilder_clear, 0);
|
922
926
|
rb_define_method(rb_cRuggedTreeBuilder, "[]", rb_git_treebuilder_get, 1);
|
data/lib/rugged/index.rb
CHANGED
@@ -81,7 +81,7 @@ module Rugged
|
|
81
81
|
# :deltas_are_icase ::
|
82
82
|
# If true, filename comparisons will be made with case-insensitivity.
|
83
83
|
#
|
84
|
-
# :
|
84
|
+
# :show_untracked_content ::
|
85
85
|
# if true, untracked content will be contained in the the diff patch text.
|
86
86
|
#
|
87
87
|
# :skip_binary_check ::
|
data/lib/rugged/tree.rb
CHANGED
@@ -87,7 +87,7 @@ module Rugged
|
|
87
87
|
# :deltas_are_icase ::
|
88
88
|
# If true, filename comparisons will be made with case-insensitivity.
|
89
89
|
#
|
90
|
-
# :
|
90
|
+
# :show_untracked_content ::
|
91
91
|
# if true, untracked content will be contained in the the diff patch text.
|
92
92
|
#
|
93
93
|
# :skip_binary_check ::
|
data/lib/rugged/version.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
cmake_minimum_required(VERSION 3.5.1)
|
8
8
|
|
9
|
-
project(libgit2 VERSION "1.
|
9
|
+
project(libgit2 VERSION "1.6.3" LANGUAGES C)
|
10
10
|
|
11
11
|
# Add find modules to the path
|
12
12
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
|
@@ -15,6 +15,9 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
|
|
15
15
|
# Build options
|
16
16
|
#
|
17
17
|
|
18
|
+
# Experimental features
|
19
|
+
option(EXPERIMENTAL_SHA256 "Enable experimental SHA256 support (for R&D/testing)" OFF)
|
20
|
+
|
18
21
|
# Optional subsystems
|
19
22
|
option(BUILD_SHARED_LIBS "Build Shared Library (OFF for Static)" ON)
|
20
23
|
option(BUILD_TESTS "Build Tests using the Clar suite" ON)
|
@@ -107,6 +110,7 @@ include(IdeSplitSources)
|
|
107
110
|
include(FeatureSummary)
|
108
111
|
include(EnableWarnings)
|
109
112
|
include(DefaultCFlags)
|
113
|
+
include(ExperimentalFeatures)
|
110
114
|
|
111
115
|
|
112
116
|
#
|
data/vendor/libgit2/COPYING
CHANGED
@@ -1184,3 +1184,33 @@ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
1184
1184
|
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
1185
1185
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
1186
1186
|
|
1187
|
+
----------------------------------------------------------------------
|
1188
|
+
|
1189
|
+
The built-in git_fs_path_basename_r() function is based on the
|
1190
|
+
Android implementation, BSD licensed:
|
1191
|
+
|
1192
|
+
Copyright (C) 2008 The Android Open Source Project
|
1193
|
+
All rights reserved.
|
1194
|
+
|
1195
|
+
Redistribution and use in source and binary forms, with or without
|
1196
|
+
modification, are permitted provided that the following conditions
|
1197
|
+
are met:
|
1198
|
+
* Redistributions of source code must retain the above copyright
|
1199
|
+
notice, this list of conditions and the following disclaimer.
|
1200
|
+
* Redistributions in binary form must reproduce the above copyright
|
1201
|
+
notice, this list of conditions and the following disclaimer in
|
1202
|
+
the documentation and/or other materials provided with the
|
1203
|
+
distribution.
|
1204
|
+
|
1205
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
1206
|
+
AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
1207
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
1208
|
+
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
1209
|
+
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
1210
|
+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
1211
|
+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
1212
|
+
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
1213
|
+
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
1214
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
1215
|
+
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
1216
|
+
SUCH DAMAGE.
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Experimental feature support for libgit2 - developers can opt in to
|
2
|
+
# experimental functionality, like sha256 support. When experimental
|
3
|
+
# functionality is enabled, we set both a cmake flag *and* a compile
|
4
|
+
# definition. The cmake flag is used to generate `experimental.h`,
|
5
|
+
# which will be installed by a `make install`. But the compile definition
|
6
|
+
# is used by the libgit2 sources to detect the functionality at library
|
7
|
+
# build time. This allows us to have an in-tree `experimental.h` with
|
8
|
+
# *no* experiments enabled. This lets us support users who build without
|
9
|
+
# cmake and cannot generate the `experimental.h` file.
|
10
|
+
|
11
|
+
if(EXPERIMENTAL_SHA256)
|
12
|
+
add_feature_info("SHA256 API" ON "experimental SHA256 APIs")
|
13
|
+
|
14
|
+
set(EXPERIMENTAL 1)
|
15
|
+
set(GIT_EXPERIMENTAL_SHA256 1)
|
16
|
+
add_definitions(-DGIT_EXPERIMENTAL_SHA256=1)
|
17
|
+
else()
|
18
|
+
add_feature_info("SHA256 API" OFF "experimental SHA256 APIs")
|
19
|
+
endif()
|
20
|
+
|
21
|
+
if(EXPERIMENTAL)
|
22
|
+
set(LIBGIT2_FILENAME "${LIBGIT2_FILENAME}-experimental")
|
23
|
+
endif()
|
@@ -20,11 +20,13 @@ if(USE_HTTPS STREQUAL "SecureTransport")
|
|
20
20
|
set_source_files_properties("crypt_commoncrypto.c" COMPILE_FLAGS "-Wno-deprecated")
|
21
21
|
elseif(USE_HTTPS STREQUAL "OpenSSL")
|
22
22
|
add_definitions(-DCRYPT_OPENSSL)
|
23
|
+
add_definitions(-DOPENSSL_API_COMPAT=0x10100000L)
|
23
24
|
include_directories(${OPENSSL_INCLUDE_DIR})
|
24
25
|
set(SRC_NTLMCLIENT_CRYPTO "crypt_openssl.c" "crypt_openssl.h")
|
25
26
|
elseif(USE_HTTPS STREQUAL "OpenSSL-Dynamic")
|
26
27
|
add_definitions(-DCRYPT_OPENSSL)
|
27
28
|
add_definitions(-DCRYPT_OPENSSL_DYNAMIC)
|
29
|
+
add_definitions(-DOPENSSL_API_COMPAT=0x10100000L)
|
28
30
|
set(SRC_NTLMCLIENT_CRYPTO "crypt_openssl.c" "crypt_openssl.h")
|
29
31
|
elseif(USE_HTTPS STREQUAL "mbedTLS")
|
30
32
|
add_definitions(-DCRYPT_MBEDTLS)
|
@@ -105,11 +105,6 @@ GIT_BEGIN_DECL
|
|
105
105
|
*/
|
106
106
|
#define GIT_PATH_MAX 4096
|
107
107
|
|
108
|
-
/**
|
109
|
-
* The string representation of the null object ID.
|
110
|
-
*/
|
111
|
-
#define GIT_OID_HEX_ZERO "0000000000000000000000000000000000000000"
|
112
|
-
|
113
108
|
/**
|
114
109
|
* Return the version of the libgit2 library
|
115
110
|
* being currently used.
|
@@ -227,7 +222,9 @@ typedef enum {
|
|
227
222
|
GIT_OPT_GET_EXTENSIONS,
|
228
223
|
GIT_OPT_SET_EXTENSIONS,
|
229
224
|
GIT_OPT_GET_OWNER_VALIDATION,
|
230
|
-
GIT_OPT_SET_OWNER_VALIDATION
|
225
|
+
GIT_OPT_SET_OWNER_VALIDATION,
|
226
|
+
GIT_OPT_GET_HOMEDIR,
|
227
|
+
GIT_OPT_SET_HOMEDIR
|
231
228
|
} git_libgit2_opt_t;
|
232
229
|
|
233
230
|
/**
|
@@ -473,6 +470,16 @@ typedef enum {
|
|
473
470
|
* > Set that repository directories should be owned by the current
|
474
471
|
* > user. The default is to validate ownership.
|
475
472
|
*
|
473
|
+
* opts(GIT_OPT_GET_HOMEDIR, git_buf *out)
|
474
|
+
* > Gets the current user's home directory, as it will be used
|
475
|
+
* > for file lookups. The path is written to the `out` buffer.
|
476
|
+
*
|
477
|
+
* opts(GIT_OPT_SET_HOMEDIR, const char *path)
|
478
|
+
* > Sets the directory used as the current user's home directory,
|
479
|
+
* > for file lookups.
|
480
|
+
* >
|
481
|
+
* > - `path` directory of home directory.
|
482
|
+
*
|
476
483
|
* @param option Option key
|
477
484
|
* @param ... value to set the option
|
478
485
|
* @return 0 on success, <0 on failure
|
@@ -777,6 +777,12 @@ typedef git_trace_cb git_trace_callback;
|
|
777
777
|
*/
|
778
778
|
/**@{*/
|
779
779
|
|
780
|
+
#ifndef GIT_EXPERIMENTAL_SHA256
|
781
|
+
# define GIT_OID_RAWSZ GIT_OID_SHA1_SIZE
|
782
|
+
# define GIT_OID_HEXSZ GIT_OID_SHA1_HEXSIZE
|
783
|
+
# define GIT_OID_HEX_ZERO GIT_OID_SHA1_HEXZERO
|
784
|
+
#endif
|
785
|
+
|
780
786
|
GIT_EXTERN(int) git_oid_iszero(const git_oid *id);
|
781
787
|
|
782
788
|
/**@}*/
|
@@ -274,7 +274,7 @@ typedef struct {
|
|
274
274
|
|
275
275
|
/**
|
276
276
|
* Represents the known length of the `id` field, when
|
277
|
-
* converted to a hex string. It is generally `
|
277
|
+
* converted to a hex string. It is generally `GIT_OID_SHA1_HEXSIZE`, unless this
|
278
278
|
* delta was created from reading a patch file, in which case it may be
|
279
279
|
* abbreviated to something reasonable, like 7 characters.
|
280
280
|
*/
|
@@ -0,0 +1,20 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright (C) the libgit2 contributors. All rights reserved.
|
3
|
+
*
|
4
|
+
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
5
|
+
* a Linking Exception. For full terms see the included COPYING file.
|
6
|
+
*/
|
7
|
+
|
8
|
+
#ifndef INCLUDE_experimental_h__
|
9
|
+
#define INCLUDE_experimental_h__
|
10
|
+
|
11
|
+
/*
|
12
|
+
* This file exists to support users who build libgit2 with a bespoke
|
13
|
+
* build system and do not use our cmake configuration. Normally, cmake
|
14
|
+
* will create `experimental.h` from the `experimental.h.in` file and
|
15
|
+
* will include the generated file instead of this one. For non-cmake
|
16
|
+
* users, we bundle this `experimental.h` file which will be used
|
17
|
+
* instead.
|
18
|
+
*/
|
19
|
+
|
20
|
+
#endif
|
@@ -62,6 +62,19 @@ typedef int GIT_CALLBACK(git_indexer_progress_cb)(const git_indexer_progress *st
|
|
62
62
|
typedef struct git_indexer_options {
|
63
63
|
unsigned int version;
|
64
64
|
|
65
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
66
|
+
/** permissions to use creating packfile or 0 for defaults */
|
67
|
+
unsigned int mode;
|
68
|
+
|
69
|
+
/**
|
70
|
+
* object database from which to read base objects when
|
71
|
+
* fixing thin packs. This can be NULL if there are no thin
|
72
|
+
* packs; if a thin pack is encountered, an error will be
|
73
|
+
* returned if there are bases missing.
|
74
|
+
*/
|
75
|
+
git_odb *odb;
|
76
|
+
#endif
|
77
|
+
|
65
78
|
/** progress_cb function to call with progress information */
|
66
79
|
git_indexer_progress_cb progress_cb;
|
67
80
|
|
@@ -87,6 +100,21 @@ GIT_EXTERN(int) git_indexer_options_init(
|
|
87
100
|
git_indexer_options *opts,
|
88
101
|
unsigned int version);
|
89
102
|
|
103
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
104
|
+
/**
|
105
|
+
* Create a new indexer instance
|
106
|
+
*
|
107
|
+
* @param out where to store the indexer instance
|
108
|
+
* @param path to the directory where the packfile should be stored
|
109
|
+
* @param oid_type the oid type to use for objects
|
110
|
+
* @return 0 or an error code.
|
111
|
+
*/
|
112
|
+
GIT_EXTERN(int) git_indexer_new(
|
113
|
+
git_indexer **out,
|
114
|
+
const char *path,
|
115
|
+
git_oid_t oid_type,
|
116
|
+
git_indexer_options *opts);
|
117
|
+
#else
|
90
118
|
/**
|
91
119
|
* Create a new indexer instance
|
92
120
|
*
|
@@ -106,6 +134,7 @@ GIT_EXTERN(int) git_indexer_new(
|
|
106
134
|
unsigned int mode,
|
107
135
|
git_odb *odb,
|
108
136
|
git_indexer_options *opts);
|
137
|
+
#endif
|
109
138
|
|
110
139
|
/**
|
111
140
|
* Add data to the indexer
|
@@ -225,6 +225,7 @@ GIT_EXTERN(int) git_object_peel(
|
|
225
225
|
*/
|
226
226
|
GIT_EXTERN(int) git_object_dup(git_object **dest, git_object *source);
|
227
227
|
|
228
|
+
#ifdef GIT_EXPERIMENTAL_SHA256
|
228
229
|
/**
|
229
230
|
* Analyzes a buffer of raw object content and determines its validity.
|
230
231
|
* Tree, commit, and tag objects will be parsed and ensured that they
|
@@ -238,14 +239,39 @@ GIT_EXTERN(int) git_object_dup(git_object **dest, git_object *source);
|
|
238
239
|
* @param valid Output pointer to set with validity of the object content
|
239
240
|
* @param buf The contents to validate
|
240
241
|
* @param len The length of the buffer
|
241
|
-
* @param
|
242
|
+
* @param object_type The type of the object in the buffer
|
243
|
+
* @param oid_type The object ID type for the OIDs in the given buffer
|
242
244
|
* @return 0 on success or an error code
|
243
245
|
*/
|
244
246
|
GIT_EXTERN(int) git_object_rawcontent_is_valid(
|
245
247
|
int *valid,
|
246
248
|
const char *buf,
|
247
249
|
size_t len,
|
248
|
-
git_object_t
|
250
|
+
git_object_t object_type,
|
251
|
+
git_oid_t oid_type);
|
252
|
+
#else
|
253
|
+
/**
|
254
|
+
* Analyzes a buffer of raw object content and determines its validity.
|
255
|
+
* Tree, commit, and tag objects will be parsed and ensured that they
|
256
|
+
* are valid, parseable content. (Blobs are always valid by definition.)
|
257
|
+
* An error message will be set with an informative message if the object
|
258
|
+
* is not valid.
|
259
|
+
*
|
260
|
+
* @warning This function is experimental and its signature may change in
|
261
|
+
* the future.
|
262
|
+
*
|
263
|
+
* @param valid Output pointer to set with validity of the object content
|
264
|
+
* @param buf The contents to validate
|
265
|
+
* @param len The length of the buffer
|
266
|
+
* @param object_type The type of the object in the buffer
|
267
|
+
* @return 0 on success or an error code
|
268
|
+
*/
|
269
|
+
GIT_EXTERN(int) git_object_rawcontent_is_valid(
|
270
|
+
int *valid,
|
271
|
+
const char *buf,
|
272
|
+
size_t len,
|
273
|
+
git_object_t object_type);
|
274
|
+
#endif
|
249
275
|
|
250
276
|
/** @} */
|
251
277
|
GIT_END_DECL
|