diff-lcs 1.1.3 → 1.5.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 +7 -0
- data/.rspec +1 -0
- data/Code-of-Conduct.md +74 -0
- data/Contributing.md +119 -0
- data/History.md +400 -0
- data/{License.rdoc → License.md} +6 -5
- data/Manifest.txt +36 -4
- data/README.rdoc +35 -23
- data/Rakefile +106 -11
- data/bin/htmldiff +7 -4
- data/bin/ldiff +4 -1
- data/docs/COPYING.txt +21 -22
- data/docs/artistic.txt +127 -0
- data/lib/diff/lcs/array.rb +1 -15
- data/lib/diff/lcs/backports.rb +9 -0
- data/lib/diff/lcs/block.rb +4 -18
- data/lib/diff/lcs/callbacks.rb +233 -230
- data/lib/diff/lcs/change.rb +114 -109
- data/lib/diff/lcs/htmldiff.rb +17 -18
- data/lib/diff/lcs/hunk.rb +232 -116
- data/lib/diff/lcs/internals.rb +308 -0
- data/lib/diff/lcs/ldiff.rb +138 -177
- data/lib/diff/lcs/string.rb +1 -15
- data/lib/diff/lcs.rb +597 -963
- data/lib/diff-lcs.rb +1 -3
- data/spec/change_spec.rb +89 -0
- data/spec/diff_spec.rb +32 -16
- 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/fixtures/ldiff/output.diff.chef +4 -0
- data/spec/fixtures/ldiff/output.diff.chef-c +15 -0
- data/spec/fixtures/ldiff/output.diff.chef-e +3 -0
- data/spec/fixtures/ldiff/output.diff.chef-f +3 -0
- data/spec/fixtures/ldiff/output.diff.chef-u +9 -0
- data/spec/fixtures/ldiff/output.diff.chef2 +7 -0
- data/spec/fixtures/ldiff/output.diff.chef2-c +20 -0
- data/spec/fixtures/ldiff/output.diff.chef2-d +7 -0
- data/spec/fixtures/ldiff/output.diff.chef2-e +7 -0
- data/spec/fixtures/ldiff/output.diff.chef2-f +7 -0
- data/spec/fixtures/ldiff/output.diff.chef2-u +16 -0
- data/spec/fixtures/new-chef +4 -0
- data/spec/fixtures/new-chef2 +17 -0
- data/spec/fixtures/old-chef +4 -0
- data/spec/fixtures/old-chef2 +14 -0
- data/spec/hunk_spec.rb +83 -0
- data/spec/issues_spec.rb +154 -0
- data/spec/lcs_spec.rb +36 -16
- data/spec/ldiff_spec.rb +87 -0
- data/spec/patch_spec.rb +198 -172
- data/spec/sdiff_spec.rb +99 -89
- data/spec/spec_helper.rb +149 -59
- data/spec/traverse_balanced_spec.rb +191 -167
- data/spec/traverse_sequences_spec.rb +105 -51
- metadata +218 -99
- data/.gemtest +0 -0
- data/History.rdoc +0 -54
- data/diff-lcs.gemspec +0 -51
- data/docs/artistic.html +0 -289
@@ -1,46 +1,104 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
describe
|
6
|
-
describe
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
5
|
+
describe 'Diff::LCS.traverse_sequences' do
|
6
|
+
describe 'callback with no finishers' do
|
7
|
+
describe 'over (seq1, seq2)' do
|
8
|
+
before(:each) do
|
9
|
+
@callback_s1_s2 = simple_callback_no_finishers
|
10
|
+
Diff::LCS.traverse_sequences(seq1, seq2, @callback_s1_s2)
|
11
|
+
|
12
|
+
@callback_s2_s1 = simple_callback_no_finishers
|
13
|
+
Diff::LCS.traverse_sequences(seq2, seq1, @callback_s2_s1)
|
14
|
+
end
|
15
|
+
|
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
|
+
end
|
20
|
+
|
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
|
+
end
|
25
|
+
|
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
|
+
end
|
30
|
+
|
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
|
+
end
|
35
|
+
|
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
|
+
end
|
13
42
|
end
|
14
43
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
44
|
+
describe 'over (hello, hello)' do
|
45
|
+
before(:each) do
|
46
|
+
@callback = simple_callback_no_finishers
|
47
|
+
Diff::LCS.traverse_sequences(hello, hello, @callback)
|
48
|
+
end
|
19
49
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
end
|
50
|
+
it 'has the correct LCS result on left-matches' do
|
51
|
+
expect(@callback.matched_a).to eq(hello.split(//))
|
52
|
+
end
|
24
53
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
54
|
+
it 'has the correct LCS result on right-matches' do
|
55
|
+
expect(@callback.matched_b).to eq(hello.split(//))
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'has the correct skipped sequences with the left sequence', :only => true do
|
59
|
+
expect(@callback.discards_a).to be_empty
|
60
|
+
end
|
29
61
|
|
30
|
-
|
31
|
-
|
32
|
-
|
62
|
+
it 'has the correct skipped sequences with the right sequence' do
|
63
|
+
expect(@callback.discards_b).to be_empty
|
64
|
+
end
|
65
|
+
|
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
|
+
end
|
33
70
|
end
|
34
71
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
72
|
+
describe 'over (hello_ary, hello_ary)' do
|
73
|
+
before(:each) do
|
74
|
+
@callback = simple_callback_no_finishers
|
75
|
+
Diff::LCS.traverse_sequences(hello_ary, hello_ary, @callback)
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'has the correct LCS result on left-matches' do
|
79
|
+
expect(@callback.matched_a).to eq(hello_ary)
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'has the correct LCS result on right-matches' do
|
83
|
+
expect(@callback.matched_b).to eq(hello_ary)
|
84
|
+
end
|
85
|
+
|
86
|
+
it 'has the correct skipped sequences with the left sequence' do
|
87
|
+
expect(@callback.discards_a).to be_empty
|
88
|
+
end
|
89
|
+
|
90
|
+
it 'has the correct skipped sequences with the right sequence' do
|
91
|
+
expect(@callback.discards_b).to be_empty
|
92
|
+
end
|
93
|
+
|
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
|
+
end
|
40
98
|
end
|
41
99
|
end
|
42
100
|
|
43
|
-
describe
|
101
|
+
describe 'callback with finisher' do
|
44
102
|
before(:each) do
|
45
103
|
@callback_s1_s2 = simple_callback
|
46
104
|
Diff::LCS.traverse_sequences(seq1, seq2, @callback_s1_s2)
|
@@ -48,36 +106,32 @@ describe "Diff::LCS.traverse_sequences" do
|
|
48
106
|
Diff::LCS.traverse_sequences(seq2, seq1, @callback_s2_s1)
|
49
107
|
end
|
50
108
|
|
51
|
-
it
|
52
|
-
@callback_s1_s2.matched_a.
|
53
|
-
@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)
|
54
112
|
end
|
55
113
|
|
56
|
-
it
|
57
|
-
@callback_s1_s2.matched_b.
|
58
|
-
@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)
|
59
117
|
end
|
60
118
|
|
61
|
-
it
|
62
|
-
@callback_s1_s2.discards_a.
|
63
|
-
@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)
|
64
122
|
end
|
65
123
|
|
66
|
-
it
|
67
|
-
@callback_s1_s2.discards_b.
|
68
|
-
@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)
|
69
127
|
end
|
70
128
|
|
71
|
-
it
|
72
|
-
@callback_s1_s2.done_a.
|
73
|
-
@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, 't', 11]])
|
131
|
+
expect(@callback_s1_s2.done_b).to be_empty
|
74
132
|
|
75
|
-
|
76
|
-
|
77
|
-
@callback_s2_s1.done_a.should be_empty
|
78
|
-
@callback_s2_s1.done_b.should be_empty
|
133
|
+
expect(@callback_s2_s1.done_a).to be_empty
|
134
|
+
expect(@callback_s2_s1.done_b).to eq([['t', 11, 'p', 9]])
|
79
135
|
end
|
80
136
|
end
|
81
137
|
end
|
82
|
-
|
83
|
-
# vim: ft=ruby
|
metadata
CHANGED
@@ -1,144 +1,263 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: diff-lcs
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 1
|
9
|
-
- 3
|
10
|
-
version: 1.1.3
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.5.0
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Austin Ziegler
|
14
|
-
autorequire:
|
8
|
+
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
11
|
+
date: 2021-12-23 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: hoe-doofus
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: hoe-gemspec2
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.1'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: hoe-git
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.6'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.6'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: hoe-rubygems
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
21
70
|
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.0'
|
76
|
+
- - "<"
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '4'
|
79
|
+
type: :development
|
22
80
|
prerelease: false
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
81
|
+
version_requirements: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '2.0'
|
86
|
+
- - "<"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '4'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: rake
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '10.0'
|
96
|
+
- - "<"
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '14'
|
33
99
|
type: :development
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: hoe
|
37
100
|
prerelease: false
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
101
|
+
version_requirements: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '10.0'
|
106
|
+
- - "<"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '14'
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
|
+
name: rdoc
|
111
|
+
requirement: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - ">="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: 6.3.1
|
116
|
+
- - "<"
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '7'
|
48
119
|
type: :development
|
49
|
-
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 6.3.1
|
126
|
+
- - "<"
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '7'
|
129
|
+
- !ruby/object:Gem::Dependency
|
130
|
+
name: hoe
|
131
|
+
requirement: !ruby/object:Gem::Requirement
|
132
|
+
requirements:
|
133
|
+
- - "~>"
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '3.23'
|
136
|
+
type: :development
|
137
|
+
prerelease: false
|
138
|
+
version_requirements: !ruby/object:Gem::Requirement
|
139
|
+
requirements:
|
140
|
+
- - "~>"
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '3.23'
|
50
143
|
description: |-
|
51
|
-
Diff::LCS
|
52
|
-
longest common subsequence (LCS) algorithm
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
that
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
email:
|
68
|
-
- austin@rubyforge.org
|
69
|
-
executables:
|
144
|
+
Diff::LCS computes the difference between two Enumerable sequences using the
|
145
|
+
McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities
|
146
|
+
to create a simple HTML diff output format and a standard diff-like tool.
|
147
|
+
|
148
|
+
This is release 1.4.3, providing a simple extension that allows for
|
149
|
+
Diff::LCS::Change objects to be treated implicitly as arrays and fixes a
|
150
|
+
number of formatting issues.
|
151
|
+
|
152
|
+
Ruby versions below 2.5 are soft-deprecated, which means that older versions
|
153
|
+
are no longer part of the CI test suite. If any changes have been introduced
|
154
|
+
that break those versions, bug reports and patches will be accepted, but it
|
155
|
+
will be up to the reporter to verify any fixes prior to release. The next
|
156
|
+
major release will completely break compatibility.
|
157
|
+
email:
|
158
|
+
- halostatue@gmail.com
|
159
|
+
executables:
|
70
160
|
- htmldiff
|
71
161
|
- ldiff
|
72
162
|
extensions: []
|
73
|
-
|
74
|
-
|
163
|
+
extra_rdoc_files:
|
164
|
+
- Code-of-Conduct.md
|
165
|
+
- Contributing.md
|
166
|
+
- History.md
|
167
|
+
- License.md
|
75
168
|
- Manifest.txt
|
76
|
-
- docs/COPYING.txt
|
77
|
-
- History.rdoc
|
78
|
-
- License.rdoc
|
79
169
|
- README.rdoc
|
80
|
-
|
81
|
-
-
|
82
|
-
|
170
|
+
- docs/COPYING.txt
|
171
|
+
- docs/artistic.txt
|
172
|
+
files:
|
173
|
+
- ".rspec"
|
174
|
+
- Code-of-Conduct.md
|
175
|
+
- Contributing.md
|
176
|
+
- History.md
|
177
|
+
- License.md
|
83
178
|
- Manifest.txt
|
84
179
|
- README.rdoc
|
85
180
|
- Rakefile
|
86
181
|
- bin/htmldiff
|
87
182
|
- bin/ldiff
|
88
|
-
- diff-lcs.gemspec
|
89
183
|
- docs/COPYING.txt
|
90
|
-
- docs/artistic.
|
184
|
+
- docs/artistic.txt
|
91
185
|
- lib/diff-lcs.rb
|
92
186
|
- lib/diff/lcs.rb
|
93
187
|
- lib/diff/lcs/array.rb
|
188
|
+
- lib/diff/lcs/backports.rb
|
94
189
|
- lib/diff/lcs/block.rb
|
95
190
|
- lib/diff/lcs/callbacks.rb
|
96
191
|
- lib/diff/lcs/change.rb
|
97
192
|
- lib/diff/lcs/htmldiff.rb
|
98
193
|
- lib/diff/lcs/hunk.rb
|
194
|
+
- lib/diff/lcs/internals.rb
|
99
195
|
- lib/diff/lcs/ldiff.rb
|
100
196
|
- lib/diff/lcs/string.rb
|
197
|
+
- spec/change_spec.rb
|
101
198
|
- spec/diff_spec.rb
|
199
|
+
- spec/fixtures/aX
|
200
|
+
- spec/fixtures/bXaX
|
201
|
+
- spec/fixtures/ds1.csv
|
202
|
+
- spec/fixtures/ds2.csv
|
203
|
+
- spec/fixtures/ldiff/output.diff
|
204
|
+
- spec/fixtures/ldiff/output.diff-c
|
205
|
+
- spec/fixtures/ldiff/output.diff-e
|
206
|
+
- spec/fixtures/ldiff/output.diff-f
|
207
|
+
- spec/fixtures/ldiff/output.diff-u
|
208
|
+
- spec/fixtures/ldiff/output.diff.chef
|
209
|
+
- spec/fixtures/ldiff/output.diff.chef-c
|
210
|
+
- spec/fixtures/ldiff/output.diff.chef-e
|
211
|
+
- spec/fixtures/ldiff/output.diff.chef-f
|
212
|
+
- spec/fixtures/ldiff/output.diff.chef-u
|
213
|
+
- spec/fixtures/ldiff/output.diff.chef2
|
214
|
+
- spec/fixtures/ldiff/output.diff.chef2-c
|
215
|
+
- spec/fixtures/ldiff/output.diff.chef2-d
|
216
|
+
- spec/fixtures/ldiff/output.diff.chef2-e
|
217
|
+
- spec/fixtures/ldiff/output.diff.chef2-f
|
218
|
+
- spec/fixtures/ldiff/output.diff.chef2-u
|
219
|
+
- spec/fixtures/new-chef
|
220
|
+
- spec/fixtures/new-chef2
|
221
|
+
- spec/fixtures/old-chef
|
222
|
+
- spec/fixtures/old-chef2
|
223
|
+
- spec/hunk_spec.rb
|
224
|
+
- spec/issues_spec.rb
|
102
225
|
- spec/lcs_spec.rb
|
226
|
+
- spec/ldiff_spec.rb
|
103
227
|
- spec/patch_spec.rb
|
104
228
|
- spec/sdiff_spec.rb
|
105
229
|
- spec/spec_helper.rb
|
106
230
|
- spec/traverse_balanced_spec.rb
|
107
231
|
- spec/traverse_sequences_spec.rb
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
-
|
232
|
+
homepage: https://github.com/halostatue/diff-lcs
|
233
|
+
licenses:
|
234
|
+
- MIT
|
235
|
+
- Artistic-2.0
|
236
|
+
- GPL-2.0+
|
237
|
+
metadata:
|
238
|
+
homepage_uri: https://github.com/halostatue/diff-lcs
|
239
|
+
source_code_uri: https://github.com/halostatue/diff-lcs
|
240
|
+
bug_tracker_uri: https://github.com/halostatue/diff-lcs/issues
|
241
|
+
post_install_message:
|
242
|
+
rdoc_options:
|
243
|
+
- "--main"
|
115
244
|
- README.rdoc
|
116
|
-
require_paths:
|
245
|
+
require_paths:
|
117
246
|
- lib
|
118
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
119
|
-
|
120
|
-
requirements:
|
247
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
248
|
+
requirements:
|
121
249
|
- - ">="
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
version: "0"
|
127
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
128
|
-
none: false
|
129
|
-
requirements:
|
250
|
+
- !ruby/object:Gem::Version
|
251
|
+
version: '1.8'
|
252
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
253
|
+
requirements:
|
130
254
|
- - ">="
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
|
133
|
-
segments:
|
134
|
-
- 0
|
135
|
-
version: "0"
|
255
|
+
- !ruby/object:Gem::Version
|
256
|
+
version: '0'
|
136
257
|
requirements: []
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
summary: Diff::LCS is a port of Perl's Algorithm::Diff that uses the McIlroy-Hunt longest common subsequence (LCS) algorithm to compute intelligent differences between two sequenced enumerable containers
|
258
|
+
rubygems_version: 3.1.6
|
259
|
+
signing_key:
|
260
|
+
specification_version: 4
|
261
|
+
summary: Diff::LCS computes the difference between two Enumerable sequences using
|
262
|
+
the McIlroy-Hunt longest common subsequence (LCS) algorithm
|
143
263
|
test_files: []
|
144
|
-
|
data/.gemtest
DELETED
File without changes
|
data/History.rdoc
DELETED
@@ -1,54 +0,0 @@
|
|
1
|
-
== 1.1.3 / 2011-08-27
|
2
|
-
* Converted to 'hoe' for release.
|
3
|
-
* Converted tests to RSpec 2.
|
4
|
-
* Extracted the body of htmldiff into a class available from
|
5
|
-
diff/lcs/htmldiff.
|
6
|
-
* Migrated development and issue tracking to GitHub.
|
7
|
-
* Bugs fixed:
|
8
|
-
- Eliminated the explicit use of RubyGems in both bin/htmldiff and bin/ldiff.
|
9
|
-
Resolves issue 4 (https://github.com/halostatue/diff-lcs/issues/4).
|
10
|
-
- Eliminated Ruby warnings. Resolves issue 3
|
11
|
-
(https://github.com/halostatue/diff-lcs/issues/3).
|
12
|
-
|
13
|
-
== 1.1.2 / 2004-10-20
|
14
|
-
* Fixed a problem reported by Mauricio Fernandez in htmldiff.
|
15
|
-
|
16
|
-
== 1.1.1 / 2004-09-25
|
17
|
-
* Fixed bug #891:
|
18
|
-
http://rubyforge.org/tracker/?func=detail&atid=407&aid=891&group_id=84
|
19
|
-
* Fixed a problem with callback initialisation code (it assumed that all
|
20
|
-
callbacks passed as classes can be initialised; now, it rescues
|
21
|
-
NoMethodError in the event of private :new being called).
|
22
|
-
* Modified the non-initialisable callbacks to have a private #new method.
|
23
|
-
* Moved ldiff core code to Diff::LCS::Ldiff (diff/lcs/ldiff.rb).
|
24
|
-
|
25
|
-
== 1.1.0 / -
|
26
|
-
* Eliminated the need for Diff::LCS::Event and removed it.
|
27
|
-
* Added a contextual diff callback, Diff::LCS::ContextDiffCallback.
|
28
|
-
* Implemented patching/unpatching for standard Diff callback output formats
|
29
|
-
with both #diff and #sdiff.
|
30
|
-
* Extensive documentation changes.
|
31
|
-
|
32
|
-
== 1.0.4 / -
|
33
|
-
* Fixed a problem with bin/ldiff output, especially for unified format.
|
34
|
-
Newlines that should have been present weren't.
|
35
|
-
* Changed the .tar.gz installer to generate Windows batch files if ones do not
|
36
|
-
exist already. Removed the existing batch files as they didn't work.
|
37
|
-
|
38
|
-
== 1.0.3 / -
|
39
|
-
* Fixed a problem with #traverse_sequences where the first difference from the
|
40
|
-
left sequence might not be appropriately captured.
|
41
|
-
|
42
|
-
== 1.0.2 / -
|
43
|
-
* Fixed an issue with ldiff not working because actions were changed from
|
44
|
-
symbols to strings.
|
45
|
-
|
46
|
-
== 1.0.1 / -
|
47
|
-
* Minor modifications to the gemspec, the README.
|
48
|
-
* Renamed the diff program to ldiff (as well as the companion batch file) so as
|
49
|
-
to not collide with the standard diff program.
|
50
|
-
* Fixed issues with RubyGems. Requires RubyGems > 0.6.1 or >= 0.6.1 with the
|
51
|
-
latest CVS version.
|
52
|
-
|
53
|
-
== 1.0 / -
|
54
|
-
* Initial release based mostly on Perl's Algorithm::Diff.
|
data/diff-lcs.gemspec
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
|
3
|
-
Gem::Specification.new do |s|
|
4
|
-
s.name = %q{diff-lcs}
|
5
|
-
s.version = "1.1.3"
|
6
|
-
|
7
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
-
s.authors = ["Austin Ziegler"]
|
9
|
-
s.date = %q{2011-08-27}
|
10
|
-
s.description = %q{Diff::LCS is a port of Perl's Algorithm::Diff that uses the McIlroy-Hunt
|
11
|
-
longest common subsequence (LCS) algorithm to compute intelligent differences
|
12
|
-
between two sequenced enumerable containers. The implementation is based on
|
13
|
-
Mario I. Wolczko's {Smalltalk version 1.2}[ftp://st.cs.uiuc.edu/pub/Smalltalk/MANCHESTER/manchester/4.0/diff.st]
|
14
|
-
(1993) and Ned Konz's Perl version
|
15
|
-
{Algorithm::Diff 1.15}[http://search.cpan.org/~nedkonz/Algorithm-Diff-1.15/].
|
16
|
-
|
17
|
-
This is release 1.1.3, fixing several small bugs found over the years. Version
|
18
|
-
1.1.0 added new features, including the ability to #patch and #unpatch changes
|
19
|
-
as well as a new contextual diff callback, Diff::LCS::ContextDiffCallbacks,
|
20
|
-
that should improve the context sensitivity of patching.
|
21
|
-
|
22
|
-
This library is called Diff::LCS because of an early version of Algorithm::Diff
|
23
|
-
which was restrictively licensed. This version has seen a minor license change:
|
24
|
-
instead of being under Ruby's license as an option, the third optional license
|
25
|
-
is the MIT license.}
|
26
|
-
s.email = ["austin@rubyforge.org"]
|
27
|
-
s.executables = ["htmldiff", "ldiff"]
|
28
|
-
s.extra_rdoc_files = ["Manifest.txt", "docs/COPYING.txt", "History.rdoc", "License.rdoc", "README.rdoc"]
|
29
|
-
s.files = ["History.rdoc", "License.rdoc", "Manifest.txt", "README.rdoc", "Rakefile", "bin/htmldiff", "bin/ldiff", "diff-lcs.gemspec", "docs/COPYING.txt", "docs/artistic.html", "lib/diff-lcs.rb", "lib/diff/lcs.rb", "lib/diff/lcs/array.rb", "lib/diff/lcs/block.rb", "lib/diff/lcs/callbacks.rb", "lib/diff/lcs/change.rb", "lib/diff/lcs/htmldiff.rb", "lib/diff/lcs/hunk.rb", "lib/diff/lcs/ldiff.rb", "lib/diff/lcs/string.rb", "spec/diff_spec.rb", "spec/lcs_spec.rb", "spec/patch_spec.rb", "spec/sdiff_spec.rb", "spec/spec_helper.rb", "spec/traverse_balanced_spec.rb", "spec/traverse_sequences_spec.rb", ".gemtest"]
|
30
|
-
s.rdoc_options = ["--main", "README.rdoc"]
|
31
|
-
s.require_paths = ["lib"]
|
32
|
-
s.rubyforge_project = %q{ruwiki}
|
33
|
-
s.rubygems_version = %q{1.3.6}
|
34
|
-
s.summary = %q{Diff::LCS is a port of Perl's Algorithm::Diff that uses the McIlroy-Hunt longest common subsequence (LCS) algorithm to compute intelligent differences between two sequenced enumerable containers}
|
35
|
-
|
36
|
-
if s.respond_to? :specification_version then
|
37
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
38
|
-
s.specification_version = 3
|
39
|
-
|
40
|
-
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
41
|
-
s.add_development_dependency(%q<rspec>, ["~> 2.0"])
|
42
|
-
s.add_development_dependency(%q<hoe>, ["~> 2.10"])
|
43
|
-
else
|
44
|
-
s.add_dependency(%q<rspec>, ["~> 2.0"])
|
45
|
-
s.add_dependency(%q<hoe>, ["~> 2.10"])
|
46
|
-
end
|
47
|
-
else
|
48
|
-
s.add_dependency(%q<rspec>, ["~> 2.0"])
|
49
|
-
s.add_dependency(%q<hoe>, ["~> 2.10"])
|
50
|
-
end
|
51
|
-
end
|