diff-lcs 1.4.4 → 1.5.1

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