diff-lcs 1.2.4 → 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 +7 -0
- data/.rspec +0 -1
- data/Code-of-Conduct.md +74 -0
- data/Contributing.md +84 -0
- data/History.md +263 -0
- data/{License.rdoc → License.md} +0 -0
- data/Manifest.txt +15 -8
- data/README.rdoc +20 -22
- data/Rakefile +23 -22
- data/autotest/discover.rb +3 -1
- data/bin/htmldiff +7 -4
- data/bin/ldiff +4 -1
- data/lib/diff-lcs.rb +1 -1
- data/lib/diff/lcs.rb +181 -254
- data/lib/diff/lcs/array.rb +1 -1
- data/lib/diff/lcs/backports.rb +9 -0
- data/lib/diff/lcs/block.rb +2 -2
- data/lib/diff/lcs/callbacks.rb +15 -12
- data/lib/diff/lcs/change.rb +34 -37
- data/lib/diff/lcs/htmldiff.rb +17 -16
- data/lib/diff/lcs/hunk.rb +67 -52
- data/lib/diff/lcs/internals.rb +43 -40
- data/lib/diff/lcs/ldiff.rb +45 -65
- data/lib/diff/lcs/string.rb +1 -1
- data/spec/change_spec.rb +31 -7
- data/spec/diff_spec.rb +24 -20
- data/spec/fixtures/aX +1 -0
- data/spec/fixtures/bXaX +1 -0
- data/spec/fixtures/ds1.csv +50 -0
- data/spec/fixtures/ds2.csv +51 -0
- data/spec/fixtures/ldiff/output.diff +4 -0
- data/spec/fixtures/ldiff/output.diff-c +7 -0
- data/spec/fixtures/ldiff/output.diff-e +3 -0
- data/spec/fixtures/ldiff/output.diff-f +3 -0
- data/spec/fixtures/ldiff/output.diff-u +5 -0
- data/spec/hunk_spec.rb +37 -37
- data/spec/issues_spec.rb +91 -17
- data/spec/lcs_spec.rb +24 -22
- data/spec/ldiff_spec.rb +80 -0
- data/spec/patch_spec.rb +182 -180
- data/spec/sdiff_spec.rb +99 -87
- data/spec/spec_helper.rb +141 -58
- data/spec/traverse_balanced_spec.rb +177 -177
- data/spec/traverse_sequences_spec.rb +63 -63
- metadata +89 -180
- data.tar.gz.sig +0 -3
- data/.autotest +0 -3
- data/.gemtest +0 -0
- data/.hoerc +0 -2
- data/.travis.yml +0 -22
- data/Contributing.rdoc +0 -64
- data/Gemfile +0 -20
- data/History.rdoc +0 -146
- metadata.gz.sig +0 -0
@@ -1,10 +1,10 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
describe
|
6
|
-
describe
|
7
|
-
describe
|
5
|
+
describe 'Diff::LCS.traverse_sequences' do
|
6
|
+
describe 'callback with no finishers' do
|
7
|
+
describe 'over (seq1, seq2)' do
|
8
8
|
before(:each) do
|
9
9
|
@callback_s1_s2 = simple_callback_no_finishers
|
10
10
|
Diff::LCS.traverse_sequences(seq1, seq2, @callback_s1_s2)
|
@@ -13,92 +13,92 @@ describe "Diff::LCS.traverse_sequences" do
|
|
13
13
|
Diff::LCS.traverse_sequences(seq2, seq1, @callback_s2_s1)
|
14
14
|
end
|
15
15
|
|
16
|
-
it
|
17
|
-
@callback_s1_s2.matched_a.
|
18
|
-
@callback_s2_s1.matched_a.
|
16
|
+
it 'has the correct LCS result on left-matches' do
|
17
|
+
expect(@callback_s1_s2.matched_a).to eq(correct_lcs)
|
18
|
+
expect(@callback_s2_s1.matched_a).to eq(correct_lcs)
|
19
19
|
end
|
20
20
|
|
21
|
-
it
|
22
|
-
@callback_s1_s2.matched_b.
|
23
|
-
@callback_s2_s1.matched_b.
|
21
|
+
it 'has the correct LCS result on right-matches' do
|
22
|
+
expect(@callback_s1_s2.matched_b).to eq(correct_lcs)
|
23
|
+
expect(@callback_s2_s1.matched_b).to eq(correct_lcs)
|
24
24
|
end
|
25
25
|
|
26
|
-
it
|
27
|
-
@callback_s1_s2.discards_a.
|
28
|
-
@callback_s2_s1.discards_a.
|
26
|
+
it 'has the correct skipped sequences with the left sequence' do
|
27
|
+
expect(@callback_s1_s2.discards_a).to eq(skipped_seq1)
|
28
|
+
expect(@callback_s2_s1.discards_a).to eq(skipped_seq2)
|
29
29
|
end
|
30
30
|
|
31
|
-
it
|
32
|
-
@callback_s1_s2.discards_b.
|
33
|
-
@callback_s2_s1.discards_b.
|
31
|
+
it 'has the correct skipped sequences with the right sequence' do
|
32
|
+
expect(@callback_s1_s2.discards_b).to eq(skipped_seq2)
|
33
|
+
expect(@callback_s2_s1.discards_b).to eq(skipped_seq1)
|
34
34
|
end
|
35
35
|
|
36
|
-
it
|
37
|
-
@callback_s1_s2.done_a.
|
38
|
-
@callback_s1_s2.done_b.
|
39
|
-
@callback_s2_s1.done_a.
|
40
|
-
@callback_s2_s1.done_b.
|
36
|
+
it 'does not have anything done markers from the left or right sequences' do
|
37
|
+
expect(@callback_s1_s2.done_a).to be_empty
|
38
|
+
expect(@callback_s1_s2.done_b).to be_empty
|
39
|
+
expect(@callback_s2_s1.done_a).to be_empty
|
40
|
+
expect(@callback_s2_s1.done_b).to be_empty
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
|
-
describe
|
44
|
+
describe 'over (hello, hello)' do
|
45
45
|
before(:each) do
|
46
46
|
@callback = simple_callback_no_finishers
|
47
47
|
Diff::LCS.traverse_sequences(hello, hello, @callback)
|
48
48
|
end
|
49
49
|
|
50
|
-
it
|
51
|
-
@callback.matched_a.
|
50
|
+
it 'has the correct LCS result on left-matches' do
|
51
|
+
expect(@callback.matched_a).to eq(hello.split(//))
|
52
52
|
end
|
53
53
|
|
54
|
-
it
|
55
|
-
@callback.matched_b.
|
54
|
+
it 'has the correct LCS result on right-matches' do
|
55
|
+
expect(@callback.matched_b).to eq(hello.split(//))
|
56
56
|
end
|
57
57
|
|
58
|
-
it
|
59
|
-
@callback.discards_a.
|
58
|
+
it 'has the correct skipped sequences with the left sequence', :only => true do
|
59
|
+
expect(@callback.discards_a).to be_empty
|
60
60
|
end
|
61
61
|
|
62
|
-
it
|
63
|
-
@callback.discards_b.
|
62
|
+
it 'has the correct skipped sequences with the right sequence' do
|
63
|
+
expect(@callback.discards_b).to be_empty
|
64
64
|
end
|
65
65
|
|
66
|
-
it
|
67
|
-
@callback.done_a.
|
68
|
-
@callback.done_b.
|
66
|
+
it 'does not have anything done markers from the left or right sequences' do
|
67
|
+
expect(@callback.done_a).to be_empty
|
68
|
+
expect(@callback.done_b).to be_empty
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
-
describe
|
72
|
+
describe 'over (hello_ary, hello_ary)' do
|
73
73
|
before(:each) do
|
74
74
|
@callback = simple_callback_no_finishers
|
75
75
|
Diff::LCS.traverse_sequences(hello_ary, hello_ary, @callback)
|
76
76
|
end
|
77
77
|
|
78
|
-
it
|
79
|
-
@callback.matched_a.
|
78
|
+
it 'has the correct LCS result on left-matches' do
|
79
|
+
expect(@callback.matched_a).to eq(hello_ary)
|
80
80
|
end
|
81
81
|
|
82
|
-
it
|
83
|
-
@callback.matched_b.
|
82
|
+
it 'has the correct LCS result on right-matches' do
|
83
|
+
expect(@callback.matched_b).to eq(hello_ary)
|
84
84
|
end
|
85
85
|
|
86
|
-
it
|
87
|
-
@callback.discards_a.
|
86
|
+
it 'has the correct skipped sequences with the left sequence' do
|
87
|
+
expect(@callback.discards_a).to be_empty
|
88
88
|
end
|
89
89
|
|
90
|
-
it
|
91
|
-
@callback.discards_b.
|
90
|
+
it 'has the correct skipped sequences with the right sequence' do
|
91
|
+
expect(@callback.discards_b).to be_empty
|
92
92
|
end
|
93
93
|
|
94
|
-
it
|
95
|
-
@callback.done_a.
|
96
|
-
@callback.done_b.
|
94
|
+
it 'does not have anything done markers from the left or right sequences' do
|
95
|
+
expect(@callback.done_a).to be_empty
|
96
|
+
expect(@callback.done_b).to be_empty
|
97
97
|
end
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
101
|
-
describe
|
101
|
+
describe 'callback with finisher' do
|
102
102
|
before(:each) do
|
103
103
|
@callback_s1_s2 = simple_callback
|
104
104
|
Diff::LCS.traverse_sequences(seq1, seq2, @callback_s1_s2)
|
@@ -106,34 +106,34 @@ describe "Diff::LCS.traverse_sequences" do
|
|
106
106
|
Diff::LCS.traverse_sequences(seq2, seq1, @callback_s2_s1)
|
107
107
|
end
|
108
108
|
|
109
|
-
it
|
110
|
-
@callback_s1_s2.matched_a.
|
111
|
-
@callback_s2_s1.matched_a.
|
109
|
+
it 'has the correct LCS result on left-matches' do
|
110
|
+
expect(@callback_s1_s2.matched_a).to eq(correct_lcs)
|
111
|
+
expect(@callback_s2_s1.matched_a).to eq(correct_lcs)
|
112
112
|
end
|
113
113
|
|
114
|
-
it
|
115
|
-
@callback_s1_s2.matched_b.
|
116
|
-
@callback_s2_s1.matched_b.
|
114
|
+
it 'has the correct LCS result on right-matches' do
|
115
|
+
expect(@callback_s1_s2.matched_b).to eq(correct_lcs)
|
116
|
+
expect(@callback_s2_s1.matched_b).to eq(correct_lcs)
|
117
117
|
end
|
118
118
|
|
119
|
-
it
|
120
|
-
@callback_s1_s2.discards_a.
|
121
|
-
@callback_s2_s1.discards_a.
|
119
|
+
it 'has the correct skipped sequences for the left sequence' do
|
120
|
+
expect(@callback_s1_s2.discards_a).to eq(skipped_seq1)
|
121
|
+
expect(@callback_s2_s1.discards_a).to eq(skipped_seq2)
|
122
122
|
end
|
123
123
|
|
124
|
-
it
|
125
|
-
@callback_s1_s2.discards_b.
|
126
|
-
@callback_s2_s1.discards_b.
|
124
|
+
it 'has the correct skipped sequences for the right sequence' do
|
125
|
+
expect(@callback_s1_s2.discards_b).to eq(skipped_seq2)
|
126
|
+
expect(@callback_s2_s1.discards_b).to eq(skipped_seq1)
|
127
127
|
end
|
128
128
|
|
129
|
-
it
|
130
|
-
@callback_s1_s2.done_a.
|
131
|
-
@callback_s1_s2.done_b.
|
129
|
+
it 'has done markers differently-sized sequences' do
|
130
|
+
expect(@callback_s1_s2.done_a).to eq([['p', 9, 's', 10]])
|
131
|
+
expect(@callback_s1_s2.done_b).to be_empty
|
132
132
|
|
133
133
|
# 20110731 I don't yet understand why this particular behaviour
|
134
134
|
# isn't transitive.
|
135
|
-
@callback_s2_s1.done_a.
|
136
|
-
@callback_s2_s1.done_b.
|
135
|
+
expect(@callback_s2_s1.done_a).to be_empty
|
136
|
+
expect(@callback_s2_s1.done_b).to be_empty
|
137
137
|
end
|
138
138
|
end
|
139
139
|
end
|
metadata
CHANGED
@@ -1,279 +1,173 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diff-lcs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2
|
5
|
-
prerelease:
|
4
|
+
version: 1.4.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Austin Ziegler
|
9
|
-
autorequire:
|
8
|
+
autorequire:
|
10
9
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
-
|
13
|
-
|
14
|
-
MIIDNjCCAh6gAwIBAgIBADANBgkqhkiG9w0BAQUFADBBMQ8wDQYDVQQDDAZhdXN0
|
15
|
-
|
16
|
-
aW4xGTAXBgoJkiaJk/IsZAEZFglydWJ5Zm9yZ2UxEzARBgoJkiaJk/IsZAEZFgNv
|
17
|
-
|
18
|
-
cmcwHhcNMTMwMjA0MDMzMzI3WhcNMTQwMjA0MDMzMzI3WjBBMQ8wDQYDVQQDDAZh
|
19
|
-
|
20
|
-
dXN0aW4xGTAXBgoJkiaJk/IsZAEZFglydWJ5Zm9yZ2UxEzARBgoJkiaJk/IsZAEZ
|
21
|
-
|
22
|
-
FgNvcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2mPNf4L37GhKI
|
23
|
-
|
24
|
-
SPCYsvYWXA2/R9u5+pyUnbJ2R1o2CiRq2ZA/AIzY6N3hGnsgoWnh5RzvgTN1Lt08
|
25
|
-
|
26
|
-
DNIrsIG2VDYk/JVt6f9J6zZ8EQHbznWa3cWYoCFaaICdk7jV1n/42hg70jEDYXl9
|
27
|
-
|
28
|
-
gDOl0k6JmyF/rtfFu/OIkFGWeFYIuFHvRuLyUbw66+QDTOzKb3t8o55Ihgy1GVwT
|
29
|
-
|
30
|
-
i6pkDs8LhZWXdOD+921l2Z1NZGZa9KNbJIg6vtgYKU98jQ5qr9iY3ikBAspHrFas
|
31
|
-
|
32
|
-
K6USvGgAg8fCD5YiotBEvCBMYtfqmfrhpdU2p+gvTgeLW1Kaevwqd7ngQmFUrFG1
|
33
|
-
|
34
|
-
eUJSURv5AgMBAAGjOTA3MAkGA1UdEwQCMAAwHQYDVR0OBBYEFAtJKMp6YYNqlgR3
|
35
|
-
|
36
|
-
9TiZLWqvLagSMAsGA1UdDwQEAwIEsDANBgkqhkiG9w0BAQUFAAOCAQEApTPkvDm8
|
37
|
-
|
38
|
-
7gJlUT4FfumXPvtuqP67LxUtGE8syvR0A4As+0P/wylLJFUOsGTTdZYtThhxCSJG
|
39
|
-
|
40
|
-
+7KG2FfIcH4Zz2d97arZGAzBoi8iPht2/UtSl1fCcUI5vmJa1MiXZT2oqdW7Wydq
|
41
|
-
|
42
|
-
rAZcBPlrYYuiwtGI0yqIOgBfXSZCWWsJsuyTKELep6mCLgz0YZUfmvKr8W/Ab3ax
|
43
|
-
|
44
|
-
DuLzH92LSRjZJyjyAUpw/Vc2rM4giiP5jtByrb1Y1dGnQhHTMHf1GfucWm7Nw/V9
|
45
|
-
|
46
|
-
twEPVw8+0f88JQucxOTmTF1NbLFpiRwQUZ1zoZbNg2e7mShc/eexnVLWKFKxRoP6
|
47
|
-
|
48
|
-
KPj3WoD+spB8fA==
|
49
|
-
|
50
|
-
-----END CERTIFICATE-----
|
51
|
-
|
52
|
-
'
|
53
|
-
date: 2013-04-21 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-06-24 00:00:00.000000000 Z
|
54
12
|
dependencies:
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rubyforge
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
|
-
requirements:
|
60
|
-
- - ! '>='
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: 2.0.4
|
63
|
-
type: :development
|
64
|
-
prerelease: false
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
|
-
requirements:
|
68
|
-
- - ! '>='
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: 2.0.4
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: rdoc
|
73
|
-
requirement: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
|
-
requirements:
|
76
|
-
- - ~>
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version: '4.0'
|
79
|
-
type: :development
|
80
|
-
prerelease: false
|
81
|
-
version_requirements: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
|
-
requirements:
|
84
|
-
- - ~>
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
version: '4.0'
|
87
|
-
- !ruby/object:Gem::Dependency
|
88
|
-
name: hoe-bundler
|
89
|
-
requirement: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
|
-
requirements:
|
92
|
-
- - ~>
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
version: '1.2'
|
95
|
-
type: :development
|
96
|
-
prerelease: false
|
97
|
-
version_requirements: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
|
-
requirements:
|
100
|
-
- - ~>
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '1.2'
|
103
13
|
- !ruby/object:Gem::Dependency
|
104
14
|
name: hoe-doofus
|
105
15
|
requirement: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
16
|
requirements:
|
108
|
-
- - ~>
|
17
|
+
- - "~>"
|
109
18
|
- !ruby/object:Gem::Version
|
110
19
|
version: '1.0'
|
111
20
|
type: :development
|
112
21
|
prerelease: false
|
113
22
|
version_requirements: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
23
|
requirements:
|
116
|
-
- - ~>
|
24
|
+
- - "~>"
|
117
25
|
- !ruby/object:Gem::Version
|
118
26
|
version: '1.0'
|
119
27
|
- !ruby/object:Gem::Dependency
|
120
28
|
name: hoe-gemspec2
|
121
29
|
requirement: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
30
|
requirements:
|
124
|
-
- - ~>
|
31
|
+
- - "~>"
|
125
32
|
- !ruby/object:Gem::Version
|
126
33
|
version: '1.1'
|
127
34
|
type: :development
|
128
35
|
prerelease: false
|
129
36
|
version_requirements: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
37
|
requirements:
|
132
|
-
- - ~>
|
38
|
+
- - "~>"
|
133
39
|
- !ruby/object:Gem::Version
|
134
40
|
version: '1.1'
|
135
41
|
- !ruby/object:Gem::Dependency
|
136
42
|
name: hoe-git
|
137
43
|
requirement: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
44
|
requirements:
|
140
|
-
- - ~>
|
45
|
+
- - "~>"
|
141
46
|
- !ruby/object:Gem::Version
|
142
|
-
version: '1.
|
47
|
+
version: '1.6'
|
143
48
|
type: :development
|
144
49
|
prerelease: false
|
145
50
|
version_requirements: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
51
|
requirements:
|
148
|
-
- - ~>
|
52
|
+
- - "~>"
|
149
53
|
- !ruby/object:Gem::Version
|
150
|
-
version: '1.
|
54
|
+
version: '1.6'
|
151
55
|
- !ruby/object:Gem::Dependency
|
152
56
|
name: hoe-rubygems
|
153
57
|
requirement: !ruby/object:Gem::Requirement
|
154
|
-
none: false
|
155
58
|
requirements:
|
156
|
-
- - ~>
|
59
|
+
- - "~>"
|
157
60
|
- !ruby/object:Gem::Version
|
158
61
|
version: '1.0'
|
159
62
|
type: :development
|
160
63
|
prerelease: false
|
161
64
|
version_requirements: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
65
|
requirements:
|
164
|
-
- - ~>
|
66
|
+
- - "~>"
|
165
67
|
- !ruby/object:Gem::Version
|
166
68
|
version: '1.0'
|
167
69
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
70
|
+
name: rspec
|
169
71
|
requirement: !ruby/object:Gem::Requirement
|
170
|
-
none: false
|
171
72
|
requirements:
|
172
|
-
- -
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.0'
|
76
|
+
- - "<"
|
173
77
|
- !ruby/object:Gem::Version
|
174
|
-
version: '
|
78
|
+
version: '4'
|
175
79
|
type: :development
|
176
80
|
prerelease: false
|
177
81
|
version_requirements: !ruby/object:Gem::Requirement
|
178
|
-
none: false
|
179
82
|
requirements:
|
180
|
-
- -
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '2.0'
|
86
|
+
- - "<"
|
181
87
|
- !ruby/object:Gem::Version
|
182
|
-
version: '
|
88
|
+
version: '4'
|
183
89
|
- !ruby/object:Gem::Dependency
|
184
90
|
name: rake
|
185
91
|
requirement: !ruby/object:Gem::Requirement
|
186
|
-
none: false
|
187
92
|
requirements:
|
188
|
-
- -
|
93
|
+
- - ">="
|
189
94
|
- !ruby/object:Gem::Version
|
190
95
|
version: '10.0'
|
96
|
+
- - "<"
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '14'
|
191
99
|
type: :development
|
192
100
|
prerelease: false
|
193
101
|
version_requirements: !ruby/object:Gem::Requirement
|
194
|
-
none: false
|
195
102
|
requirements:
|
196
|
-
- -
|
103
|
+
- - ">="
|
197
104
|
- !ruby/object:Gem::Version
|
198
105
|
version: '10.0'
|
106
|
+
- - "<"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '14'
|
199
109
|
- !ruby/object:Gem::Dependency
|
200
|
-
name:
|
110
|
+
name: rdoc
|
201
111
|
requirement: !ruby/object:Gem::Requirement
|
202
|
-
none: false
|
203
112
|
requirements:
|
204
|
-
- -
|
113
|
+
- - ">="
|
205
114
|
- !ruby/object:Gem::Version
|
206
|
-
version: '
|
115
|
+
version: '0'
|
207
116
|
type: :development
|
208
117
|
prerelease: false
|
209
118
|
version_requirements: !ruby/object:Gem::Requirement
|
210
|
-
none: false
|
211
119
|
requirements:
|
212
|
-
- -
|
120
|
+
- - ">="
|
213
121
|
- !ruby/object:Gem::Version
|
214
|
-
version: '
|
122
|
+
version: '0'
|
215
123
|
- !ruby/object:Gem::Dependency
|
216
124
|
name: hoe
|
217
125
|
requirement: !ruby/object:Gem::Requirement
|
218
|
-
none: false
|
219
126
|
requirements:
|
220
|
-
- - ~>
|
127
|
+
- - "~>"
|
221
128
|
- !ruby/object:Gem::Version
|
222
|
-
version: '3.
|
129
|
+
version: '3.22'
|
223
130
|
type: :development
|
224
131
|
prerelease: false
|
225
132
|
version_requirements: !ruby/object:Gem::Requirement
|
226
|
-
none: false
|
227
133
|
requirements:
|
228
|
-
- - ~>
|
134
|
+
- - "~>"
|
229
135
|
- !ruby/object:Gem::Version
|
230
|
-
version: '3.
|
231
|
-
description:
|
232
|
-
using the
|
233
|
-
|
136
|
+
version: '3.22'
|
137
|
+
description: |-
|
138
|
+
Diff::LCS computes the difference between two Enumerable sequences using the
|
234
139
|
McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities
|
235
|
-
|
236
140
|
to create a simple HTML diff output format and a standard diff-like tool.
|
237
141
|
|
142
|
+
This is release 1.4, providing a simple extension that allows for
|
143
|
+
Diff::LCS::Change objects to be treated implicitly as arrays. Ruby versions
|
144
|
+
below 2.5 are soft-deprecated.
|
238
145
|
|
239
|
-
This
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
Thanks to Paul Kunysch for fixing this issue.
|
244
|
-
|
245
|
-
|
246
|
-
Coincident with the release of diff-lcs 1.2.3, we reported an issue with
|
247
|
-
|
248
|
-
Rubinius in 1.9 mode
|
249
|
-
|
250
|
-
({rubinius/rubinius#2268}[https://github.com/rubinius/rubinius/issues/2268]).
|
251
|
-
|
252
|
-
We are happy to report that this issue has been resolved.'
|
146
|
+
This means that older versions are no longer part of the CI test suite. If any
|
147
|
+
changes have been introduced that break those versions, bug reports and patches
|
148
|
+
will be accepted, but it will be up to the reporter to verify any fixes prior
|
149
|
+
to release. A future release will completely break compatibility.
|
253
150
|
email:
|
254
|
-
-
|
151
|
+
- halostatue@gmail.com
|
255
152
|
executables:
|
256
153
|
- htmldiff
|
257
154
|
- ldiff
|
258
155
|
extensions: []
|
259
156
|
extra_rdoc_files:
|
260
|
-
-
|
261
|
-
-
|
262
|
-
-
|
157
|
+
- Code-of-Conduct.md
|
158
|
+
- Contributing.md
|
159
|
+
- History.md
|
160
|
+
- License.md
|
263
161
|
- Manifest.txt
|
264
162
|
- README.rdoc
|
265
163
|
- docs/COPYING.txt
|
266
164
|
- docs/artistic.txt
|
267
165
|
files:
|
268
|
-
- .
|
269
|
-
- .
|
270
|
-
- .
|
271
|
-
- .
|
272
|
-
- .
|
273
|
-
- Contributing.rdoc
|
274
|
-
- Gemfile
|
275
|
-
- History.rdoc
|
276
|
-
- License.rdoc
|
166
|
+
- ".rspec"
|
167
|
+
- Code-of-Conduct.md
|
168
|
+
- Contributing.md
|
169
|
+
- History.md
|
170
|
+
- License.md
|
277
171
|
- Manifest.txt
|
278
172
|
- README.rdoc
|
279
173
|
- Rakefile
|
@@ -285,6 +179,7 @@ files:
|
|
285
179
|
- lib/diff-lcs.rb
|
286
180
|
- lib/diff/lcs.rb
|
287
181
|
- lib/diff/lcs/array.rb
|
182
|
+
- lib/diff/lcs/backports.rb
|
288
183
|
- lib/diff/lcs/block.rb
|
289
184
|
- lib/diff/lcs/callbacks.rb
|
290
185
|
- lib/diff/lcs/change.rb
|
@@ -295,39 +190,53 @@ files:
|
|
295
190
|
- lib/diff/lcs/string.rb
|
296
191
|
- spec/change_spec.rb
|
297
192
|
- spec/diff_spec.rb
|
193
|
+
- spec/fixtures/aX
|
194
|
+
- spec/fixtures/bXaX
|
195
|
+
- spec/fixtures/ds1.csv
|
196
|
+
- spec/fixtures/ds2.csv
|
197
|
+
- spec/fixtures/ldiff/output.diff
|
198
|
+
- spec/fixtures/ldiff/output.diff-c
|
199
|
+
- spec/fixtures/ldiff/output.diff-e
|
200
|
+
- spec/fixtures/ldiff/output.diff-f
|
201
|
+
- spec/fixtures/ldiff/output.diff-u
|
298
202
|
- spec/hunk_spec.rb
|
299
203
|
- spec/issues_spec.rb
|
300
204
|
- spec/lcs_spec.rb
|
205
|
+
- spec/ldiff_spec.rb
|
301
206
|
- spec/patch_spec.rb
|
302
207
|
- spec/sdiff_spec.rb
|
303
208
|
- spec/spec_helper.rb
|
304
209
|
- spec/traverse_balanced_spec.rb
|
305
210
|
- spec/traverse_sequences_spec.rb
|
306
|
-
homepage:
|
307
|
-
licenses:
|
308
|
-
|
211
|
+
homepage: https://github.com/halostatue/diff-lcs
|
212
|
+
licenses:
|
213
|
+
- MIT
|
214
|
+
- Artistic-2.0
|
215
|
+
- GPL-2.0+
|
216
|
+
metadata:
|
217
|
+
homepage_uri: https://github.com/halostatue/diff-lcs
|
218
|
+
source_code_uri: https://github.com/halostatue/diff-lcs
|
219
|
+
bug_tracker_uri: https://github.com/halostatue/diff-lcs/issues
|
220
|
+
post_install_message:
|
309
221
|
rdoc_options:
|
310
|
-
- --main
|
222
|
+
- "--main"
|
311
223
|
- README.rdoc
|
312
224
|
require_paths:
|
313
225
|
- lib
|
314
226
|
required_ruby_version: !ruby/object:Gem::Requirement
|
315
|
-
none: false
|
316
227
|
requirements:
|
317
|
-
- -
|
228
|
+
- - ">="
|
318
229
|
- !ruby/object:Gem::Version
|
319
|
-
version: '
|
230
|
+
version: '1.8'
|
320
231
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
321
|
-
none: false
|
322
232
|
requirements:
|
323
|
-
- -
|
233
|
+
- - ">="
|
324
234
|
- !ruby/object:Gem::Version
|
325
235
|
version: '0'
|
326
236
|
requirements: []
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
specification_version: 3
|
237
|
+
rubygems_version: 3.0.3
|
238
|
+
signing_key:
|
239
|
+
specification_version: 4
|
331
240
|
summary: Diff::LCS computes the difference between two Enumerable sequences using
|
332
241
|
the McIlroy-Hunt longest common subsequence (LCS) algorithm
|
333
242
|
test_files: []
|