rugged 0.24.6.1 → 0.25.0
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/LICENSE +1 -1
- data/ext/rugged/extconf.rb +9 -2
- data/ext/rugged/rugged.c +85 -21
- data/ext/rugged/rugged.h +7 -21
- data/ext/rugged/rugged_backend.c +3 -20
- data/ext/rugged/rugged_blame.c +7 -24
- data/ext/rugged/rugged_blob.c +136 -59
- data/ext/rugged/rugged_branch.c +3 -20
- data/ext/rugged/rugged_branch_collection.c +3 -20
- data/ext/rugged/rugged_commit.c +251 -101
- data/ext/rugged/rugged_config.c +3 -20
- data/ext/rugged/rugged_cred.c +3 -20
- data/ext/rugged/rugged_diff.c +3 -20
- data/ext/rugged/rugged_diff_delta.c +3 -20
- data/ext/rugged/rugged_diff_hunk.c +3 -20
- data/ext/rugged/rugged_diff_line.c +3 -20
- data/ext/rugged/rugged_index.c +46 -229
- data/ext/rugged/rugged_note.c +3 -20
- data/ext/rugged/rugged_object.c +3 -20
- data/ext/rugged/rugged_patch.c +192 -34
- data/ext/rugged/rugged_rebase.c +90 -48
- data/ext/rugged/rugged_reference.c +4 -21
- data/ext/rugged/rugged_reference_collection.c +3 -20
- data/ext/rugged/rugged_remote.c +70 -42
- data/ext/rugged/rugged_remote_collection.c +3 -20
- data/ext/rugged/rugged_repo.c +50 -59
- data/ext/rugged/rugged_revwalk.c +4 -21
- data/ext/rugged/rugged_settings.c +3 -20
- data/ext/rugged/rugged_signature.c +3 -20
- data/ext/rugged/rugged_submodule.c +4 -21
- data/ext/rugged/rugged_submodule_collection.c +3 -20
- data/ext/rugged/rugged_tag.c +3 -20
- data/ext/rugged/rugged_tag_collection.c +3 -20
- data/ext/rugged/rugged_tree.c +189 -184
- data/lib/rugged/attributes.rb +5 -0
- data/lib/rugged/blob.rb +5 -0
- data/lib/rugged/branch.rb +6 -1
- data/lib/rugged/commit.rb +5 -0
- data/lib/rugged/console.rb +5 -0
- data/lib/rugged/credentials.rb +5 -0
- data/lib/rugged/diff/delta.rb +5 -0
- data/lib/rugged/diff/hunk.rb +5 -0
- data/lib/rugged/diff/line.rb +5 -0
- data/lib/rugged/diff.rb +5 -0
- data/lib/rugged/index.rb +120 -0
- data/lib/rugged/object.rb +5 -0
- data/lib/rugged/patch.rb +5 -0
- data/lib/rugged/reference.rb +5 -0
- data/lib/rugged/remote.rb +5 -0
- data/lib/rugged/repository.rb +9 -4
- data/lib/rugged/submodule_collection.rb +5 -0
- data/lib/rugged/tag.rb +5 -0
- data/lib/rugged/tree.rb +156 -1
- data/lib/rugged/version.rb +6 -1
- data/lib/rugged/walker.rb +5 -0
- data/lib/rugged.rb +5 -0
- data/vendor/libgit2/CMakeLists.txt +12 -2
- data/vendor/libgit2/include/git2/blob.h +39 -28
- data/vendor/libgit2/include/git2/commit.h +76 -0
- data/vendor/libgit2/include/git2/common.h +21 -1
- data/vendor/libgit2/include/git2/describe.h +5 -2
- data/vendor/libgit2/include/git2/diff.h +62 -7
- data/vendor/libgit2/include/git2/errors.h +2 -1
- data/vendor/libgit2/include/git2/index.h +25 -0
- data/vendor/libgit2/include/git2/merge.h +10 -1
- data/vendor/libgit2/include/git2/odb.h +47 -1
- data/vendor/libgit2/include/git2/pack.h +4 -4
- data/vendor/libgit2/include/git2/patch.h +1 -1
- data/vendor/libgit2/include/git2/proxy.h +92 -0
- data/vendor/libgit2/include/git2/refs.h +11 -0
- data/vendor/libgit2/include/git2/remote.h +21 -8
- data/vendor/libgit2/include/git2/repository.h +20 -1
- data/vendor/libgit2/include/git2/revwalk.h +4 -6
- data/vendor/libgit2/include/git2/signature.h +13 -0
- data/vendor/libgit2/include/git2/submodule.h +11 -3
- data/vendor/libgit2/include/git2/sys/merge.h +177 -0
- data/vendor/libgit2/include/git2/sys/odb_backend.h +11 -0
- data/vendor/libgit2/include/git2/sys/remote.h +16 -0
- data/vendor/libgit2/include/git2/sys/stream.h +2 -1
- data/vendor/libgit2/include/git2/sys/time.h +31 -0
- data/vendor/libgit2/include/git2/sys/transport.h +3 -1
- data/vendor/libgit2/include/git2/tag.h +9 -0
- data/vendor/libgit2/include/git2/transaction.h +9 -0
- data/vendor/libgit2/include/git2/tree.h +55 -0
- data/vendor/libgit2/include/git2/version.h +4 -4
- data/vendor/libgit2/include/git2.h +1 -0
- data/vendor/libgit2/src/annotated_commit.c +99 -80
- data/vendor/libgit2/src/annotated_commit.h +5 -2
- data/vendor/libgit2/src/apply.c +377 -0
- data/vendor/libgit2/src/apply.h +21 -0
- data/vendor/libgit2/src/array.h +0 -1
- data/vendor/libgit2/src/blob.c +71 -39
- data/vendor/libgit2/src/branch.c +7 -5
- data/vendor/libgit2/src/buffer.c +252 -20
- data/vendor/libgit2/src/buffer.h +8 -0
- data/vendor/libgit2/src/checkout.c +69 -42
- data/vendor/libgit2/src/clone.c +0 -8
- data/vendor/libgit2/src/commit.c +193 -49
- data/vendor/libgit2/src/commit_list.c +8 -3
- data/vendor/libgit2/src/commit_list.h +1 -0
- data/vendor/libgit2/src/common.h +2 -1
- data/vendor/libgit2/src/config.c +3 -3
- data/vendor/libgit2/src/config_file.c +20 -10
- data/vendor/libgit2/src/crlf.c +1 -0
- data/vendor/libgit2/src/curl_stream.c +106 -6
- data/vendor/libgit2/src/delta.c +238 -62
- data/vendor/libgit2/src/delta.h +79 -58
- data/vendor/libgit2/src/describe.c +1 -1
- data/vendor/libgit2/src/diff.c +32 -1554
- data/vendor/libgit2/src/diff.h +14 -122
- data/vendor/libgit2/src/diff_driver.c +4 -6
- data/vendor/libgit2/src/diff_file.c +3 -0
- data/vendor/libgit2/src/diff_generate.c +1613 -0
- data/vendor/libgit2/src/diff_generate.h +123 -0
- data/vendor/libgit2/src/diff_parse.c +101 -0
- data/vendor/libgit2/src/diff_parse.h +18 -0
- data/vendor/libgit2/src/diff_print.c +263 -144
- data/vendor/libgit2/src/diff_stats.c +21 -12
- data/vendor/libgit2/src/diff_tform.c +1 -0
- data/vendor/libgit2/src/diff_tform.h +22 -0
- data/vendor/libgit2/src/diff_xdiff.c +9 -9
- data/vendor/libgit2/src/diff_xdiff.h +5 -5
- data/vendor/libgit2/src/fetchhead.c +8 -8
- data/vendor/libgit2/src/filebuf.c +6 -1
- data/vendor/libgit2/src/filebuf.h +1 -0
- data/vendor/libgit2/src/fileops.c +22 -1
- data/vendor/libgit2/src/fileops.h +8 -2
- data/vendor/libgit2/src/fnmatch.c +18 -5
- data/vendor/libgit2/src/global.c +21 -4
- data/vendor/libgit2/src/global.h +6 -0
- data/vendor/libgit2/src/graph.c +1 -1
- data/vendor/libgit2/src/index.c +159 -46
- data/vendor/libgit2/src/index.h +2 -0
- data/vendor/libgit2/src/iterator.c +1573 -1468
- data/vendor/libgit2/src/iterator.h +52 -69
- data/vendor/libgit2/src/merge.c +163 -64
- data/vendor/libgit2/src/merge.h +61 -2
- data/vendor/libgit2/src/merge_driver.c +397 -0
- data/vendor/libgit2/src/merge_driver.h +60 -0
- data/vendor/libgit2/src/merge_file.c +11 -49
- data/vendor/libgit2/src/netops.c +12 -10
- data/vendor/libgit2/src/object_api.c +19 -1
- data/vendor/libgit2/src/odb.c +228 -52
- data/vendor/libgit2/src/odb_loose.c +19 -1
- data/vendor/libgit2/src/odb_mempack.c +1 -1
- data/vendor/libgit2/src/odb_pack.c +27 -1
- data/vendor/libgit2/src/openssl_stream.c +4 -5
- data/vendor/libgit2/src/pack-objects.c +105 -76
- data/vendor/libgit2/src/pack-objects.h +13 -12
- data/vendor/libgit2/src/pack.c +16 -10
- data/vendor/libgit2/src/pack.h +2 -0
- data/vendor/libgit2/src/patch.c +216 -0
- data/vendor/libgit2/src/patch.h +66 -0
- data/vendor/libgit2/src/{diff_patch.c → patch_generate.c} +203 -376
- data/vendor/libgit2/src/patch_generate.h +68 -0
- data/vendor/libgit2/src/patch_parse.c +1159 -0
- data/vendor/libgit2/src/patch_parse.h +56 -0
- data/vendor/libgit2/src/path.c +38 -2
- data/vendor/libgit2/src/path.h +18 -0
- data/vendor/libgit2/src/pathspec.c +1 -1
- data/vendor/libgit2/src/pool.h +5 -0
- data/vendor/libgit2/src/pqueue.c +12 -5
- data/vendor/libgit2/src/pqueue.h +1 -0
- data/vendor/libgit2/src/proxy.c +32 -0
- data/vendor/libgit2/src/proxy.h +14 -0
- data/vendor/libgit2/src/push.c +1 -1
- data/vendor/libgit2/src/rebase.c +63 -36
- data/vendor/libgit2/src/refdb.c +4 -2
- data/vendor/libgit2/src/refdb_fs.c +82 -54
- data/vendor/libgit2/src/refs.c +13 -1
- data/vendor/libgit2/src/remote.c +20 -81
- data/vendor/libgit2/src/repository.c +212 -29
- data/vendor/libgit2/src/reset.c +1 -1
- data/vendor/libgit2/src/revparse.c +1 -1
- data/vendor/libgit2/src/revwalk.c +260 -184
- data/vendor/libgit2/src/settings.c +11 -3
- data/vendor/libgit2/src/signature.c +27 -2
- data/vendor/libgit2/src/sortedcache.c +14 -5
- data/vendor/libgit2/src/stash.c +1 -0
- data/vendor/libgit2/src/status.c +1 -0
- data/vendor/libgit2/src/stransport_stream.c +4 -2
- data/vendor/libgit2/src/stream.h +2 -2
- data/vendor/libgit2/src/submodule.c +16 -4
- data/vendor/libgit2/src/sysdir.c +1 -1
- data/vendor/libgit2/src/transport.c +3 -5
- data/vendor/libgit2/src/transports/http.c +38 -13
- data/vendor/libgit2/src/transports/local.c +4 -1
- data/vendor/libgit2/src/transports/smart.c +6 -0
- data/vendor/libgit2/src/transports/smart.h +1 -0
- data/vendor/libgit2/src/transports/smart_pkt.c +5 -13
- data/vendor/libgit2/src/transports/smart_protocol.c +22 -7
- data/vendor/libgit2/src/transports/winhttp.c +144 -11
- data/vendor/libgit2/src/tree.c +267 -2
- data/vendor/libgit2/src/unix/posix.h +10 -0
- data/vendor/libgit2/src/unix/pthread.h +2 -0
- data/vendor/libgit2/src/util.c +25 -2
- data/vendor/libgit2/src/util.h +10 -0
- data/vendor/libgit2/src/varint.c +44 -0
- data/vendor/libgit2/src/varint.h +15 -0
- data/vendor/libgit2/src/vector.c +58 -0
- data/vendor/libgit2/src/vector.h +8 -0
- data/vendor/libgit2/src/win32/posix.h +3 -0
- data/vendor/libgit2/src/win32/thread.c +18 -0
- data/vendor/libgit2/src/win32/thread.h +2 -0
- data/vendor/libgit2/src/win32/w32_util.h +1 -1
- data/vendor/libgit2/src/zstream.c +37 -8
- data/vendor/libgit2/src/zstream.h +8 -1
- metadata +100 -82
- data/vendor/libgit2/Makefile.embed +0 -60
- data/vendor/libgit2/src/delta-apply.c +0 -166
- data/vendor/libgit2/src/delta-apply.h +0 -62
- data/vendor/libgit2/src/diff_patch.h +0 -83
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e7c6702ff8d1ff0c9c82ed452dc97b5f070f0bfa
|
|
4
|
+
data.tar.gz: a8e2f585ba932121e5e26ea29bfe7fe0b60a8d9a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8f5079be650d4c3af4f7cf786e531a114f272bf777bc7f3c71dec98955bbcadb85676d4b96384eef2ded67666f80dc0957f628e5565f4657ca5d288ba0d5c8dd
|
|
7
|
+
data.tar.gz: b88543357bc283cd08a8214e56e4bd6f3172293e46e2ddcab93aca4bf2197e7187c08e0ed6a3e7924b82504605622563f6de3c2a71a6ee7d7ff832a5f7f9165c
|
data/LICENSE
CHANGED
data/ext/rugged/extconf.rb
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
# Copyright (C) the Rugged contributors. All rights reserved.
|
|
2
|
+
#
|
|
3
|
+
# This file is part of Rugged, distributed under the MIT license.
|
|
4
|
+
# For full terms see the included LICENSE file.
|
|
5
|
+
|
|
1
6
|
require 'mkmf'
|
|
2
7
|
|
|
3
8
|
RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
|
|
@@ -67,7 +72,9 @@ else
|
|
|
67
72
|
Dir.mkdir("build") if !Dir.exists?("build")
|
|
68
73
|
|
|
69
74
|
Dir.chdir("build") do
|
|
70
|
-
|
|
75
|
+
# On Windows, Ruby-DevKit is MSYS-based, so ensure to use MSYS Makefiles.
|
|
76
|
+
generator = "-G \"MSYS Makefiles\"" if windows?
|
|
77
|
+
sys("cmake .. -DBUILD_CLAR=OFF -DTHREADSAFE=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_C_FLAGS=-fPIC -DCMAKE_BUILD_TYPE=RelWithDebInfo #{generator}")
|
|
71
78
|
sys(MAKE)
|
|
72
79
|
|
|
73
80
|
# "normal" libraries (and libgit2 builds) get all these when they build but we're doing it
|
|
@@ -75,7 +82,7 @@ else
|
|
|
75
82
|
# in $LIBS or the final linking stage won't pick them up
|
|
76
83
|
if windows?
|
|
77
84
|
$LDFLAGS << " " + "-L#{Dir.pwd}/deps/winhttp"
|
|
78
|
-
$LIBS << " -lwinhttp -lcrypt32 -lrpcrt4 -lole32"
|
|
85
|
+
$LIBS << " -lwinhttp -lcrypt32 -lrpcrt4 -lole32 -lz"
|
|
79
86
|
else
|
|
80
87
|
pcfile = File.join(LIBGIT2_DIR, "build", "libgit2.pc")
|
|
81
88
|
$LDFLAGS << " " + `pkg-config --libs --static #{pcfile}`.strip
|
data/ext/rugged/rugged.c
CHANGED
|
@@ -1,25 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
*
|
|
2
|
+
* Copyright (C) the Rugged contributors. All rights reserved.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
-
* in the Software without restriction, including without limitation the rights
|
|
9
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
-
* furnished to do so, subject to the following conditions:
|
|
12
|
-
*
|
|
13
|
-
* The above copyright notice and this permission notice shall be included in
|
|
14
|
-
* all copies or substantial portions of the Software.
|
|
15
|
-
*
|
|
16
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
-
* THE SOFTWARE.
|
|
4
|
+
* This file is part of Rugged, distributed under the MIT license.
|
|
5
|
+
* For full terms see the included LICENSE file.
|
|
23
6
|
*/
|
|
24
7
|
|
|
25
8
|
#include "rugged.h"
|
|
@@ -181,7 +164,7 @@ static VALUE rb_git_raw_to_hex(VALUE self, VALUE raw)
|
|
|
181
164
|
git_oid_fromraw(&oid, (const unsigned char *)RSTRING_PTR(raw));
|
|
182
165
|
git_oid_fmt(out, &oid);
|
|
183
166
|
|
|
184
|
-
return
|
|
167
|
+
return rb_usascii_str_new(out, 40);
|
|
185
168
|
}
|
|
186
169
|
|
|
187
170
|
/*
|
|
@@ -428,6 +411,87 @@ void rugged_rb_ary_to_strarray(VALUE rb_array, git_strarray *str_array)
|
|
|
428
411
|
}
|
|
429
412
|
}
|
|
430
413
|
|
|
414
|
+
void rugged_parse_merge_file_options(git_merge_file_options *opts, VALUE rb_options)
|
|
415
|
+
{
|
|
416
|
+
VALUE rb_value;
|
|
417
|
+
|
|
418
|
+
Check_Type(rb_options, T_HASH);
|
|
419
|
+
|
|
420
|
+
rb_value = rb_hash_aref(rb_options, CSTR2SYM("ancestor_label"));
|
|
421
|
+
if (!NIL_P(rb_value)) {
|
|
422
|
+
Check_Type(rb_value, T_STRING);
|
|
423
|
+
opts->ancestor_label = StringValueCStr(rb_value);
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
rb_value = rb_hash_aref(rb_options, CSTR2SYM("our_label"));
|
|
427
|
+
if (!NIL_P(rb_value)) {
|
|
428
|
+
Check_Type(rb_value, T_STRING);
|
|
429
|
+
opts->our_label = StringValueCStr(rb_value);
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
rb_value = rb_hash_aref(rb_options, CSTR2SYM("their_label"));
|
|
433
|
+
if (!NIL_P(rb_value)) {
|
|
434
|
+
Check_Type(rb_value, T_STRING);
|
|
435
|
+
opts->their_label = StringValueCStr(rb_value);
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
rb_value = rb_hash_aref(rb_options, CSTR2SYM("favor"));
|
|
439
|
+
if (!NIL_P(rb_value)) {
|
|
440
|
+
ID id_favor;
|
|
441
|
+
|
|
442
|
+
Check_Type(rb_value, T_SYMBOL);
|
|
443
|
+
id_favor = SYM2ID(rb_value);
|
|
444
|
+
|
|
445
|
+
if (id_favor == rb_intern("normal")) {
|
|
446
|
+
opts->favor = GIT_MERGE_FILE_FAVOR_NORMAL;
|
|
447
|
+
} else if (id_favor == rb_intern("ours")) {
|
|
448
|
+
opts->favor = GIT_MERGE_FILE_FAVOR_OURS;
|
|
449
|
+
} else if (id_favor == rb_intern("theirs")) {
|
|
450
|
+
opts->favor = GIT_MERGE_FILE_FAVOR_THEIRS;
|
|
451
|
+
} else if (id_favor == rb_intern("union")) {
|
|
452
|
+
opts->favor = GIT_MERGE_FILE_FAVOR_UNION;
|
|
453
|
+
} else {
|
|
454
|
+
rb_raise(rb_eTypeError,
|
|
455
|
+
"Invalid favor mode. Expected `:normal`, `:ours`, `:theirs` or `:union`");
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
rb_value = rb_hash_aref(rb_options, CSTR2SYM("style"));
|
|
460
|
+
if (!NIL_P(rb_value)) {
|
|
461
|
+
ID id_style;
|
|
462
|
+
|
|
463
|
+
Check_Type(rb_value, T_SYMBOL);
|
|
464
|
+
id_style = SYM2ID(rb_value);
|
|
465
|
+
|
|
466
|
+
if (id_style == rb_intern("standard")) {
|
|
467
|
+
opts->flags |= GIT_MERGE_FILE_STYLE_MERGE;
|
|
468
|
+
} else if (id_style == rb_intern("diff3")) {
|
|
469
|
+
opts->flags |= GIT_MERGE_FILE_STYLE_DIFF3;
|
|
470
|
+
} else {
|
|
471
|
+
rb_raise(rb_eTypeError,
|
|
472
|
+
"Invalid style mode. Expected `:standard`, or `:diff3`");
|
|
473
|
+
}
|
|
474
|
+
} else {
|
|
475
|
+
opts->flags |= GIT_MERGE_FILE_STYLE_MERGE;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
if (RTEST(rb_hash_aref(rb_options, CSTR2SYM("simplify")))) {
|
|
479
|
+
opts->flags |= GIT_MERGE_FILE_SIMPLIFY_ALNUM;
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
VALUE rb_merge_file_result_fromC(const git_merge_file_result *result)
|
|
484
|
+
{
|
|
485
|
+
VALUE rb_result = rb_hash_new();
|
|
486
|
+
|
|
487
|
+
rb_hash_aset(rb_result, CSTR2SYM("automergeable"), result->automergeable ? Qtrue : Qfalse);
|
|
488
|
+
rb_hash_aset(rb_result, CSTR2SYM("path"), result->path ? rb_str_new_utf8(result->path) : Qnil);
|
|
489
|
+
rb_hash_aset(rb_result, CSTR2SYM("filemode"), INT2FIX(result->mode));
|
|
490
|
+
rb_hash_aset(rb_result, CSTR2SYM("data"), rb_str_new(result->ptr, result->len));
|
|
491
|
+
|
|
492
|
+
return rb_result;
|
|
493
|
+
}
|
|
494
|
+
|
|
431
495
|
void Init_rugged(void)
|
|
432
496
|
{
|
|
433
497
|
rb_mRugged = rb_define_module("Rugged");
|
data/ext/rugged/rugged.h
CHANGED
|
@@ -1,25 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
*
|
|
2
|
+
* Copyright (C) the Rugged contributors. All rights reserved.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
-
* in the Software without restriction, including without limitation the rights
|
|
9
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
-
* furnished to do so, subject to the following conditions:
|
|
12
|
-
*
|
|
13
|
-
* The above copyright notice and this permission notice shall be included in
|
|
14
|
-
* all copies or substantial portions of the Software.
|
|
15
|
-
*
|
|
16
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
-
* THE SOFTWARE.
|
|
4
|
+
* This file is part of Rugged, distributed under the MIT license.
|
|
5
|
+
* For full terms see the included LICENSE file.
|
|
23
6
|
*/
|
|
24
7
|
|
|
25
8
|
#ifndef __H_RUGGED_BINDINGS__
|
|
@@ -96,10 +79,12 @@ VALUE rugged_diff_hunk_new(VALUE owner, size_t hunk_idx, const git_diff_hunk *hu
|
|
|
96
79
|
VALUE rugged_diff_line_new(const git_diff_line *line);
|
|
97
80
|
VALUE rugged_remote_new(VALUE owner, git_remote *remote);
|
|
98
81
|
VALUE rb_git_delta_file_fromC(const git_diff_file *file);
|
|
82
|
+
VALUE rb_merge_file_result_fromC(const git_merge_file_result *results);
|
|
99
83
|
|
|
100
84
|
void rugged_parse_diff_options(git_diff_options *opts, VALUE rb_options);
|
|
101
85
|
void rugged_parse_merge_options(git_merge_options *opts, VALUE rb_options);
|
|
102
86
|
void rugged_parse_checkout_options(git_checkout_options *opts, VALUE rb_options);
|
|
87
|
+
void rugged_parse_merge_file_options(git_merge_file_options *opts, VALUE rb_options);
|
|
103
88
|
|
|
104
89
|
void rugged_cred_extract(git_cred **cred, int allowed_types, VALUE rb_credential);
|
|
105
90
|
|
|
@@ -157,6 +142,7 @@ struct rugged_remote_cb_payload
|
|
|
157
142
|
VALUE transfer_progress;
|
|
158
143
|
VALUE update_tips;
|
|
159
144
|
VALUE credentials;
|
|
145
|
+
VALUE certificate_check;
|
|
160
146
|
VALUE result;
|
|
161
147
|
int exception;
|
|
162
148
|
};
|
|
@@ -176,7 +162,7 @@ static inline VALUE rugged_create_oid(const git_oid *oid)
|
|
|
176
162
|
{
|
|
177
163
|
char out[40];
|
|
178
164
|
git_oid_fmt(out, oid);
|
|
179
|
-
return
|
|
165
|
+
return rb_usascii_str_new(out, 40);
|
|
180
166
|
}
|
|
181
167
|
|
|
182
168
|
|
data/ext/rugged/rugged_backend.c
CHANGED
|
@@ -1,25 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
*
|
|
2
|
+
* Copyright (C) the Rugged contributors. All rights reserved.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
-
* in the Software without restriction, including without limitation the rights
|
|
9
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
-
* furnished to do so, subject to the following conditions:
|
|
12
|
-
*
|
|
13
|
-
* The above copyright notice and this permission notice shall be included in
|
|
14
|
-
* all copies or substantial portions of the Software.
|
|
15
|
-
*
|
|
16
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
-
* THE SOFTWARE.
|
|
4
|
+
* This file is part of Rugged, distributed under the MIT license.
|
|
5
|
+
* For full terms see the included LICENSE file.
|
|
23
6
|
*/
|
|
24
7
|
|
|
25
8
|
#include "rugged.h"
|
data/ext/rugged/rugged_blame.c
CHANGED
|
@@ -1,25 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
*
|
|
2
|
+
* Copyright (C) the Rugged contributors. All rights reserved.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
-
* in the Software without restriction, including without limitation the rights
|
|
9
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
-
* furnished to do so, subject to the following conditions:
|
|
12
|
-
*
|
|
13
|
-
* The above copyright notice and this permission notice shall be included in
|
|
14
|
-
* all copies or substantial portions of the Software.
|
|
15
|
-
*
|
|
16
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
-
* THE SOFTWARE.
|
|
4
|
+
* This file is part of Rugged, distributed under the MIT license.
|
|
5
|
+
* For full terms see the included LICENSE file.
|
|
23
6
|
*/
|
|
24
7
|
|
|
25
8
|
#include "rugged.h"
|
|
@@ -125,19 +108,19 @@ static void rugged_parse_blame_options(git_blame_options *opts, git_repository *
|
|
|
125
108
|
* The last line in the file to blame. Defaults to the last line in
|
|
126
109
|
* the file.
|
|
127
110
|
*
|
|
128
|
-
* :track_copies_same_file
|
|
111
|
+
* :track_copies_same_file ::
|
|
129
112
|
* If this value is +true+, lines that have moved within a file will be
|
|
130
113
|
* tracked (like `git blame -M`).
|
|
131
114
|
*
|
|
132
|
-
* :track_copies_same_commit_moves
|
|
115
|
+
* :track_copies_same_commit_moves ::
|
|
133
116
|
* If this value is +true+, lines that have moved across files in the same
|
|
134
117
|
* commit will be tracked (like `git blame -C`).
|
|
135
118
|
*
|
|
136
|
-
* :track_copies_same_commit_copies
|
|
119
|
+
* :track_copies_same_commit_copies ::
|
|
137
120
|
* If this value is +true+, lines that have been copied from another file
|
|
138
121
|
* that exists in the same commit will be tracked (like `git blame -CC`).
|
|
139
122
|
*
|
|
140
|
-
* :track_copies_any_commit_copies
|
|
123
|
+
* :track_copies_any_commit_copies ::
|
|
141
124
|
* If this value is +true+, lines that have been copied from another file
|
|
142
125
|
* that exists in *any* commit will be tracked (like `git blame -CCC`).
|
|
143
126
|
*
|
data/ext/rugged/rugged_blob.c
CHANGED
|
@@ -1,25 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
-
* in the Software without restriction, including without limitation the rights
|
|
9
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
-
* furnished to do so, subject to the following conditions:
|
|
12
|
-
*
|
|
13
|
-
* The above copyright notice and this permission notice shall be included in
|
|
14
|
-
* all copies or substantial portions of the Software.
|
|
15
|
-
*
|
|
16
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
-
* THE SOFTWARE.
|
|
2
|
+
* Copyright (C) the Rugged contributors. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of Rugged, distributed under the MIT license.
|
|
5
|
+
* For full terms see the included LICENSE file.
|
|
23
6
|
*/
|
|
24
7
|
|
|
25
8
|
#include "rugged.h"
|
|
@@ -231,30 +214,6 @@ static VALUE rb_read_check(VALUE pointer) {
|
|
|
231
214
|
return rb_buffer;
|
|
232
215
|
}
|
|
233
216
|
|
|
234
|
-
static int cb_blob__get__chunk(char *content, size_t max_length, void *data)
|
|
235
|
-
{
|
|
236
|
-
VALUE rb_buffer, rb_args[2];
|
|
237
|
-
size_t str_len, safe_len;
|
|
238
|
-
struct rugged_cb_payload *payload = data;
|
|
239
|
-
|
|
240
|
-
rb_args[0] = payload->rb_data;
|
|
241
|
-
rb_args[1] = INT2FIX(max_length);
|
|
242
|
-
|
|
243
|
-
rb_buffer = rb_protect(rb_read_check, (VALUE)rb_args, &payload->exception);
|
|
244
|
-
|
|
245
|
-
if (payload->exception)
|
|
246
|
-
return GIT_ERROR;
|
|
247
|
-
|
|
248
|
-
if (NIL_P(rb_buffer))
|
|
249
|
-
return 0;
|
|
250
|
-
|
|
251
|
-
str_len = (size_t)RSTRING_LEN(rb_buffer);
|
|
252
|
-
safe_len = str_len > max_length ? max_length : str_len;
|
|
253
|
-
memcpy(content, StringValuePtr(rb_buffer), safe_len);
|
|
254
|
-
|
|
255
|
-
return (int)safe_len;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
217
|
/*
|
|
259
218
|
* call-seq:
|
|
260
219
|
* Blob.from_io(repository, io [, hint_path]) -> oid
|
|
@@ -282,11 +241,10 @@ static int cb_blob__get__chunk(char *content, size_t max_length, void *data)
|
|
|
282
241
|
*/
|
|
283
242
|
static VALUE rb_git_blob_from_io(int argc, VALUE *argv, VALUE klass)
|
|
284
243
|
{
|
|
285
|
-
VALUE rb_repo, rb_io, rb_hint_path;
|
|
286
|
-
struct rugged_cb_payload payload;
|
|
244
|
+
VALUE rb_repo, rb_io, rb_hint_path, rb_buffer, rb_read_args[2];
|
|
287
245
|
const char * hint_path = NULL;
|
|
288
|
-
|
|
289
|
-
int error;
|
|
246
|
+
git_writestream *stream;
|
|
247
|
+
int error = 0, exception = 0, max_length = 4096;
|
|
290
248
|
git_oid oid;
|
|
291
249
|
git_repository *repo;
|
|
292
250
|
|
|
@@ -300,18 +258,34 @@ static VALUE rb_git_blob_from_io(int argc, VALUE *argv, VALUE klass)
|
|
|
300
258
|
hint_path = StringValueCStr(rb_hint_path);
|
|
301
259
|
}
|
|
302
260
|
|
|
303
|
-
|
|
304
|
-
|
|
261
|
+
error = git_blob_create_fromstream(&stream, repo, hint_path);
|
|
262
|
+
if (error)
|
|
263
|
+
goto cleanup;
|
|
264
|
+
|
|
265
|
+
rb_read_args[0] = rb_io;
|
|
266
|
+
rb_read_args[1] = INT2FIX(max_length);
|
|
267
|
+
|
|
268
|
+
do {
|
|
269
|
+
rb_buffer = rb_protect(rb_read_check, (VALUE)rb_read_args, &exception);
|
|
305
270
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
271
|
+
if (exception)
|
|
272
|
+
goto cleanup;
|
|
273
|
+
|
|
274
|
+
if (NIL_P(rb_buffer))
|
|
275
|
+
break;
|
|
276
|
+
|
|
277
|
+
error = stream->write(stream, RSTRING_PTR(rb_buffer), RSTRING_LEN(rb_buffer));
|
|
278
|
+
if (error)
|
|
279
|
+
goto cleanup;
|
|
280
|
+
} while (RSTRING_LEN(rb_buffer) == max_length);
|
|
281
|
+
|
|
282
|
+
error = git_blob_create_fromstream_commit(&oid, stream);
|
|
283
|
+
|
|
284
|
+
cleanup:
|
|
285
|
+
|
|
286
|
+
if (exception)
|
|
287
|
+
rb_jump_tag(exception);
|
|
312
288
|
|
|
313
|
-
if (payload.exception)
|
|
314
|
-
rb_jump_tag(payload.exception);
|
|
315
289
|
rugged_exception_check(error);
|
|
316
290
|
|
|
317
291
|
return rugged_create_oid(&oid);
|
|
@@ -560,6 +534,108 @@ static VALUE rb_git_blob_to_buffer(int argc, VALUE *argv, VALUE self)
|
|
|
560
534
|
return rb_ret;
|
|
561
535
|
}
|
|
562
536
|
|
|
537
|
+
#define RUGGED_MERGE_FILE_INPUT_INIT { GIT_MERGE_FILE_INPUT_INIT }
|
|
538
|
+
|
|
539
|
+
typedef struct {
|
|
540
|
+
git_merge_file_input parent;
|
|
541
|
+
int has_id;
|
|
542
|
+
git_oid id;
|
|
543
|
+
} rugged_merge_file_input;
|
|
544
|
+
|
|
545
|
+
static void rugged_parse_merge_file_input(rugged_merge_file_input *input, git_repository *repo, VALUE rb_input)
|
|
546
|
+
{
|
|
547
|
+
VALUE rb_value;
|
|
548
|
+
|
|
549
|
+
Check_Type(rb_input, T_HASH);
|
|
550
|
+
|
|
551
|
+
if (!NIL_P(rb_value = rb_hash_aref(rb_input, CSTR2SYM("content")))) {
|
|
552
|
+
input->parent.ptr = RSTRING_PTR(rb_value);
|
|
553
|
+
input->parent.size = RSTRING_LEN(rb_value);
|
|
554
|
+
} else if (!NIL_P(rb_value = rb_hash_aref(rb_input, CSTR2SYM("oid")))) {
|
|
555
|
+
if (!repo)
|
|
556
|
+
rb_raise(rb_eArgError, "Rugged repository is required when file input is `:oid`.");
|
|
557
|
+
|
|
558
|
+
rugged_exception_check(git_oid_fromstr(&input->id, RSTRING_PTR(rb_value)));
|
|
559
|
+
input->has_id = 1;
|
|
560
|
+
} else {
|
|
561
|
+
rb_raise(rb_eArgError, "File input must have `:content` or `:oid`.");
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
rb_value = rb_hash_aref(rb_input, CSTR2SYM("filemode"));
|
|
565
|
+
if (!NIL_P(rb_value))
|
|
566
|
+
input->parent.mode = FIX2UINT(rb_value);
|
|
567
|
+
|
|
568
|
+
rb_value = rb_hash_aref(rb_input, CSTR2SYM("path"));
|
|
569
|
+
if (!NIL_P(rb_value)) {
|
|
570
|
+
Check_Type(rb_value, T_STRING);
|
|
571
|
+
input->parent.path = RSTRING_PTR(rb_value);
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
static int rugged_load_merge_file_input(git_blob **out, git_repository *repo, rugged_merge_file_input *input)
|
|
576
|
+
{
|
|
577
|
+
int error;
|
|
578
|
+
|
|
579
|
+
if (!input->has_id)
|
|
580
|
+
return 0;
|
|
581
|
+
|
|
582
|
+
if ((error = git_blob_lookup(out, repo, &input->id)) < 0)
|
|
583
|
+
return error;
|
|
584
|
+
|
|
585
|
+
input->parent.ptr = git_blob_rawcontent(*out);
|
|
586
|
+
input->parent.size = git_blob_rawsize(*out);
|
|
587
|
+
|
|
588
|
+
return 0;
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
static VALUE rb_git_blob_merge_files(int argc, VALUE *argv, VALUE klass)
|
|
592
|
+
{
|
|
593
|
+
VALUE rb_repo, rb_ancestor, rb_ours, rb_theirs, rb_options, rb_result = Qnil;
|
|
594
|
+
|
|
595
|
+
git_repository *repo = NULL;
|
|
596
|
+
rugged_merge_file_input ancestor = RUGGED_MERGE_FILE_INPUT_INIT,
|
|
597
|
+
ours = RUGGED_MERGE_FILE_INPUT_INIT,
|
|
598
|
+
theirs = RUGGED_MERGE_FILE_INPUT_INIT;
|
|
599
|
+
git_blob *ancestor_blob = NULL, *our_blob = NULL, *their_blob = NULL;
|
|
600
|
+
git_merge_file_options opts = GIT_MERGE_FILE_OPTIONS_INIT;
|
|
601
|
+
git_merge_file_result result = {0};
|
|
602
|
+
int error;
|
|
603
|
+
|
|
604
|
+
rb_scan_args(argc, argv, "41", &rb_repo, &rb_ancestor, &rb_ours, &rb_theirs, &rb_options);
|
|
605
|
+
|
|
606
|
+
if (!NIL_P(rb_repo)) {
|
|
607
|
+
rugged_check_repo(rb_repo);
|
|
608
|
+
Data_Get_Struct(rb_repo, git_repository, repo);
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
if (!NIL_P(rb_options))
|
|
612
|
+
rugged_parse_merge_file_options(&opts, rb_options);
|
|
613
|
+
|
|
614
|
+
if (!NIL_P(rb_ancestor))
|
|
615
|
+
rugged_parse_merge_file_input(&ancestor, repo, rb_ancestor);
|
|
616
|
+
if (!NIL_P(rb_ours))
|
|
617
|
+
rugged_parse_merge_file_input(&ours, repo, rb_ours);
|
|
618
|
+
if (!NIL_P(rb_theirs))
|
|
619
|
+
rugged_parse_merge_file_input(&theirs, repo, rb_theirs);
|
|
620
|
+
|
|
621
|
+
if ((error = rugged_load_merge_file_input(&ancestor_blob, repo, &ancestor)) < 0 ||
|
|
622
|
+
(error = rugged_load_merge_file_input(&our_blob, repo, &ours)) < 0 ||
|
|
623
|
+
(error = rugged_load_merge_file_input(&their_blob, repo, &theirs)) < 0 ||
|
|
624
|
+
(error = git_merge_file(&result, &ancestor.parent, &ours.parent, &theirs.parent, &opts)) < 0)
|
|
625
|
+
goto done;
|
|
626
|
+
|
|
627
|
+
rb_result = rb_merge_file_result_fromC(&result);
|
|
628
|
+
|
|
629
|
+
done:
|
|
630
|
+
git_blob_free(ancestor_blob);
|
|
631
|
+
git_blob_free(our_blob);
|
|
632
|
+
git_blob_free(their_blob);
|
|
633
|
+
git_merge_file_result_free(&result);
|
|
634
|
+
|
|
635
|
+
rugged_exception_check(error);
|
|
636
|
+
return rb_result;
|
|
637
|
+
}
|
|
638
|
+
|
|
563
639
|
static VALUE rb_git_blob_sig_new(int argc, VALUE *argv, VALUE klass)
|
|
564
640
|
{
|
|
565
641
|
int error, opts = 0;
|
|
@@ -631,6 +707,7 @@ void Init_rugged_blob(void)
|
|
|
631
707
|
rb_define_singleton_method(rb_cRuggedBlob, "from_io", rb_git_blob_from_io, -1);
|
|
632
708
|
|
|
633
709
|
rb_define_singleton_method(rb_cRuggedBlob, "to_buffer", rb_git_blob_to_buffer, -1);
|
|
710
|
+
rb_define_singleton_method(rb_cRuggedBlob, "merge_files", rb_git_blob_merge_files, -1);
|
|
634
711
|
|
|
635
712
|
rb_cRuggedBlobSig = rb_define_class_under(rb_cRuggedBlob, "HashSignature", rb_cObject);
|
|
636
713
|
rb_define_singleton_method(rb_cRuggedBlobSig, "new", rb_git_blob_sig_new, -1);
|
data/ext/rugged/rugged_branch.c
CHANGED
|
@@ -1,25 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
*
|
|
2
|
+
* Copyright (C) the Rugged contributors. All rights reserved.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
-
* in the Software without restriction, including without limitation the rights
|
|
9
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
-
* furnished to do so, subject to the following conditions:
|
|
12
|
-
*
|
|
13
|
-
* The above copyright notice and this permission notice shall be included in
|
|
14
|
-
* all copies or substantial portions of the Software.
|
|
15
|
-
*
|
|
16
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
-
* THE SOFTWARE.
|
|
4
|
+
* This file is part of Rugged, distributed under the MIT license.
|
|
5
|
+
* For full terms see the included LICENSE file.
|
|
23
6
|
*/
|
|
24
7
|
|
|
25
8
|
#include "rugged.h"
|
|
@@ -1,25 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
*
|
|
2
|
+
* Copyright (C) the Rugged contributors. All rights reserved.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
-
* in the Software without restriction, including without limitation the rights
|
|
9
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
-
* furnished to do so, subject to the following conditions:
|
|
12
|
-
*
|
|
13
|
-
* The above copyright notice and this permission notice shall be included in
|
|
14
|
-
* all copies or substantial portions of the Software.
|
|
15
|
-
*
|
|
16
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
-
* THE SOFTWARE.
|
|
4
|
+
* This file is part of Rugged, distributed under the MIT license.
|
|
5
|
+
* For full terms see the included LICENSE file.
|
|
23
6
|
*/
|
|
24
7
|
|
|
25
8
|
#include "rugged.h"
|