diff-lcs 1.2.5 → 1.4.3
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 +6 -14
- data/.rspec +0 -1
- data/Code-of-Conduct.md +74 -0
- data/Contributing.md +84 -0
- data/History.md +278 -0
- data/{License.rdoc → License.md} +0 -0
- data/Manifest.txt +15 -8
- data/README.rdoc +18 -19
- data/Rakefile +41 -25
- 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 +33 -36
- 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 +44 -64
- 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 +86 -0
- data/spec/patch_spec.rb +182 -180
- data/spec/sdiff_spec.rb +91 -91
- data/spec/spec_helper.rb +143 -58
- data/spec/traverse_balanced_spec.rb +177 -177
- data/spec/traverse_sequences_spec.rb +63 -63
- metadata +87 -143
- checksums.yaml.gz.sig +0 -0
- 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 -152
- metadata.gz.sig +0 -2
@@ -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,243 +1,174 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diff-lcs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Austin Ziegler
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUROakNDQWg2Z0F3SUJB
|
13
|
-
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREJCTVE4d0RRWURWUVFEREFaaGRY
|
14
|
-
TjAKYVc0eEdUQVhCZ29Ka2lhSmsvSXNaQUVaRmdseWRXSjVabTl5WjJVeEV6
|
15
|
-
QVJCZ29Ka2lhSmsvSXNaQUVaRmdOdgpjbWN3SGhjTk1UTXdNakEwTURNek16
|
16
|
-
STNXaGNOTVRRd01qQTBNRE16TXpJM1dqQkJNUTh3RFFZRFZRUUREQVpoCmRY
|
17
|
-
TjBhVzR4R1RBWEJnb0praWFKay9Jc1pBRVpGZ2x5ZFdKNVptOXlaMlV4RXpB
|
18
|
-
UkJnb0praWFKay9Jc1pBRVoKRmdOdmNtY3dnZ0VpTUEwR0NTcUdTSWIzRFFF
|
19
|
-
QkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDMm1QTmY0TDM3R2hLSQpTUENZc3ZZ
|
20
|
-
V1hBMi9SOXU1K3B5VW5iSjJSMW8yQ2lScTJaQS9BSXpZNk4zaEduc2dvV25o
|
21
|
-
NVJ6dmdUTjFMdDA4CkROSXJzSUcyVkRZay9KVnQ2ZjlKNnpaOEVRSGJ6bldh
|
22
|
-
M2NXWW9DRmFhSUNkazdqVjFuLzQyaGc3MGpFRFlYbDkKZ0RPbDBrNkpteUYv
|
23
|
-
cnRmRnUvT0lrRkdXZUZZSXVGSHZSdUx5VWJ3NjYrUURUT3pLYjN0OG81NUlo
|
24
|
-
Z3kxR1Z3VAppNnBrRHM4TGhaV1hkT0QrOTIxbDJaMU5aR1phOUtOYkpJZzZ2
|
25
|
-
dGdZS1U5OGpRNXFyOWlZM2lrQkFzcEhyRmFzCks2VVN2R2dBZzhmQ0Q1WWlv
|
26
|
-
dEJFdkNCTVl0ZnFtZnJocGRVMnArZ3ZUZ2VMVzFLYWV2d3FkN25nUW1GVXJG
|
27
|
-
RzEKZVVKU1VSdjVBZ01CQUFHak9UQTNNQWtHQTFVZEV3UUNNQUF3SFFZRFZS
|
28
|
-
ME9CQllFRkF0SktNcDZZWU5xbGdSMwo5VGlaTFdxdkxhZ1NNQXNHQTFVZER3
|
29
|
-
UUVBd0lFc0RBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQXBUUGt2RG04Cjdn
|
30
|
-
SmxVVDRGZnVtWFB2dHVxUDY3THhVdEdFOHN5dlIwQTRBcyswUC93eWxMSkZV
|
31
|
-
T3NHVFRkWll0VGhoeENTSkcKKzdLRzJGZkljSDRaejJkOTdhclpHQXpCb2k4
|
32
|
-
aVBodDIvVXRTbDFmQ2NVSTV2bUphMU1pWFpUMm9xZFc3V3lkcQpyQVpjQlBs
|
33
|
-
cllZdWl3dEdJMHlxSU9nQmZYU1pDV1dzSnN1eVRLRUxlcDZtQ0xnejBZWlVm
|
34
|
-
bXZLcjhXL0FiM2F4CkR1THpIOTJMU1JqWkp5anlBVXB3L1ZjMnJNNGdpaVA1
|
35
|
-
anRCeXJiMVkxZEduUWhIVE1IZjFHZnVjV203TncvVjkKdHdFUFZ3OCswZjg4
|
36
|
-
SlF1Y3hPVG1URjFOYkxGcGlSd1FVWjF6b1piTmcyZTdtU2hjL2VleG5WTFdL
|
37
|
-
Rkt4Um9QNgpLUGozV29EK3NwQjhmQT09Ci0tLS0tRU5EIENFUlRJRklDQVRF
|
38
|
-
LS0tLS0K
|
39
|
-
date: 2013-11-08 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-06-29 00:00:00.000000000 Z
|
40
12
|
dependencies:
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rubyforge
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ! '>='
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 2.0.4
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ! '>='
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 2.0.4
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rdoc
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '4.0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '4.0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: hoe-bundler
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ~>
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '1.2'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ~>
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '1.2'
|
83
13
|
- !ruby/object:Gem::Dependency
|
84
14
|
name: hoe-doofus
|
85
15
|
requirement: !ruby/object:Gem::Requirement
|
86
16
|
requirements:
|
87
|
-
- - ~>
|
17
|
+
- - "~>"
|
88
18
|
- !ruby/object:Gem::Version
|
89
19
|
version: '1.0'
|
90
20
|
type: :development
|
91
21
|
prerelease: false
|
92
22
|
version_requirements: !ruby/object:Gem::Requirement
|
93
23
|
requirements:
|
94
|
-
- - ~>
|
24
|
+
- - "~>"
|
95
25
|
- !ruby/object:Gem::Version
|
96
26
|
version: '1.0'
|
97
27
|
- !ruby/object:Gem::Dependency
|
98
28
|
name: hoe-gemspec2
|
99
29
|
requirement: !ruby/object:Gem::Requirement
|
100
30
|
requirements:
|
101
|
-
- - ~>
|
31
|
+
- - "~>"
|
102
32
|
- !ruby/object:Gem::Version
|
103
33
|
version: '1.1'
|
104
34
|
type: :development
|
105
35
|
prerelease: false
|
106
36
|
version_requirements: !ruby/object:Gem::Requirement
|
107
37
|
requirements:
|
108
|
-
- - ~>
|
38
|
+
- - "~>"
|
109
39
|
- !ruby/object:Gem::Version
|
110
40
|
version: '1.1'
|
111
41
|
- !ruby/object:Gem::Dependency
|
112
42
|
name: hoe-git
|
113
43
|
requirement: !ruby/object:Gem::Requirement
|
114
44
|
requirements:
|
115
|
-
- - ~>
|
45
|
+
- - "~>"
|
116
46
|
- !ruby/object:Gem::Version
|
117
|
-
version: '1.
|
47
|
+
version: '1.6'
|
118
48
|
type: :development
|
119
49
|
prerelease: false
|
120
50
|
version_requirements: !ruby/object:Gem::Requirement
|
121
51
|
requirements:
|
122
|
-
- - ~>
|
52
|
+
- - "~>"
|
123
53
|
- !ruby/object:Gem::Version
|
124
|
-
version: '1.
|
54
|
+
version: '1.6'
|
125
55
|
- !ruby/object:Gem::Dependency
|
126
56
|
name: hoe-rubygems
|
127
57
|
requirement: !ruby/object:Gem::Requirement
|
128
58
|
requirements:
|
129
|
-
- - ~>
|
59
|
+
- - "~>"
|
130
60
|
- !ruby/object:Gem::Version
|
131
61
|
version: '1.0'
|
132
62
|
type: :development
|
133
63
|
prerelease: false
|
134
64
|
version_requirements: !ruby/object:Gem::Requirement
|
135
65
|
requirements:
|
136
|
-
- - ~>
|
66
|
+
- - "~>"
|
137
67
|
- !ruby/object:Gem::Version
|
138
68
|
version: '1.0'
|
139
69
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
70
|
+
name: rspec
|
141
71
|
requirement: !ruby/object:Gem::Requirement
|
142
72
|
requirements:
|
143
|
-
- -
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.0'
|
76
|
+
- - "<"
|
144
77
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
78
|
+
version: '4'
|
146
79
|
type: :development
|
147
80
|
prerelease: false
|
148
81
|
version_requirements: !ruby/object:Gem::Requirement
|
149
82
|
requirements:
|
150
|
-
- -
|
83
|
+
- - ">="
|
151
84
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
85
|
+
version: '2.0'
|
86
|
+
- - "<"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '4'
|
153
89
|
- !ruby/object:Gem::Dependency
|
154
90
|
name: rake
|
155
91
|
requirement: !ruby/object:Gem::Requirement
|
156
92
|
requirements:
|
157
|
-
- -
|
93
|
+
- - ">="
|
158
94
|
- !ruby/object:Gem::Version
|
159
95
|
version: '10.0'
|
96
|
+
- - "<"
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '14'
|
160
99
|
type: :development
|
161
100
|
prerelease: false
|
162
101
|
version_requirements: !ruby/object:Gem::Requirement
|
163
102
|
requirements:
|
164
|
-
- -
|
103
|
+
- - ">="
|
165
104
|
- !ruby/object:Gem::Version
|
166
105
|
version: '10.0'
|
106
|
+
- - "<"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '14'
|
167
109
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
110
|
+
name: rdoc
|
169
111
|
requirement: !ruby/object:Gem::Requirement
|
170
112
|
requirements:
|
171
|
-
- -
|
113
|
+
- - ">="
|
172
114
|
- !ruby/object:Gem::Version
|
173
|
-
version: '
|
115
|
+
version: '0'
|
174
116
|
type: :development
|
175
117
|
prerelease: false
|
176
118
|
version_requirements: !ruby/object:Gem::Requirement
|
177
119
|
requirements:
|
178
|
-
- -
|
120
|
+
- - ">="
|
179
121
|
- !ruby/object:Gem::Version
|
180
|
-
version: '
|
122
|
+
version: '0'
|
181
123
|
- !ruby/object:Gem::Dependency
|
182
124
|
name: hoe
|
183
125
|
requirement: !ruby/object:Gem::Requirement
|
184
126
|
requirements:
|
185
|
-
- - ~>
|
127
|
+
- - "~>"
|
186
128
|
- !ruby/object:Gem::Version
|
187
|
-
version: '3.
|
129
|
+
version: '3.22'
|
188
130
|
type: :development
|
189
131
|
prerelease: false
|
190
132
|
version_requirements: !ruby/object:Gem::Requirement
|
191
133
|
requirements:
|
192
|
-
- - ~>
|
134
|
+
- - "~>"
|
193
135
|
- !ruby/object:Gem::Version
|
194
|
-
version: '3.
|
195
|
-
description:
|
196
|
-
using the
|
197
|
-
|
136
|
+
version: '3.22'
|
137
|
+
description: |-
|
138
|
+
Diff::LCS computes the difference between two Enumerable sequences using the
|
198
139
|
McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities
|
199
|
-
|
200
140
|
to create a simple HTML diff output format and a standard diff-like tool.
|
201
141
|
|
142
|
+
This is release 1.4.3, providing a simple extension that allows for
|
143
|
+
Diff::LCS::Change objects to be treated implicitly as arrays and fixes a
|
144
|
+
number of formatting issues.
|
202
145
|
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
Coincident with the release of diff-lcs 1.2.3, we reported an issue with
|
211
|
-
|
212
|
-
Rubinius in 1.9 mode
|
213
|
-
|
214
|
-
({rubinius/rubinius#2268}[https://github.com/rubinius/rubinius/issues/2268]).
|
215
|
-
|
216
|
-
We are happy to report that this issue has been resolved.'
|
146
|
+
Ruby versions below 2.5 are soft-deprecated, which means that older versions
|
147
|
+
are no longer part of the CI test suite. If any changes have been introduced
|
148
|
+
that break those versions, bug reports and patches will be accepted, but it
|
149
|
+
will be up to the reporter to verify any fixes prior to release. The next
|
150
|
+
major release will completely break compatibility.
|
217
151
|
email:
|
218
|
-
-
|
152
|
+
- halostatue@gmail.com
|
219
153
|
executables:
|
220
154
|
- htmldiff
|
221
155
|
- ldiff
|
222
156
|
extensions: []
|
223
157
|
extra_rdoc_files:
|
224
|
-
-
|
225
|
-
-
|
226
|
-
-
|
158
|
+
- Code-of-Conduct.md
|
159
|
+
- Contributing.md
|
160
|
+
- History.md
|
161
|
+
- License.md
|
227
162
|
- Manifest.txt
|
228
163
|
- README.rdoc
|
229
164
|
- docs/COPYING.txt
|
230
165
|
- docs/artistic.txt
|
231
166
|
files:
|
232
|
-
- .
|
233
|
-
- .
|
234
|
-
- .
|
235
|
-
- .
|
236
|
-
- .
|
237
|
-
- Contributing.rdoc
|
238
|
-
- Gemfile
|
239
|
-
- History.rdoc
|
240
|
-
- License.rdoc
|
167
|
+
- ".rspec"
|
168
|
+
- Code-of-Conduct.md
|
169
|
+
- Contributing.md
|
170
|
+
- History.md
|
171
|
+
- License.md
|
241
172
|
- Manifest.txt
|
242
173
|
- README.rdoc
|
243
174
|
- Rakefile
|
@@ -249,6 +180,7 @@ files:
|
|
249
180
|
- lib/diff-lcs.rb
|
250
181
|
- lib/diff/lcs.rb
|
251
182
|
- lib/diff/lcs/array.rb
|
183
|
+
- lib/diff/lcs/backports.rb
|
252
184
|
- lib/diff/lcs/block.rb
|
253
185
|
- lib/diff/lcs/callbacks.rb
|
254
186
|
- lib/diff/lcs/change.rb
|
@@ -259,40 +191,52 @@ files:
|
|
259
191
|
- lib/diff/lcs/string.rb
|
260
192
|
- spec/change_spec.rb
|
261
193
|
- spec/diff_spec.rb
|
194
|
+
- spec/fixtures/aX
|
195
|
+
- spec/fixtures/bXaX
|
196
|
+
- spec/fixtures/ds1.csv
|
197
|
+
- spec/fixtures/ds2.csv
|
198
|
+
- spec/fixtures/ldiff/output.diff
|
199
|
+
- spec/fixtures/ldiff/output.diff-c
|
200
|
+
- spec/fixtures/ldiff/output.diff-e
|
201
|
+
- spec/fixtures/ldiff/output.diff-f
|
202
|
+
- spec/fixtures/ldiff/output.diff-u
|
262
203
|
- spec/hunk_spec.rb
|
263
204
|
- spec/issues_spec.rb
|
264
205
|
- spec/lcs_spec.rb
|
206
|
+
- spec/ldiff_spec.rb
|
265
207
|
- spec/patch_spec.rb
|
266
208
|
- spec/sdiff_spec.rb
|
267
209
|
- spec/spec_helper.rb
|
268
210
|
- spec/traverse_balanced_spec.rb
|
269
211
|
- spec/traverse_sequences_spec.rb
|
270
|
-
homepage:
|
212
|
+
homepage: https://github.com/halostatue/diff-lcs
|
271
213
|
licenses:
|
272
214
|
- MIT
|
273
|
-
-
|
274
|
-
-
|
275
|
-
metadata:
|
276
|
-
|
215
|
+
- Artistic-2.0
|
216
|
+
- GPL-2.0+
|
217
|
+
metadata:
|
218
|
+
homepage_uri: https://github.com/halostatue/diff-lcs
|
219
|
+
source_code_uri: https://github.com/halostatue/diff-lcs
|
220
|
+
bug_tracker_uri: https://github.com/halostatue/diff-lcs/issues
|
221
|
+
post_install_message:
|
277
222
|
rdoc_options:
|
278
|
-
- --main
|
223
|
+
- "--main"
|
279
224
|
- README.rdoc
|
280
225
|
require_paths:
|
281
226
|
- lib
|
282
227
|
required_ruby_version: !ruby/object:Gem::Requirement
|
283
228
|
requirements:
|
284
|
-
- -
|
229
|
+
- - ">="
|
285
230
|
- !ruby/object:Gem::Version
|
286
|
-
version: '
|
231
|
+
version: '1.8'
|
287
232
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
288
233
|
requirements:
|
289
|
-
- -
|
234
|
+
- - ">="
|
290
235
|
- !ruby/object:Gem::Version
|
291
236
|
version: '0'
|
292
237
|
requirements: []
|
293
|
-
|
294
|
-
|
295
|
-
signing_key:
|
238
|
+
rubygems_version: 3.0.3
|
239
|
+
signing_key:
|
296
240
|
specification_version: 4
|
297
241
|
summary: Diff::LCS computes the difference between two Enumerable sequences using
|
298
242
|
the McIlroy-Hunt longest common subsequence (LCS) algorithm
|