diff-lcs 1.3 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Contributing.md +84 -48
- data/History.md +334 -154
- data/Manifest.txt +23 -1
- data/README.rdoc +10 -10
- data/Rakefile +85 -21
- data/bin/htmldiff +7 -4
- data/bin/ldiff +4 -1
- data/lib/diff/lcs/array.rb +1 -1
- data/lib/diff/lcs/backports.rb +9 -0
- data/lib/diff/lcs/block.rb +1 -1
- data/lib/diff/lcs/callbacks.rb +15 -12
- data/lib/diff/lcs/change.rb +30 -37
- data/lib/diff/lcs/htmldiff.rb +17 -16
- data/lib/diff/lcs/hunk.rb +156 -74
- data/lib/diff/lcs/internals.rb +43 -42
- data/lib/diff/lcs/ldiff.rb +46 -42
- data/lib/diff/lcs/string.rb +1 -1
- data/lib/diff/lcs.rb +188 -174
- data/lib/diff-lcs.rb +1 -1
- data/spec/change_spec.rb +31 -7
- data/spec/diff_spec.rb +16 -12
- data/spec/fixtures/aX +1 -0
- data/spec/fixtures/bXaX +1 -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 +37 -26
- data/spec/issues_spec.rb +115 -10
- data/spec/lcs_spec.rb +10 -10
- data/spec/ldiff_spec.rb +71 -31
- data/spec/patch_spec.rb +93 -99
- data/spec/sdiff_spec.rb +89 -89
- data/spec/spec_helper.rb +118 -65
- data/spec/traverse_balanced_spec.rb +173 -173
- data/spec/traverse_sequences_spec.rb +29 -31
- metadata +54 -33
- data/autotest/discover.rb +0 -1
data/History.md
CHANGED
@@ -1,197 +1,353 @@
|
|
1
|
+
# History
|
2
|
+
|
3
|
+
## 1.5.0 / 2021-12-23
|
4
|
+
|
5
|
+
- Updated the CI configuration and monkey-patch Hoe.
|
6
|
+
|
7
|
+
- Kenichi Kamiya fixed a test configuration deprecation in SimpleCov. [#69]
|
8
|
+
|
9
|
+
- Tien introduced several corrections and code improvements:
|
10
|
+
|
11
|
+
- Removed an off-by-one error when calculating an index value by embracing
|
12
|
+
Ruby iteration properly. This had a side-effect of fixing a long-standing
|
13
|
+
bug in `#traverse_sequences` where the traversal would not be transitive.
|
14
|
+
That is, `LCS(s2, s1)` should produce a sequence that is transitive with
|
15
|
+
`LCS(s1, s2)` on traversal, and applying the diff computed from those
|
16
|
+
results would result in equivalent changes that could be played forward or
|
17
|
+
backward as appropriate. [#71], [#75]
|
18
|
+
|
19
|
+
- The above fix resulted in a changed order of the longest common subsequence
|
20
|
+
when callbacks were applied. After analysis, it was determined that the
|
21
|
+
computed subsequence was _equivalent_ to the prior version, so the test was
|
22
|
+
updated. This also resulted in the clarification of documentation when
|
23
|
+
traversing the subsequences. [#79]
|
24
|
+
|
25
|
+
- An infinite loop case in the case where Diff::LCS would be included into an
|
26
|
+
enumerable class has been fixed. [#73]
|
27
|
+
|
28
|
+
- Clarified the purpose of a threshold test in calculation of LCS. [#72],
|
29
|
+
[#80]
|
30
|
+
|
31
|
+
- Removed autotest directory
|
32
|
+
|
33
|
+
## 1.4.4 / 2020-07-01
|
34
|
+
|
35
|
+
- Fixed an issue reported by Jun Aruga in the Diff::LCS::Ldiff binary text
|
36
|
+
detection. [#44]
|
37
|
+
|
38
|
+
- Fixed a theoretical issue reported by Jun Aruga in Diff::LCS::Hunk to raise
|
39
|
+
a more useful exception. [#43]
|
40
|
+
|
41
|
+
- Added documentation that should address custom object issues as reported in
|
42
|
+
[#35].
|
43
|
+
|
44
|
+
- Fixed more diff errors, in part reported in [#65].
|
45
|
+
|
46
|
+
- The use of `Numeric#abs` is incorrect in `Diff::LCS::Block#diff_size`. The
|
47
|
+
diff size _must_ be accurate for correct change placement.
|
48
|
+
|
49
|
+
- When selecting @max_diff_size in Diff::LCS::Hunk, choose it based on
|
50
|
+
`block.diff_size.abs`.
|
51
|
+
|
52
|
+
- Made a number of changes that will, unfortunately, increase allocations at
|
53
|
+
the cost of being safe with frozen strings.
|
54
|
+
|
55
|
+
- Add some knowledge that when `Diff::LCS::Hunk#diff` is called, that we are
|
56
|
+
processing the _last_ hunk, so some changes will be made to how the output
|
57
|
+
is generated.
|
58
|
+
|
59
|
+
- `old`, `ed`, and `reverse_ed` formats have no differences.
|
60
|
+
|
61
|
+
- `unified` format will report `` given the
|
62
|
+
correct conditions, at most once. Unified range reporting also differs for
|
63
|
+
the last hunk such that the `length` of the range is reduced by one.
|
64
|
+
|
65
|
+
- `context` format will report `\No newline at end of file` given the
|
66
|
+
correct conditions, up to once per "file". Context range reporting also
|
67
|
+
differs for the last hunk such that the `end` part of the range is reduced
|
68
|
+
by one to a minimum of one.
|
69
|
+
|
70
|
+
- Added a bunch more tests for the cases above, and fixed `hunk_spec.rb` so that
|
71
|
+
the phrase being compared isn't nonsense French.
|
72
|
+
|
73
|
+
- Updated formatting.
|
74
|
+
|
75
|
+
- Added a Rake task to assist with manual testing on Ruby 1.8.
|
76
|
+
|
77
|
+
## 1.4.3 / 2020-06-29
|
78
|
+
|
79
|
+
- Fixed several issues with the 1.4 on Rubies older than 2.0. Some of this was
|
80
|
+
providing useful shim functions to Hoe 3.x (which dropped these older Rubies
|
81
|
+
a while ago). Specifically:
|
82
|
+
|
83
|
+
- Removed Array#lazy from a method in Diff::LCS::Hunk.
|
84
|
+
|
85
|
+
- Changed some unit tests to use old-style Symbol-keyed hashes.
|
86
|
+
|
87
|
+
- Changed some unit test helper functions to no longer use keyword parameters,
|
88
|
+
but only a trailing options hash.
|
89
|
+
|
90
|
+
- Made the use of `psych` dependent on `RUBY_VERSION >= 1.9`.
|
91
|
+
|
92
|
+
Resolves [#63].
|
93
|
+
|
94
|
+
## 1.4.2 / 2020-06-23
|
95
|
+
|
96
|
+
- Camille Drapier fixed a small issue with RuboCop configuration. [#59]
|
97
|
+
|
98
|
+
- Applied another fix (and unit test) to fix an issue for the Chef team.
|
99
|
+
[#60], [#61]
|
100
|
+
|
101
|
+
## 1.4.1 / 2020-06-23
|
102
|
+
|
103
|
+
- Fix an issue where diff sizes could be negative, and they should be. [#57],
|
104
|
+
[#58]
|
105
|
+
|
106
|
+
## 1.4 / 2020-06-23
|
107
|
+
|
108
|
+
- Ruby versions lower than 2.4 are soft-deprecated and will not be run as part
|
109
|
+
of the CI process any longer.
|
110
|
+
|
111
|
+
- Akinora MUSHA (knu) added the ability for Diff::LCS::Change objects to be
|
112
|
+
implicitly treated arrays. Originally provided as pull request [#47], but it
|
113
|
+
introduced a number of test failures as documented in [#48], and remediation
|
114
|
+
of Diff::LCS itself was introduced in [#49].
|
115
|
+
|
116
|
+
- Resolved [#5] with some tests comparing output from `system` calls to
|
117
|
+
`bin/ldiff` with some pre-generated output. Resolved [#6] with these tests.
|
118
|
+
|
119
|
+
- Resolved a previously undetected `bin/ldiff` issue with `--context` output not
|
120
|
+
matching `diff --context` output.
|
121
|
+
|
122
|
+
- Resolved an issue with later versions of Ruby not working with an `OptParse`
|
123
|
+
specification of `Numeric`; this has been changed to `Integer`.
|
124
|
+
|
125
|
+
- Brandon Fish added truffleruby in [#52].
|
126
|
+
|
127
|
+
- Fixed two missing classes as reported in [#53].
|
128
|
+
|
1
129
|
## 1.3 / 2017-01-18
|
2
130
|
|
3
|
-
|
131
|
+
- Bugs fixed:
|
132
|
+
|
133
|
+
- Fixed an error for bin/ldiff --version. Fixes issue [#21].
|
134
|
+
|
135
|
+
- Force Diff::LCS::Change and Diff::LCS::ContextChange to only perform
|
136
|
+
equality comparisons against themselves. Provided by Kevin Mook in pull
|
137
|
+
request [#29].
|
138
|
+
|
139
|
+
- Fix tab expansion in htmldiff, provided by Mark Friedgan in pull request
|
140
|
+
[#25].
|
141
|
+
|
142
|
+
- Silence Ruby 2.4 Fixnum deprecation warnings. Fixes issue [#38] and pull
|
143
|
+
request [#36].
|
4
144
|
|
5
|
-
|
6
|
-
|
7
|
-
equality comparisons against themselves. Provided by Kevin Mook in
|
8
|
-
[pull request #29][].
|
9
|
-
* Fix tab expansion in htmldiff, provided by Mark Friedgan in
|
10
|
-
[pull request #25][].
|
11
|
-
* Silence Ruby 2.4 Fixnum deprecation warnings. Fixxues [issue #38][] and
|
12
|
-
[pull request#36][].
|
13
|
-
* Ensure that test dependencies are loaded properly. Fixes [issue #33][]
|
14
|
-
and [pull request #34][].
|
15
|
-
* Fix [issue #1][] with incorrect intuition of patch direction. Tentative
|
16
|
-
fix, but the previous failure cases pass now.
|
145
|
+
- Ensure that test dependencies are loaded properly. Fixes issue [#33] and
|
146
|
+
pull request [#34].
|
17
147
|
|
18
|
-
|
148
|
+
- Fix issue [#1] with incorrect intuition of patch direction. Tentative fix,
|
149
|
+
but the previous failure cases pass now.
|
19
150
|
|
20
|
-
|
21
|
-
* Change the homepage (temporarily) to the GitHub repo.
|
22
|
-
* Updated testing and gem infrastructure.
|
23
|
-
* Modernized the specs.
|
151
|
+
- Tooling changes:
|
24
152
|
|
25
|
-
|
153
|
+
- Added SimpleCov and Coveralls support.
|
26
154
|
|
27
|
-
|
155
|
+
- Change the homepage (temporarily) to the GitHub repo.
|
156
|
+
|
157
|
+
- Updated testing and gem infrastructure.
|
158
|
+
|
159
|
+
- Modernized the specs.
|
160
|
+
|
161
|
+
- Cleaned up documentation.
|
162
|
+
|
163
|
+
- Added a Code of Conduct.
|
28
164
|
|
29
165
|
## 1.2.5 / 2013-11-08
|
30
166
|
|
31
|
-
|
167
|
+
- Bugs fixed:
|
32
168
|
|
33
|
-
|
34
|
-
|
169
|
+
- Comparing arrays flattened them too far, especially with Diff::LCS.sdiff.
|
170
|
+
Fixed by Josh Bronson in pull request [#23].
|
35
171
|
|
36
172
|
## 1.2.4 / 2013-04-20
|
37
173
|
|
38
|
-
|
174
|
+
- Bugs fixed:
|
39
175
|
|
40
|
-
|
41
|
-
|
42
|
-
[pull request #18][]. Thanks!
|
176
|
+
- A bug was introduced after 1.1.3 when pruning common sequences at the start
|
177
|
+
of comparison. Paul Kunysch (@pck) fixed this in pull request [#18]. Thanks!
|
43
178
|
|
44
|
-
|
45
|
-
|
46
|
-
|
179
|
+
- The Rubinius (1.9 mode) bug in [rubinius/rubinius#2268] has been fixed by
|
180
|
+
the Rubinius team two days after it was filed. Thanks for fixing this so
|
181
|
+
quickly!
|
47
182
|
|
48
|
-
|
183
|
+
- Switching to Raggi's hoe-gemspec2 for gemspec generation.
|
49
184
|
|
50
185
|
## 1.2.3 / 2013-04-11
|
51
186
|
|
52
|
-
|
187
|
+
- Bugs Fixed:
|
188
|
+
|
189
|
+
- The new encoding detection for diff output generation (added in 1.2.2)
|
190
|
+
introduced a bug if the left side of the comparison was the empty set.
|
191
|
+
Originally found in [rspec/rspec-expectations#238] and
|
192
|
+
[rspec/rspec-expectations#239]. Jon Rowe developed a reasonable heuristic
|
193
|
+
(left side, right side, empty string literal) to avoid this bug.
|
53
194
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
bug.
|
60
|
-
* There is a known issue with Rubinius in 1.9 mode reported in
|
61
|
-
[rubinius/rubinius#2268][] and demonstrated in the Travis CI builds.
|
62
|
-
For all other tested platforms, diff-lcs is considered stable. As soon
|
63
|
-
as a suitably small test-case can be created for the Rubinius team to
|
64
|
-
examine, this will be added to the Rubinius issue around this.
|
195
|
+
- There is a known issue with Rubinius in 1.9 mode reported in
|
196
|
+
[rubinius/rubinius#2268] and demonstrated in the Travis CI builds. For all
|
197
|
+
other tested platforms, diff-lcs is considered stable. As soon as a suitably
|
198
|
+
small test-case can be created for the Rubinius team to examine, this will
|
199
|
+
be added to the Rubinius issue around this.
|
65
200
|
|
66
201
|
## 1.2.2 / 2013-03-30
|
67
202
|
|
68
|
-
|
203
|
+
- Bugs Fixed:
|
69
204
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
205
|
+
- Diff::LCS::Hunk could not properly generate a difference for comparison sets
|
206
|
+
that are not US-ASCII-compatible because of the use of literal regular
|
207
|
+
expressions and strings. Jon Rowe found this in
|
208
|
+
[rspec/rspec-expectations#219] and provided a first pass implementation in
|
209
|
+
pull request [#15]. I've reworked it because of test failures in Rubinius
|
210
|
+
when running in Ruby 1.9 mode. This coerces the added values to the encoding
|
211
|
+
of the old dataset (as determined by the first piece of the old dataset).
|
212
|
+
|
213
|
+
- Adding Travis CI testing for Ruby 2.0.
|
79
214
|
|
80
215
|
## 1.2.1 / 2013-02-09
|
81
216
|
|
82
|
-
|
217
|
+
- Bugs Fixed:
|
83
218
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
old #unshift behaviour was incorrect and will not be restored.
|
219
|
+
- As seen in [rspec/rspec-expectations#200], the release of Diff::LCS 1.2
|
220
|
+
introduced an unnecessary public API change to Diff::LCS::Hunk (see the
|
221
|
+
change at [rspec/rspec-expectations@3d6fc82c] for details). The new method
|
222
|
+
name (and behaviour) is more correct, but I should not have renamed the
|
223
|
+
function or should have at least provided an alias. This release restores
|
224
|
+
Diff::LCS::Hunk#unshift as an alias to #merge. Note that the old #unshift
|
225
|
+
behaviour was incorrect and will not be restored.
|
92
226
|
|
93
227
|
## 1.2.0 / 2013-01-21
|
94
228
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
229
|
+
- Minor Enhancements:
|
230
|
+
|
231
|
+
- Added special case handling for Diff::LCS.patch so that it handles patches
|
232
|
+
that are empty or contain no changes.
|
233
|
+
|
234
|
+
- Added two new methods (#patch_me and #unpatch_me) to the includable module.
|
235
|
+
|
236
|
+
- Bugs Fixed:
|
237
|
+
|
238
|
+
- Fixed issue [#1] patch direction detection.
|
239
|
+
|
240
|
+
- Resolved issue [#2] by handling `string[string.size, 1]` properly (it
|
241
|
+
returns `""` not `nil`).
|
242
|
+
|
243
|
+
- Michael Granger (ged) fixed an implementation error in Diff::LCS::Change and
|
244
|
+
added specs in pull request [#8]. Thanks!
|
245
|
+
|
246
|
+
- Made the code auto-testable.
|
247
|
+
|
248
|
+
- Vít Ondruch (voxik) provided the latest version of the GPL2 license file in
|
249
|
+
pull request [#10]. Thanks!
|
250
|
+
|
251
|
+
- Fixed a documentation issue with the includable versions of #patch! and
|
252
|
+
#unpatch! where they implied that they would replace the original value.
|
253
|
+
Given that Diff::LCS.patch always returns a copy, the documentation was
|
254
|
+
incorrect and has been corrected. To provide the behaviour that was
|
255
|
+
originally documented, two new methods were added to provide this behaviour.
|
256
|
+
Found by scooter-dangle in issue [#12]. Thanks!
|
257
|
+
|
258
|
+
- Code Style Changes:
|
259
|
+
|
260
|
+
- Removed trailing spaces.
|
261
|
+
|
262
|
+
- Calling class methods using `.` instead of `::`.
|
263
|
+
|
264
|
+
- Vít Ondruch (voxik) removed unnecessary shebangs in pull request [#9].
|
265
|
+
Thanks!
|
266
|
+
|
267
|
+
- Kenichi Kamiya (kachick) removed some warnings of an unused variable in
|
268
|
+
lucky pull request [#13]. Thanks!
|
269
|
+
|
270
|
+
- Embarked on a major refactoring to make the files a little more manageable
|
271
|
+
and understand the code on a deeper level.
|
272
|
+
|
273
|
+
- Adding to http://travis-ci.org.
|
131
274
|
|
132
275
|
## 1.1.3 / 2011-08-27
|
133
276
|
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
277
|
+
- Converted to 'hoe' for release.
|
278
|
+
|
279
|
+
- Converted tests to RSpec 2.
|
280
|
+
|
281
|
+
- Extracted the body of htmldiff into a class available from diff/lcs/htmldiff.
|
282
|
+
|
283
|
+
- Migrated development and issue tracking to GitHub.
|
284
|
+
|
285
|
+
- Bugs fixed:
|
140
286
|
|
141
|
-
|
142
|
-
|
143
|
-
|
287
|
+
- Eliminated the explicit use of RubyGems in both bin/htmldiff and bin/ldiff.
|
288
|
+
Resolves issue [#4].
|
289
|
+
|
290
|
+
- Eliminated Ruby warnings. Resolves issue [#3].
|
144
291
|
|
145
292
|
## 1.1.2 / 2004-10-20
|
146
293
|
|
147
|
-
|
294
|
+
- Fixed a problem reported by Mauricio Fernandez in htmldiff.
|
148
295
|
|
149
296
|
## 1.1.1 / 2004-09-25
|
150
297
|
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
298
|
+
- Fixed bug #891 (Set returned from patch command does not contain last equal
|
299
|
+
part).
|
300
|
+
|
301
|
+
- Fixed a problem with callback initialisation code (it assumed that all
|
302
|
+
callbacks passed as classes can be initialised; now, it rescues NoMethodError
|
303
|
+
in the event of private :new being called).
|
304
|
+
|
305
|
+
- Modified the non-initialisable callbacks to have a private #new method.
|
306
|
+
|
307
|
+
- Moved ldiff core code to Diff::LCS::Ldiff (diff/lcs/ldiff.rb).
|
308
|
+
|
309
|
+
## 1.1.0
|
158
310
|
|
159
|
-
|
311
|
+
- Eliminated the need for Diff::LCS::Event and removed it.
|
160
312
|
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
313
|
+
- Added a contextual diff callback, Diff::LCS::ContextDiffCallback.
|
314
|
+
|
315
|
+
- Implemented patching/unpatching for standard Diff callback output formats with
|
316
|
+
both #diff and #sdiff.
|
317
|
+
|
318
|
+
- Extensive documentation changes.
|
166
319
|
|
167
320
|
## 1.0.4
|
168
321
|
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
322
|
+
- Fixed a problem with bin/ldiff output, especially for unified format. Newlines
|
323
|
+
that should have been present weren't.
|
324
|
+
|
325
|
+
- Changed the .tar.gz installer to generate Windows batch files if ones do not
|
326
|
+
exist already. Removed the existing batch files as they didn't work.
|
173
327
|
|
174
328
|
## 1.0.3
|
175
329
|
|
176
|
-
|
177
|
-
|
330
|
+
- Fixed a problem with #traverse_sequences where the first difference from the
|
331
|
+
left sequence might not be appropriately captured.
|
178
332
|
|
179
333
|
## 1.0.2
|
180
334
|
|
181
|
-
|
182
|
-
|
335
|
+
- Fixed an issue with ldiff not working because actions were changed from
|
336
|
+
symbols to strings.
|
183
337
|
|
184
338
|
## 1.0.1
|
185
339
|
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
340
|
+
- Minor modifications to the gemspec, the README.
|
341
|
+
|
342
|
+
- Renamed the diff program to ldiff (as well as the companion batch file) so as
|
343
|
+
to not collide with the standard diff program.
|
344
|
+
|
345
|
+
- Fixed issues with RubyGems. Requires RubyGems > 0.6.1 or >= 0.6.1 with the
|
346
|
+
latest CVS version.
|
191
347
|
|
192
348
|
## 1.0
|
193
349
|
|
194
|
-
|
350
|
+
- Initial release based mostly on Perl's Algorithm::Diff.
|
195
351
|
|
196
352
|
[rubinius/rubinius#2268]: https://github.com/rubinius/rubinius/issues/2268
|
197
353
|
[rspec/rspec-expectations#239]: https://github.com/rspec/rspec-expectations/issues/239
|
@@ -199,22 +355,46 @@
|
|
199
355
|
[rspec/rspec-expectations#219]: https://github.com/rspec/rspec-expectations/issues/219
|
200
356
|
[rspec/rspec-expectations@3d6fc82c]: https://github.com/rspec/rspec-expectations/commit/3d6fc82c
|
201
357
|
[rspec/rspec-expectations#200]: https://github.com/rspec/rspec-expectations/pull/200
|
202
|
-
[
|
203
|
-
[
|
204
|
-
[
|
205
|
-
[
|
206
|
-
[
|
207
|
-
[
|
208
|
-
[
|
209
|
-
[
|
210
|
-
[
|
211
|
-
[
|
212
|
-
[
|
213
|
-
[
|
214
|
-
[
|
215
|
-
[
|
216
|
-
[
|
217
|
-
[
|
218
|
-
[
|
219
|
-
[
|
220
|
-
[
|
358
|
+
[#1]: https://github.com/halostatue/diff-lcs/issues/1
|
359
|
+
[#2]: https://github.com/halostatue/diff-lcs/issues/2
|
360
|
+
[#3]: https://github.com/halostatue/diff-lcs/issues/3
|
361
|
+
[#4]: https://github.com/halostatue/diff-lcs/issues/4
|
362
|
+
[#5]: https://github.com/halostatue/diff-lcs/issues/5
|
363
|
+
[#6]: https://github.com/halostatue/diff-lcs/issues/6
|
364
|
+
[#8]: https://github.com/halostatue/diff-lcs/pull/8
|
365
|
+
[#9]: https://github.com/halostatue/diff-lcs/pull/9
|
366
|
+
[#10]: https://github.com/halostatue/diff-lcs/pull/10
|
367
|
+
[#12]: https://github.com/halostatue/diff-lcs/issues/12
|
368
|
+
[#13]: https://github.com/halostatue/diff-lcs/pull/13
|
369
|
+
[#15]: https://github.com/halostatue/diff-lcs/pull/15
|
370
|
+
[#18]: https://github.com/halostatue/diff-lcs/pull/18
|
371
|
+
[#21]: https://github.com/halostatue/diff-lcs/issues/21
|
372
|
+
[#23]: https://github.com/halostatue/diff-lcs/pull/23
|
373
|
+
[#25]: https://github.com/halostatue/diff-lcs/pull/25
|
374
|
+
[#29]: https://github.com/halostatue/diff-lcs/pull/29
|
375
|
+
[#33]: https://github.com/halostatue/diff-lcs/issues/33
|
376
|
+
[#34]: https://github.com/halostatue/diff-lcs/pull/34
|
377
|
+
[#35]: https://github.com/halostatue/diff-lcs/issues/35
|
378
|
+
[#36]: https://github.com/halostatue/diff-lcs/pull/36
|
379
|
+
[#38]: https://github.com/halostatue/diff-lcs/issues/38
|
380
|
+
[#43]: https://github.com/halostatue/diff-lcs/issues/43
|
381
|
+
[#44]: https://github.com/halostatue/diff-lcs/issues/44
|
382
|
+
[#47]: https://github.com/halostatue/diff-lcs/pull/47
|
383
|
+
[#48]: https://github.com/halostatue/diff-lcs/issues/48
|
384
|
+
[#49]: https://github.com/halostatue/diff-lcs/pull/49
|
385
|
+
[#52]: https://github.com/halostatue/diff-lcs/pull/52
|
386
|
+
[#53]: https://github.com/halostatue/diff-lcs/issues/53
|
387
|
+
[#57]: https://github.com/halostatue/diff-lcs/issues/57
|
388
|
+
[#58]: https://github.com/halostatue/diff-lcs/pull/58
|
389
|
+
[#59]: https://github.com/halostatue/diff-lcs/pull/59
|
390
|
+
[#60]: https://github.com/halostatue/diff-lcs/issues/60
|
391
|
+
[#61]: https://github.com/halostatue/diff-lcs/pull/61
|
392
|
+
[#63]: https://github.com/halostatue/diff-lcs/issues/63
|
393
|
+
[#65]: https://github.com/halostatue/diff-lcs/issues/65
|
394
|
+
[#69]: https://github.com/halostatue/diff-lcs/issues/69
|
395
|
+
[#71]: https://github.com/halostatue/diff-lcs/issues/71
|
396
|
+
[#72]: https://github.com/halostatue/diff-lcs/issues/72
|
397
|
+
[#73]: https://github.com/halostatue/diff-lcs/issues/73
|
398
|
+
[#75]: https://github.com/halostatue/diff-lcs/issues/75
|
399
|
+
[#79]: https://github.com/halostatue/diff-lcs/issues/79
|
400
|
+
[#80]: https://github.com/halostatue/diff-lcs/issues/80
|
data/Manifest.txt
CHANGED
@@ -6,7 +6,6 @@ License.md
|
|
6
6
|
Manifest.txt
|
7
7
|
README.rdoc
|
8
8
|
Rakefile
|
9
|
-
autotest/discover.rb
|
10
9
|
bin/htmldiff
|
11
10
|
bin/ldiff
|
12
11
|
docs/COPYING.txt
|
@@ -14,6 +13,7 @@ docs/artistic.txt
|
|
14
13
|
lib/diff-lcs.rb
|
15
14
|
lib/diff/lcs.rb
|
16
15
|
lib/diff/lcs/array.rb
|
16
|
+
lib/diff/lcs/backports.rb
|
17
17
|
lib/diff/lcs/block.rb
|
18
18
|
lib/diff/lcs/callbacks.rb
|
19
19
|
lib/diff/lcs/change.rb
|
@@ -24,8 +24,30 @@ lib/diff/lcs/ldiff.rb
|
|
24
24
|
lib/diff/lcs/string.rb
|
25
25
|
spec/change_spec.rb
|
26
26
|
spec/diff_spec.rb
|
27
|
+
spec/fixtures/aX
|
28
|
+
spec/fixtures/bXaX
|
27
29
|
spec/fixtures/ds1.csv
|
28
30
|
spec/fixtures/ds2.csv
|
31
|
+
spec/fixtures/ldiff/output.diff
|
32
|
+
spec/fixtures/ldiff/output.diff-c
|
33
|
+
spec/fixtures/ldiff/output.diff-e
|
34
|
+
spec/fixtures/ldiff/output.diff-f
|
35
|
+
spec/fixtures/ldiff/output.diff-u
|
36
|
+
spec/fixtures/ldiff/output.diff.chef
|
37
|
+
spec/fixtures/ldiff/output.diff.chef-c
|
38
|
+
spec/fixtures/ldiff/output.diff.chef-e
|
39
|
+
spec/fixtures/ldiff/output.diff.chef-f
|
40
|
+
spec/fixtures/ldiff/output.diff.chef-u
|
41
|
+
spec/fixtures/ldiff/output.diff.chef2
|
42
|
+
spec/fixtures/ldiff/output.diff.chef2-c
|
43
|
+
spec/fixtures/ldiff/output.diff.chef2-d
|
44
|
+
spec/fixtures/ldiff/output.diff.chef2-e
|
45
|
+
spec/fixtures/ldiff/output.diff.chef2-f
|
46
|
+
spec/fixtures/ldiff/output.diff.chef2-u
|
47
|
+
spec/fixtures/new-chef
|
48
|
+
spec/fixtures/new-chef2
|
49
|
+
spec/fixtures/old-chef
|
50
|
+
spec/fixtures/old-chef2
|
29
51
|
spec/hunk_spec.rb
|
30
52
|
spec/issues_spec.rb
|
31
53
|
spec/lcs_spec.rb
|
data/README.rdoc
CHANGED
@@ -4,8 +4,7 @@ home :: https://github.com/halostatue/diff-lcs
|
|
4
4
|
code :: https://github.com/halostatue/diff-lcs
|
5
5
|
bugs :: https://github.com/halostatue/diff-lcs/issues
|
6
6
|
rdoc :: http://rubydoc.info/github/halostatue/diff-lcs
|
7
|
-
continuous integration :: {<img src="https://
|
8
|
-
test coverage :: {<img src="https://coveralls.io/repos/halostatue/diff-lcs/badge.svg" alt="Coverage Status" />}[https://coveralls.io/r/halostatue/diff-lcs]
|
7
|
+
continuous integration :: {<img src="https://github.com/halostatue/diff-lcs/workflows/CI/badge.svg" />}[https://github.com/halostatue/diff-lcs/actions]
|
9
8
|
|
10
9
|
== Description
|
11
10
|
|
@@ -13,10 +12,15 @@ Diff::LCS computes the difference between two Enumerable sequences using the
|
|
13
12
|
McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities
|
14
13
|
to create a simple HTML diff output format and a standard diff-like tool.
|
15
14
|
|
16
|
-
This is release 1.3, providing a
|
17
|
-
|
18
|
-
|
19
|
-
|
15
|
+
This is release 1.4.3, providing a simple extension that allows for
|
16
|
+
Diff::LCS::Change objects to be treated implicitly as arrays and fixes a
|
17
|
+
number of formatting issues.
|
18
|
+
|
19
|
+
Ruby versions below 2.5 are soft-deprecated, which means that older versions
|
20
|
+
are no longer part of the CI test suite. If any changes have been introduced
|
21
|
+
that break those versions, bug reports and patches will be accepted, but it
|
22
|
+
will be up to the reporter to verify any fixes prior to release. The next
|
23
|
+
major release will completely break compatibility.
|
20
24
|
|
21
25
|
== Synopsis
|
22
26
|
|
@@ -78,7 +82,3 @@ The algorithm is described in <em>A Fast Algorithm for Computing Longest Common
|
|
78
82
|
Subsequences</em>, CACM, vol.20, no.5, pp.350-353, May 1977, with a few minor
|
79
83
|
improvements to improve the speed. A simplified description of the algorithm,
|
80
84
|
originally written for the Perl version, was written by Mark-Jason Dominus.
|
81
|
-
|
82
|
-
:include: Contributing.rdoc
|
83
|
-
|
84
|
-
:include: License.rdoc
|