diff-lcs 1.4.4 → 1.6.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.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +518 -0
  3. data/CODE_OF_CONDUCT.md +128 -0
  4. data/CONTRIBUTING.md +71 -0
  5. data/CONTRIBUTORS.md +49 -0
  6. data/{License.md → LICENCE.md} +21 -20
  7. data/Manifest.txt +76 -6
  8. data/README.md +92 -0
  9. data/Rakefile +83 -42
  10. data/SECURITY.md +41 -0
  11. data/bin/htmldiff +4 -4
  12. data/docs/artistic.txt +1 -1
  13. data/lib/diff/lcs/array.rb +1 -1
  14. data/lib/diff/lcs/backports.rb +6 -2
  15. data/lib/diff/lcs/block.rb +4 -4
  16. data/lib/diff/lcs/callbacks.rb +9 -7
  17. data/lib/diff/lcs/change.rb +22 -22
  18. data/lib/diff/lcs/htmldiff.rb +26 -16
  19. data/lib/diff/lcs/hunk.rb +66 -45
  20. data/lib/diff/lcs/internals.rb +24 -20
  21. data/lib/diff/lcs/ldiff.rb +93 -75
  22. data/lib/diff/lcs/version.rb +7 -0
  23. data/lib/diff/lcs.rb +86 -83
  24. data/lib/diff-lcs.rb +1 -1
  25. data/mise.toml +5 -0
  26. data/spec/change_spec.rb +50 -50
  27. data/spec/diff_spec.rb +14 -14
  28. data/spec/fixtures/123_x +2 -0
  29. data/spec/fixtures/456_x +2 -0
  30. data/spec/fixtures/empty +0 -0
  31. data/spec/fixtures/file1.bin +0 -0
  32. data/spec/fixtures/file2.bin +0 -0
  33. data/spec/fixtures/four_lines +4 -0
  34. data/spec/fixtures/four_lines_with_missing_new_line +4 -0
  35. data/spec/fixtures/ldiff/diff.missing_new_line1-e +1 -0
  36. data/spec/fixtures/ldiff/diff.missing_new_line1-f +1 -0
  37. data/spec/fixtures/ldiff/diff.missing_new_line2-e +1 -0
  38. data/spec/fixtures/ldiff/diff.missing_new_line2-f +1 -0
  39. data/spec/fixtures/ldiff/error.diff.chef-e +2 -0
  40. data/spec/fixtures/ldiff/error.diff.chef-f +2 -0
  41. data/spec/fixtures/ldiff/error.diff.missing_new_line1-e +1 -0
  42. data/spec/fixtures/ldiff/error.diff.missing_new_line1-f +1 -0
  43. data/spec/fixtures/ldiff/error.diff.missing_new_line2-e +1 -0
  44. data/spec/fixtures/ldiff/error.diff.missing_new_line2-f +1 -0
  45. data/spec/fixtures/ldiff/output.diff.bin1 +0 -0
  46. data/spec/fixtures/ldiff/output.diff.bin1-c +0 -0
  47. data/spec/fixtures/ldiff/output.diff.bin1-e +0 -0
  48. data/spec/fixtures/ldiff/output.diff.bin1-f +0 -0
  49. data/spec/fixtures/ldiff/output.diff.bin1-u +0 -0
  50. data/spec/fixtures/ldiff/output.diff.bin2 +1 -0
  51. data/spec/fixtures/ldiff/output.diff.bin2-c +1 -0
  52. data/spec/fixtures/ldiff/output.diff.bin2-e +1 -0
  53. data/spec/fixtures/ldiff/output.diff.bin2-f +1 -0
  54. data/spec/fixtures/ldiff/output.diff.bin2-u +1 -0
  55. data/spec/fixtures/ldiff/output.diff.chef +4 -0
  56. data/spec/fixtures/ldiff/output.diff.chef-c +15 -0
  57. data/spec/fixtures/ldiff/output.diff.chef-e +3 -0
  58. data/spec/fixtures/ldiff/output.diff.chef-f +3 -0
  59. data/spec/fixtures/ldiff/output.diff.chef-u +9 -0
  60. data/spec/fixtures/ldiff/output.diff.chef2 +7 -0
  61. data/spec/fixtures/ldiff/output.diff.chef2-c +20 -0
  62. data/spec/fixtures/ldiff/output.diff.chef2-d +7 -0
  63. data/spec/fixtures/ldiff/output.diff.chef2-e +7 -0
  64. data/spec/fixtures/ldiff/output.diff.chef2-f +7 -0
  65. data/spec/fixtures/ldiff/output.diff.chef2-u +16 -0
  66. data/spec/fixtures/ldiff/output.diff.empty.vs.four_lines +5 -0
  67. data/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-c +9 -0
  68. data/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-e +6 -0
  69. data/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-f +6 -0
  70. data/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-u +7 -0
  71. data/spec/fixtures/ldiff/output.diff.four_lines.vs.empty +5 -0
  72. data/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-c +9 -0
  73. data/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-e +1 -0
  74. data/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-f +1 -0
  75. data/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-u +7 -0
  76. data/spec/fixtures/ldiff/output.diff.issue95_trailing_context +4 -0
  77. data/spec/fixtures/ldiff/output.diff.issue95_trailing_context-c +9 -0
  78. data/spec/fixtures/ldiff/output.diff.issue95_trailing_context-e +3 -0
  79. data/spec/fixtures/ldiff/output.diff.issue95_trailing_context-f +3 -0
  80. data/spec/fixtures/ldiff/output.diff.issue95_trailing_context-u +6 -0
  81. data/spec/fixtures/ldiff/output.diff.missing_new_line1 +5 -0
  82. data/spec/fixtures/ldiff/output.diff.missing_new_line1-c +14 -0
  83. data/spec/fixtures/ldiff/output.diff.missing_new_line1-e +0 -0
  84. data/spec/fixtures/ldiff/output.diff.missing_new_line1-f +0 -0
  85. data/spec/fixtures/ldiff/output.diff.missing_new_line1-u +9 -0
  86. data/spec/fixtures/ldiff/output.diff.missing_new_line2 +5 -0
  87. data/spec/fixtures/ldiff/output.diff.missing_new_line2-c +14 -0
  88. data/spec/fixtures/ldiff/output.diff.missing_new_line2-e +0 -0
  89. data/spec/fixtures/ldiff/output.diff.missing_new_line2-f +0 -0
  90. data/spec/fixtures/ldiff/output.diff.missing_new_line2-u +9 -0
  91. data/spec/fixtures/new-chef +4 -0
  92. data/spec/fixtures/new-chef2 +17 -0
  93. data/spec/fixtures/old-chef +4 -0
  94. data/spec/fixtures/old-chef2 +14 -0
  95. data/spec/hunk_spec.rb +20 -20
  96. data/spec/issues_spec.rb +76 -70
  97. data/spec/lcs_spec.rb +11 -11
  98. data/spec/ldiff_spec.rb +30 -17
  99. data/spec/patch_spec.rb +84 -84
  100. data/spec/sdiff_spec.rb +111 -109
  101. data/spec/spec_helper.rb +162 -161
  102. data/spec/traverse_balanced_spec.rb +191 -189
  103. data/spec/traverse_sequences_spec.rb +31 -33
  104. metadata +112 -63
  105. data/Code-of-Conduct.md +0 -74
  106. data/Contributing.md +0 -118
  107. data/History.md +0 -319
  108. data/README.rdoc +0 -84
  109. data/autotest/discover.rb +0 -3
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'spec_helper'
3
+ require "spec_helper"
4
4
 
5
- describe 'Diff::LCS.traverse_sequences' do
6
- describe 'callback with no finishers' do
7
- describe 'over (seq1, seq2)' do
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,27 +13,27 @@ describe 'Diff::LCS.traverse_sequences' do
13
13
  Diff::LCS.traverse_sequences(seq2, seq1, @callback_s2_s1)
14
14
  end
15
15
 
16
- it 'has the correct LCS result on left-matches' do
16
+ it "has the correct LCS result on left-matches" do
17
17
  expect(@callback_s1_s2.matched_a).to eq(correct_lcs)
18
18
  expect(@callback_s2_s1.matched_a).to eq(correct_lcs)
19
19
  end
20
20
 
21
- it 'has the correct LCS result on right-matches' do
21
+ it "has the correct LCS result on right-matches" do
22
22
  expect(@callback_s1_s2.matched_b).to eq(correct_lcs)
23
23
  expect(@callback_s2_s1.matched_b).to eq(correct_lcs)
24
24
  end
25
25
 
26
- it 'has the correct skipped sequences with the left sequence' do
26
+ it "has the correct skipped sequences with the left sequence" do
27
27
  expect(@callback_s1_s2.discards_a).to eq(skipped_seq1)
28
28
  expect(@callback_s2_s1.discards_a).to eq(skipped_seq2)
29
29
  end
30
30
 
31
- it 'has the correct skipped sequences with the right sequence' do
31
+ it "has the correct skipped sequences with the right sequence" do
32
32
  expect(@callback_s1_s2.discards_b).to eq(skipped_seq2)
33
33
  expect(@callback_s2_s1.discards_b).to eq(skipped_seq1)
34
34
  end
35
35
 
36
- it 'does not have anything done markers from the left or right sequences' do
36
+ it "does not have anything done markers from the left or right sequences" do
37
37
  expect(@callback_s1_s2.done_a).to be_empty
38
38
  expect(@callback_s1_s2.done_b).to be_empty
39
39
  expect(@callback_s2_s1.done_a).to be_empty
@@ -41,64 +41,64 @@ describe 'Diff::LCS.traverse_sequences' do
41
41
  end
42
42
  end
43
43
 
44
- describe 'over (hello, hello)' do
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 'has the correct LCS result on left-matches' do
51
- expect(@callback.matched_a).to eq(hello.split(//))
50
+ it "has the correct LCS result on left-matches" do
51
+ expect(@callback.matched_a).to eq(hello.chars)
52
52
  end
53
53
 
54
- it 'has the correct LCS result on right-matches' do
55
- expect(@callback.matched_b).to eq(hello.split(//))
54
+ it "has the correct LCS result on right-matches" do
55
+ expect(@callback.matched_b).to eq(hello.chars)
56
56
  end
57
57
 
58
- it 'has the correct skipped sequences with the left sequence', :only => true do
58
+ it "has the correct skipped sequences with the left sequence" do
59
59
  expect(@callback.discards_a).to be_empty
60
60
  end
61
61
 
62
- it 'has the correct skipped sequences with the right sequence' do
62
+ it "has the correct skipped sequences with the right sequence" do
63
63
  expect(@callback.discards_b).to be_empty
64
64
  end
65
65
 
66
- it 'does not have anything done markers from the left or right sequences' do
66
+ it "does not have anything done markers from the left or right sequences" do
67
67
  expect(@callback.done_a).to be_empty
68
68
  expect(@callback.done_b).to be_empty
69
69
  end
70
70
  end
71
71
 
72
- describe 'over (hello_ary, hello_ary)' do
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 'has the correct LCS result on left-matches' do
78
+ it "has the correct LCS result on left-matches" do
79
79
  expect(@callback.matched_a).to eq(hello_ary)
80
80
  end
81
81
 
82
- it 'has the correct LCS result on right-matches' do
82
+ it "has the correct LCS result on right-matches" do
83
83
  expect(@callback.matched_b).to eq(hello_ary)
84
84
  end
85
85
 
86
- it 'has the correct skipped sequences with the left sequence' do
86
+ it "has the correct skipped sequences with the left sequence" do
87
87
  expect(@callback.discards_a).to be_empty
88
88
  end
89
89
 
90
- it 'has the correct skipped sequences with the right sequence' do
90
+ it "has the correct skipped sequences with the right sequence" do
91
91
  expect(@callback.discards_b).to be_empty
92
92
  end
93
93
 
94
- it 'does not have anything done markers from the left or right sequences' do
94
+ it "does not have anything done markers from the left or right sequences" do
95
95
  expect(@callback.done_a).to be_empty
96
96
  expect(@callback.done_b).to be_empty
97
97
  end
98
98
  end
99
99
  end
100
100
 
101
- describe 'callback with finisher' do
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,32 @@ describe 'Diff::LCS.traverse_sequences' do
106
106
  Diff::LCS.traverse_sequences(seq2, seq1, @callback_s2_s1)
107
107
  end
108
108
 
109
- it 'has the correct LCS result on left-matches' do
109
+ it "has the correct LCS result on left-matches" do
110
110
  expect(@callback_s1_s2.matched_a).to eq(correct_lcs)
111
111
  expect(@callback_s2_s1.matched_a).to eq(correct_lcs)
112
112
  end
113
113
 
114
- it 'has the correct LCS result on right-matches' do
114
+ it "has the correct LCS result on right-matches" do
115
115
  expect(@callback_s1_s2.matched_b).to eq(correct_lcs)
116
116
  expect(@callback_s2_s1.matched_b).to eq(correct_lcs)
117
117
  end
118
118
 
119
- it 'has the correct skipped sequences for the left sequence' do
119
+ it "has the correct skipped sequences for the left sequence" do
120
120
  expect(@callback_s1_s2.discards_a).to eq(skipped_seq1)
121
121
  expect(@callback_s2_s1.discards_a).to eq(skipped_seq2)
122
122
  end
123
123
 
124
- it 'has the correct skipped sequences for the right sequence' do
124
+ it "has the correct skipped sequences for the right sequence" do
125
125
  expect(@callback_s1_s2.discards_b).to eq(skipped_seq2)
126
126
  expect(@callback_s2_s1.discards_b).to eq(skipped_seq1)
127
127
  end
128
128
 
129
- it 'has done markers differently-sized sequences' do
130
- expect(@callback_s1_s2.done_a).to eq([['p', 9, 's', 10]])
129
+ it "has done markers differently-sized sequences" do
130
+ expect(@callback_s1_s2.done_a).to eq([["p", 9, "t", 11]])
131
131
  expect(@callback_s1_s2.done_b).to be_empty
132
132
 
133
- # 20110731 I don't yet understand why this particular behaviour
134
- # isn't transitive.
135
133
  expect(@callback_s2_s1.done_a).to be_empty
136
- expect(@callback_s2_s1.done_b).to be_empty
134
+ expect(@callback_s2_s1.done_b).to eq([["t", 11, "p", 9]])
137
135
  end
138
136
  end
139
137
  end
metadata CHANGED
@@ -1,57 +1,42 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diff-lcs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.4
4
+ version: 1.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Austin Ziegler
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2020-07-01 00:00:00.000000000 Z
10
+ date: 2025-05-12 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !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
13
+ name: hoe
29
14
  requirement: !ruby/object:Gem::Requirement
30
15
  requirements:
31
16
  - - "~>"
32
17
  - !ruby/object:Gem::Version
33
- version: '1.1'
18
+ version: '4.0'
34
19
  type: :development
35
20
  prerelease: false
36
21
  version_requirements: !ruby/object:Gem::Requirement
37
22
  requirements:
38
23
  - - "~>"
39
24
  - !ruby/object:Gem::Version
40
- version: '1.1'
25
+ version: '4.0'
41
26
  - !ruby/object:Gem::Dependency
42
- name: hoe-git
27
+ name: hoe-halostatue
43
28
  requirement: !ruby/object:Gem::Requirement
44
29
  requirements:
45
30
  - - "~>"
46
31
  - !ruby/object:Gem::Version
47
- version: '1.6'
32
+ version: '2.0'
48
33
  type: :development
49
34
  prerelease: false
50
35
  version_requirements: !ruby/object:Gem::Requirement
51
36
  requirements:
52
37
  - - "~>"
53
38
  - !ruby/object:Gem::Version
54
- version: '1.6'
39
+ version: '2.0'
55
40
  - !ruby/object:Gem::Dependency
56
41
  name: hoe-rubygems
57
42
  requirement: !ruby/object:Gem::Requirement
@@ -112,42 +97,34 @@ dependencies:
112
97
  requirements:
113
98
  - - ">="
114
99
  - !ruby/object:Gem::Version
115
- version: '0'
100
+ version: 6.3.1
101
+ - - "<"
102
+ - !ruby/object:Gem::Version
103
+ version: '7'
116
104
  type: :development
117
105
  prerelease: false
118
106
  version_requirements: !ruby/object:Gem::Requirement
119
107
  requirements:
120
108
  - - ">="
121
109
  - !ruby/object:Gem::Version
122
- version: '0'
123
- - !ruby/object:Gem::Dependency
124
- name: hoe
125
- requirement: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - "~>"
128
- - !ruby/object:Gem::Version
129
- version: '3.22'
130
- type: :development
131
- prerelease: false
132
- version_requirements: !ruby/object:Gem::Requirement
133
- requirements:
134
- - - "~>"
110
+ version: 6.3.1
111
+ - - "<"
135
112
  - !ruby/object:Gem::Version
136
- version: '3.22'
113
+ version: '7'
137
114
  description: |-
138
115
  Diff::LCS computes the difference between two Enumerable sequences using the
139
116
  McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities
140
117
  to create a simple HTML diff output format and a standard diff-like tool.
141
118
 
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.
119
+ This is release 1.6.1, providing a simple extension that allows for
120
+ Diff::LCS::Change objects to be treated implicitly as arrays and fixes a number
121
+ of formatting issues.
145
122
 
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.
123
+ Ruby versions below 2.5 are soft-deprecated, which means that older versions are
124
+ no longer part of the CI test suite. If any changes have been introduced that
125
+ break those versions, bug reports and patches will be accepted, but it will be
126
+ up to the reporter to verify any fixes prior to release. The next major release
127
+ will completely break compatibility.
151
128
  email:
152
129
  - halostatue@gmail.com
153
130
  executables:
@@ -155,24 +132,27 @@ executables:
155
132
  - ldiff
156
133
  extensions: []
157
134
  extra_rdoc_files:
158
- - Code-of-Conduct.md
159
- - Contributing.md
160
- - History.md
161
- - License.md
135
+ - CHANGELOG.md
136
+ - CODE_OF_CONDUCT.md
137
+ - CONTRIBUTING.md
138
+ - CONTRIBUTORS.md
139
+ - LICENCE.md
162
140
  - Manifest.txt
163
- - README.rdoc
141
+ - README.md
142
+ - SECURITY.md
164
143
  - docs/COPYING.txt
165
144
  - docs/artistic.txt
166
145
  files:
167
146
  - ".rspec"
168
- - Code-of-Conduct.md
169
- - Contributing.md
170
- - History.md
171
- - License.md
147
+ - CHANGELOG.md
148
+ - CODE_OF_CONDUCT.md
149
+ - CONTRIBUTING.md
150
+ - CONTRIBUTORS.md
151
+ - LICENCE.md
172
152
  - Manifest.txt
173
- - README.rdoc
153
+ - README.md
174
154
  - Rakefile
175
- - autotest/discover.rb
155
+ - SECURITY.md
176
156
  - bin/htmldiff
177
157
  - bin/ldiff
178
158
  - docs/COPYING.txt
@@ -189,17 +169,86 @@ files:
189
169
  - lib/diff/lcs/internals.rb
190
170
  - lib/diff/lcs/ldiff.rb
191
171
  - lib/diff/lcs/string.rb
172
+ - lib/diff/lcs/version.rb
173
+ - mise.toml
192
174
  - spec/change_spec.rb
193
175
  - spec/diff_spec.rb
176
+ - spec/fixtures/123_x
177
+ - spec/fixtures/456_x
194
178
  - spec/fixtures/aX
195
179
  - spec/fixtures/bXaX
196
180
  - spec/fixtures/ds1.csv
197
181
  - spec/fixtures/ds2.csv
182
+ - spec/fixtures/empty
183
+ - spec/fixtures/file1.bin
184
+ - spec/fixtures/file2.bin
185
+ - spec/fixtures/four_lines
186
+ - spec/fixtures/four_lines_with_missing_new_line
187
+ - spec/fixtures/ldiff/diff.missing_new_line1-e
188
+ - spec/fixtures/ldiff/diff.missing_new_line1-f
189
+ - spec/fixtures/ldiff/diff.missing_new_line2-e
190
+ - spec/fixtures/ldiff/diff.missing_new_line2-f
191
+ - spec/fixtures/ldiff/error.diff.chef-e
192
+ - spec/fixtures/ldiff/error.diff.chef-f
193
+ - spec/fixtures/ldiff/error.diff.missing_new_line1-e
194
+ - spec/fixtures/ldiff/error.diff.missing_new_line1-f
195
+ - spec/fixtures/ldiff/error.diff.missing_new_line2-e
196
+ - spec/fixtures/ldiff/error.diff.missing_new_line2-f
198
197
  - spec/fixtures/ldiff/output.diff
199
198
  - spec/fixtures/ldiff/output.diff-c
200
199
  - spec/fixtures/ldiff/output.diff-e
201
200
  - spec/fixtures/ldiff/output.diff-f
202
201
  - spec/fixtures/ldiff/output.diff-u
202
+ - spec/fixtures/ldiff/output.diff.bin1
203
+ - spec/fixtures/ldiff/output.diff.bin1-c
204
+ - spec/fixtures/ldiff/output.diff.bin1-e
205
+ - spec/fixtures/ldiff/output.diff.bin1-f
206
+ - spec/fixtures/ldiff/output.diff.bin1-u
207
+ - spec/fixtures/ldiff/output.diff.bin2
208
+ - spec/fixtures/ldiff/output.diff.bin2-c
209
+ - spec/fixtures/ldiff/output.diff.bin2-e
210
+ - spec/fixtures/ldiff/output.diff.bin2-f
211
+ - spec/fixtures/ldiff/output.diff.bin2-u
212
+ - spec/fixtures/ldiff/output.diff.chef
213
+ - spec/fixtures/ldiff/output.diff.chef-c
214
+ - spec/fixtures/ldiff/output.diff.chef-e
215
+ - spec/fixtures/ldiff/output.diff.chef-f
216
+ - spec/fixtures/ldiff/output.diff.chef-u
217
+ - spec/fixtures/ldiff/output.diff.chef2
218
+ - spec/fixtures/ldiff/output.diff.chef2-c
219
+ - spec/fixtures/ldiff/output.diff.chef2-d
220
+ - spec/fixtures/ldiff/output.diff.chef2-e
221
+ - spec/fixtures/ldiff/output.diff.chef2-f
222
+ - spec/fixtures/ldiff/output.diff.chef2-u
223
+ - spec/fixtures/ldiff/output.diff.empty.vs.four_lines
224
+ - spec/fixtures/ldiff/output.diff.empty.vs.four_lines-c
225
+ - spec/fixtures/ldiff/output.diff.empty.vs.four_lines-e
226
+ - spec/fixtures/ldiff/output.diff.empty.vs.four_lines-f
227
+ - spec/fixtures/ldiff/output.diff.empty.vs.four_lines-u
228
+ - spec/fixtures/ldiff/output.diff.four_lines.vs.empty
229
+ - spec/fixtures/ldiff/output.diff.four_lines.vs.empty-c
230
+ - spec/fixtures/ldiff/output.diff.four_lines.vs.empty-e
231
+ - spec/fixtures/ldiff/output.diff.four_lines.vs.empty-f
232
+ - spec/fixtures/ldiff/output.diff.four_lines.vs.empty-u
233
+ - spec/fixtures/ldiff/output.diff.issue95_trailing_context
234
+ - spec/fixtures/ldiff/output.diff.issue95_trailing_context-c
235
+ - spec/fixtures/ldiff/output.diff.issue95_trailing_context-e
236
+ - spec/fixtures/ldiff/output.diff.issue95_trailing_context-f
237
+ - spec/fixtures/ldiff/output.diff.issue95_trailing_context-u
238
+ - spec/fixtures/ldiff/output.diff.missing_new_line1
239
+ - spec/fixtures/ldiff/output.diff.missing_new_line1-c
240
+ - spec/fixtures/ldiff/output.diff.missing_new_line1-e
241
+ - spec/fixtures/ldiff/output.diff.missing_new_line1-f
242
+ - spec/fixtures/ldiff/output.diff.missing_new_line1-u
243
+ - spec/fixtures/ldiff/output.diff.missing_new_line2
244
+ - spec/fixtures/ldiff/output.diff.missing_new_line2-c
245
+ - spec/fixtures/ldiff/output.diff.missing_new_line2-e
246
+ - spec/fixtures/ldiff/output.diff.missing_new_line2-f
247
+ - spec/fixtures/ldiff/output.diff.missing_new_line2-u
248
+ - spec/fixtures/new-chef
249
+ - spec/fixtures/new-chef2
250
+ - spec/fixtures/old-chef
251
+ - spec/fixtures/old-chef2
203
252
  - spec/hunk_spec.rb
204
253
  - spec/issues_spec.rb
205
254
  - spec/lcs_spec.rb
@@ -212,16 +261,17 @@ files:
212
261
  homepage: https://github.com/halostatue/diff-lcs
213
262
  licenses:
214
263
  - MIT
215
- - Artistic-2.0
216
- - GPL-2.0+
264
+ - Artistic-1.0-Perl
265
+ - GPL-2.0-or-later
217
266
  metadata:
218
267
  homepage_uri: https://github.com/halostatue/diff-lcs
268
+ changelog_uri: https://github.com/halostatue/diff-lcs/blob/main/CHANGELOG.md
219
269
  source_code_uri: https://github.com/halostatue/diff-lcs
220
270
  bug_tracker_uri: https://github.com/halostatue/diff-lcs/issues
221
- post_install_message:
271
+ rubygems_mfa_required: 'true'
222
272
  rdoc_options:
223
273
  - "--main"
224
- - README.rdoc
274
+ - README.md
225
275
  require_paths:
226
276
  - lib
227
277
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -235,8 +285,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
285
  - !ruby/object:Gem::Version
236
286
  version: '0'
237
287
  requirements: []
238
- rubygems_version: 3.0.3
239
- signing_key:
288
+ rubygems_version: 3.6.6
240
289
  specification_version: 4
241
290
  summary: Diff::LCS computes the difference between two Enumerable sequences using
242
291
  the McIlroy-Hunt longest common subsequence (LCS) algorithm
data/Code-of-Conduct.md DELETED
@@ -1,74 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- In the interest of fostering an open and welcoming environment, we as
6
- contributors and maintainers pledge to making participation in our project and
7
- our community a harassment-free experience for everyone, regardless of age, body
8
- size, disability, ethnicity, gender identity and expression, level of experience,
9
- nationality, personal appearance, race, religion, or sexual identity and
10
- orientation.
11
-
12
- ## Our Standards
13
-
14
- Examples of behavior that contributes to creating a positive environment
15
- include:
16
-
17
- * Using welcoming and inclusive language
18
- * Being respectful of differing viewpoints and experiences
19
- * Gracefully accepting constructive criticism
20
- * Focusing on what is best for the community
21
- * Showing empathy towards other community members
22
-
23
- Examples of unacceptable behavior by participants include:
24
-
25
- * The use of sexualized language or imagery and unwelcome sexual attention or
26
- advances
27
- * Trolling, insulting/derogatory comments, and personal or political attacks
28
- * Public or private harassment
29
- * Publishing others' private information, such as a physical or electronic
30
- address, without explicit permission
31
- * Other conduct which could reasonably be considered inappropriate in a
32
- professional setting
33
-
34
- ## Our Responsibilities
35
-
36
- Project maintainers are responsible for clarifying the standards of acceptable
37
- behavior and are expected to take appropriate and fair corrective action in
38
- response to any instances of unacceptable behavior.
39
-
40
- Project maintainers have the right and responsibility to remove, edit, or
41
- reject comments, commits, code, wiki edits, issues, and other contributions
42
- that are not aligned to this Code of Conduct, or to ban temporarily or
43
- permanently any contributor for other behaviors that they deem inappropriate,
44
- threatening, offensive, or harmful.
45
-
46
- ## Scope
47
-
48
- This Code of Conduct applies both within project spaces and in public spaces
49
- when an individual is representing the project or its community. Examples of
50
- representing a project or community include using an official project e-mail
51
- address, posting via an official social media account, or acting as an appointed
52
- representative at an online or offline event. Representation of a project may be
53
- further defined and clarified by project maintainers.
54
-
55
- ## Enforcement
56
-
57
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at [INSERT EMAIL ADDRESS]. All
59
- complaints will be reviewed and investigated and will result in a response that
60
- is deemed necessary and appropriate to the circumstances. The project team is
61
- obligated to maintain confidentiality with regard to the reporter of an incident.
62
- Further details of specific enforcement policies may be posted separately.
63
-
64
- Project maintainers who do not follow or enforce the Code of Conduct in good
65
- faith may face temporary or permanent repercussions as determined by other
66
- members of the project's leadership.
67
-
68
- ## Attribution
69
-
70
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
- available at [http://contributor-covenant.org/version/1/4][version]
72
-
73
- [homepage]: http://contributor-covenant.org
74
- [version]: http://contributor-covenant.org/version/1/4/
data/Contributing.md DELETED
@@ -1,118 +0,0 @@
1
- ## Contributing
2
-
3
- I value any contribution to Diff::LCS you can provide: a bug report, a
4
- feature request, or code contributions. Code contributions to Diff::LCS are
5
- especially <del>welcome</del>encouraged. Because Diff::LCS is a complex
6
- codebase, there are a few guidelines:
7
-
8
- - Code changes _will not_ be accepted without tests. The test suite is
9
- written with [RSpec][].
10
- - Match my coding style.
11
- - Use a thoughtfully-named topic branch that contains your change. Rebase
12
- your commits into logical chunks as necessary.
13
- - Use [quality commit messages][].
14
- - Do not change the version number; when your patch is accepted and a release
15
- is made, the version will be updated at that point.
16
- - Submit a GitHub pull request with your changes.
17
- - New or changed behaviours require appropriate documentation.
18
-
19
- ### Test Dependencies
20
-
21
- Diff::LCS uses Ryan Davis’s [Hoe][] to manage the release process, and it
22
- adds a number of rake tasks. You will mostly be interested in:
23
-
24
- ```sh
25
- $ rake
26
- ```
27
-
28
- which runs the tests the same way that:
29
-
30
- ```sh
31
- $ rake spec
32
- ```
33
-
34
- will do.
35
-
36
- To assist with the installation of the development dependencies, I have
37
- provided a Gemfile pointing to the (generated) `diff-lcs.gemspec` file. This
38
- will permit you to do:
39
-
40
- ```sh
41
- $ bundle install
42
- ```
43
-
44
- to get the development dependencies. If you aleady have `hoe` installed, you
45
- can accomplish the same thing with:
46
-
47
- ```sh
48
- $ rake newb
49
- ```
50
-
51
- This task will install any missing dependencies, run the tests/specs, and
52
- generate the RDoc.
53
-
54
- You can run tests with code coverage analysis by running:
55
-
56
- ```sh
57
- $ rake spec:coverage
58
- ```
59
-
60
- ### Workflow
61
-
62
- Here's the most direct way to get your work merged into the project:
63
-
64
- - Fork the project.
65
- - Clone down your fork (`git clone git://github.com/<username>/diff-lcs.git`).
66
- - Create a topic branch to contain your change (`git checkout -b my_awesome_feature`).
67
- - Hack away, add tests. Not necessarily in that order.
68
- - Make sure everything still passes by running `rake`.
69
- - If necessary, rebase your commits into logical chunks, without errors.
70
- - Push the branch up (`git push origin my_awesome_feature`).
71
- - Create a pull request against halostatue/diff-lcs and describe what your
72
- change does and the why you think it should be merged.
73
-
74
- ### Contributors
75
-
76
- - Austin Ziegler created Diff::LCS.
77
-
78
- Thanks to everyone else who has contributed code or bug reports to Diff::LCS:
79
-
80
- - @ginriki
81
- - @joshbronson
82
- - @kevinmook
83
- - @mckaz
84
- - Akinori Musha
85
- - Artem Ignatyev
86
- - Brandon Fish
87
- - Camille Drapier
88
- - Cédric Boutillier
89
- - Gregg Kellogg
90
- - Jagdeep Singh
91
- - Jason Gladish
92
- - Jon Rowe
93
- - Josef Strzibny
94
- - Josep (@apuratepp)
95
- - Josh Bronson
96
- - Jun Aruga
97
- - Kenichi Kamiya
98
- - Kensuke Nagae
99
- - Kevin Ansfield
100
- - Koichi Ito
101
- - Mark Friedgan
102
- - Michael Granger
103
- - Myron Marston
104
- - Nicolas Leger
105
- - Oleg Orlov
106
- - Paul Kunysch
107
- - Pete Higgins
108
- - Peter Wagenet
109
- - Philippe Lafoucrière
110
- - Ryan Lovelett
111
- - Scott Steele
112
- - Simon Courtois
113
- - Tomas Jura
114
- - Vít Ondruch
115
-
116
- [rspec]: http://rspec.info/documentation/
117
- [quality commit messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
118
- [hoe]: https://github.com/seattlerb/hoe