diff-lcs 1.4.1 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Contributing.md +84 -49
- data/History.md +246 -93
- data/Manifest.txt +15 -1
- data/README.rdoc +9 -8
- data/Rakefile +84 -3
- data/lib/diff/lcs/backports.rb +1 -1
- data/lib/diff/lcs/block.rb +1 -1
- data/lib/diff/lcs/hunk.rb +118 -48
- data/lib/diff/lcs/internals.rb +7 -3
- data/lib/diff/lcs/ldiff.rb +16 -20
- data/lib/diff/lcs.rb +32 -25
- data/spec/fixtures/ldiff/output.diff-c +2 -2
- data/spec/fixtures/ldiff/output.diff-u +2 -2
- 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 +21 -10
- data/spec/issues_spec.rb +90 -3
- data/spec/ldiff_spec.rb +44 -31
- data/spec/spec_helper.rb +26 -25
- data/spec/traverse_sequences_spec.rb +2 -4
- metadata +36 -15
- data/autotest/discover.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0df61a794bf8b132a80753391063526ffc15277d5f2dc592d319d37255d3700f
|
4
|
+
data.tar.gz: 9664b2f8338ff376bf7b4c9c1ae45e591e789b00b726a53523a2076f014aa5e0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 37e529e14e23a3c121f3d5cc3f88fbed90d9efe44376bb579699126c2c1d2ea34649a079902dca42cb72f891daa27e347c99b2e0a32b58245117dd2567af2db0
|
7
|
+
data.tar.gz: 30576530bd6e1634635989729caeeaed68b9268423b659443b95abc66549491376f179b558b07dc8cc9bcf14f2768433d771c037514ec720a21a43dc9c197a5f
|
data/Contributing.md
CHANGED
@@ -1,32 +1,35 @@
|
|
1
1
|
## Contributing
|
2
2
|
|
3
|
-
I value any contribution to Diff::LCS you can provide: a bug report, a
|
4
|
-
request, or code contributions. Code contributions to Diff::LCS are
|
5
|
-
<del>welcome</del>encouraged. Because Diff::LCS is a complex
|
6
|
-
are a few guidelines:
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
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
18
|
|
19
19
|
### Test Dependencies
|
20
20
|
|
21
|
-
Diff::LCS uses Ryan Davis’s [Hoe][] to manage the release process, and it
|
22
|
-
a number of rake tasks. You will mostly be interested in:
|
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
23
|
|
24
|
-
|
24
|
+
```sh
|
25
|
+
$ rake
|
26
|
+
```
|
25
27
|
|
26
28
|
which runs the tests the same way that:
|
27
29
|
|
28
|
-
|
29
|
-
|
30
|
+
```sh
|
31
|
+
$ rake spec
|
32
|
+
```
|
30
33
|
|
31
34
|
will do.
|
32
35
|
|
@@ -34,51 +37,83 @@ To assist with the installation of the development dependencies, I have
|
|
34
37
|
provided a Gemfile pointing to the (generated) `diff-lcs.gemspec` file. This
|
35
38
|
will permit you to do:
|
36
39
|
|
37
|
-
|
40
|
+
```sh
|
41
|
+
$ bundle install
|
42
|
+
```
|
38
43
|
|
39
44
|
to get the development dependencies. If you aleady have `hoe` installed, you
|
40
45
|
can accomplish the same thing with:
|
41
46
|
|
42
|
-
|
47
|
+
```sh
|
48
|
+
$ rake newb
|
49
|
+
```
|
43
50
|
|
44
51
|
This task will install any missing dependencies, run the tests/specs, and
|
45
52
|
generate the RDoc.
|
46
53
|
|
47
54
|
You can run tests with code coverage analysis by running:
|
48
55
|
|
49
|
-
|
56
|
+
```sh
|
57
|
+
$ rake spec:coverage
|
58
|
+
```
|
50
59
|
|
51
60
|
### Workflow
|
52
61
|
|
53
62
|
Here's the most direct way to get your work merged into the project:
|
54
63
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
change does and the why you think it should be merged.
|
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.
|
65
73
|
|
66
74
|
### Contributors
|
67
75
|
|
68
|
-
|
69
|
-
|
70
|
-
Thanks to everyone else who has contributed to Diff::LCS:
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
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
|
+
- Tien (@tiendo1011)
|
114
|
+
- Tomas Jura
|
115
|
+
- Vít Ondruch
|
116
|
+
|
117
|
+
[rspec]: http://rspec.info/documentation/
|
83
118
|
[quality commit messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
84
|
-
[
|
119
|
+
[hoe]: https://github.com/seattlerb/hoe
|
data/History.md
CHANGED
@@ -1,45 +1,161 @@
|
|
1
1
|
# History
|
2
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
|
+
|
3
106
|
## 1.4 / 2020-06-23
|
4
107
|
|
5
|
-
- Ruby versions lower than 2.4 are soft-deprecated and will not be run as
|
6
|
-
|
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
|
+
|
7
111
|
- Akinora MUSHA (knu) added the ability for Diff::LCS::Change objects to be
|
8
|
-
implicitly treated arrays. Originally provided as pull request [#47]
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
tests.
|
14
|
-
|
15
|
-
|
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
|
+
|
16
122
|
- Resolved an issue with later versions of Ruby not working with an `OptParse`
|
17
123
|
specification of `Numeric`; this has been changed to `Integer`.
|
18
|
-
|
19
|
-
-
|
124
|
+
|
125
|
+
- Brandon Fish added truffleruby in [#52].
|
126
|
+
|
127
|
+
- Fixed two missing classes as reported in [#53].
|
20
128
|
|
21
129
|
## 1.3 / 2017-01-18
|
22
130
|
|
23
131
|
- Bugs fixed:
|
24
132
|
|
25
|
-
- Fixed an error for bin/ldiff --version. Fixes issue [#21]
|
133
|
+
- Fixed an error for bin/ldiff --version. Fixes issue [#21].
|
134
|
+
|
26
135
|
- Force Diff::LCS::Change and Diff::LCS::ContextChange to only perform
|
27
|
-
equality comparisons against themselves. Provided by Kevin Mook in
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
-
|
34
|
-
|
35
|
-
|
36
|
-
|
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].
|
144
|
+
|
145
|
+
- Ensure that test dependencies are loaded properly. Fixes issue [#33] and
|
146
|
+
pull request [#34].
|
147
|
+
|
148
|
+
- Fix issue [#1] with incorrect intuition of patch direction. Tentative fix,
|
149
|
+
but the previous failure cases pass now.
|
37
150
|
|
38
151
|
- Tooling changes:
|
39
152
|
|
40
153
|
- Added SimpleCov and Coveralls support.
|
154
|
+
|
41
155
|
- Change the homepage (temporarily) to the GitHub repo.
|
156
|
+
|
42
157
|
- Updated testing and gem infrastructure.
|
158
|
+
|
43
159
|
- Modernized the specs.
|
44
160
|
|
45
161
|
- Cleaned up documentation.
|
@@ -50,20 +166,19 @@
|
|
50
166
|
|
51
167
|
- Bugs fixed:
|
52
168
|
|
53
|
-
- Comparing arrays flattened them too far, especially with
|
54
|
-
|
169
|
+
- Comparing arrays flattened them too far, especially with Diff::LCS.sdiff.
|
170
|
+
Fixed by Josh Bronson in pull request [#23].
|
55
171
|
|
56
172
|
## 1.2.4 / 2013-04-20
|
57
173
|
|
58
174
|
- Bugs fixed:
|
59
175
|
|
60
|
-
- A bug was introduced after 1.1.3 when pruning common sequences at the
|
61
|
-
|
62
|
-
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!
|
63
178
|
|
64
|
-
- The Rubinius (1.9 mode) bug in [rubinius/rubinius#2268]
|
65
|
-
|
66
|
-
|
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!
|
67
182
|
|
68
183
|
- Switching to Raggi's hoe-gemspec2 for gemspec generation.
|
69
184
|
|
@@ -73,94 +188,106 @@
|
|
73
188
|
|
74
189
|
- The new encoding detection for diff output generation (added in 1.2.2)
|
75
190
|
introduced a bug if the left side of the comparison was the empty set.
|
76
|
-
Originally found in [rspec/rspec-expectations#238]
|
77
|
-
[rspec/rspec-expectations#239]
|
78
|
-
|
79
|
-
|
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.
|
194
|
+
|
80
195
|
- There is a known issue with Rubinius in 1.9 mode reported in
|
81
|
-
[rubinius/rubinius#2268]
|
82
|
-
|
83
|
-
|
84
|
-
|
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.
|
85
200
|
|
86
201
|
## 1.2.2 / 2013-03-30
|
87
202
|
|
88
203
|
- Bugs Fixed:
|
89
204
|
|
90
|
-
- Diff::LCS::Hunk could not properly generate a difference for comparison
|
91
|
-
|
92
|
-
|
93
|
-
[rspec/rspec-expectations#219]
|
94
|
-
|
95
|
-
|
96
|
-
the
|
97
|
-
|
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
|
+
|
98
213
|
- Adding Travis CI testing for Ruby 2.0.
|
99
214
|
|
100
215
|
## 1.2.1 / 2013-02-09
|
101
216
|
|
102
217
|
- Bugs Fixed:
|
103
218
|
|
104
|
-
- As seen in [rspec/rspec-expectations#200]
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
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.
|
112
226
|
|
113
227
|
## 1.2.0 / 2013-01-21
|
114
228
|
|
115
229
|
- Minor Enhancements:
|
116
230
|
|
117
|
-
- Added special case handling for Diff::LCS.patch so that it handles
|
118
|
-
|
119
|
-
|
120
|
-
|
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.
|
121
235
|
|
122
236
|
- Bugs Fixed:
|
123
237
|
|
124
|
-
- Fixed issue [#1]
|
125
|
-
|
238
|
+
- Fixed issue [#1] patch direction detection.
|
239
|
+
|
240
|
+
- Resolved issue [#2] by handling `string[string.size, 1]` properly (it
|
126
241
|
returns `""` not `nil`).
|
127
|
-
|
128
|
-
|
242
|
+
|
243
|
+
- Michael Granger (ged) fixed an implementation error in Diff::LCS::Change and
|
244
|
+
added specs in pull request [#8]. Thanks!
|
245
|
+
|
129
246
|
- Made the code auto-testable.
|
130
|
-
|
131
|
-
|
247
|
+
|
248
|
+
- Vít Ondruch (voxik) provided the latest version of the GPL2 license file in
|
249
|
+
pull request [#10]. Thanks!
|
250
|
+
|
132
251
|
- Fixed a documentation issue with the includable versions of #patch! and
|
133
|
-
#unpatch! where they implied that they would replace the original
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
Thanks!
|
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!
|
139
257
|
|
140
258
|
- Code Style Changes:
|
141
259
|
|
142
260
|
- Removed trailing spaces.
|
261
|
+
|
143
262
|
- Calling class methods using `.` instead of `::`.
|
144
|
-
|
263
|
+
|
264
|
+
- Vít Ondruch (voxik) removed unnecessary shebangs in pull request [#9].
|
145
265
|
Thanks!
|
266
|
+
|
146
267
|
- Kenichi Kamiya (kachick) removed some warnings of an unused variable in
|
147
|
-
lucky pull request [#13]
|
148
|
-
|
149
|
-
|
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
|
+
|
150
273
|
- Adding to http://travis-ci.org.
|
151
274
|
|
152
275
|
## 1.1.3 / 2011-08-27
|
153
276
|
|
154
277
|
- Converted to 'hoe' for release.
|
278
|
+
|
155
279
|
- Converted tests to RSpec 2.
|
156
|
-
|
157
|
-
|
280
|
+
|
281
|
+
- Extracted the body of htmldiff into a class available from diff/lcs/htmldiff.
|
282
|
+
|
158
283
|
- Migrated development and issue tracking to GitHub.
|
284
|
+
|
159
285
|
- Bugs fixed:
|
160
286
|
|
161
|
-
- Eliminated the explicit use of RubyGems in both bin/htmldiff and
|
162
|
-
|
163
|
-
|
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].
|
164
291
|
|
165
292
|
## 1.1.2 / 2004-10-20
|
166
293
|
|
@@ -170,31 +297,38 @@
|
|
170
297
|
|
171
298
|
- Fixed bug #891 (Set returned from patch command does not contain last equal
|
172
299
|
part).
|
300
|
+
|
173
301
|
- Fixed a problem with callback initialisation code (it assumed that all
|
174
|
-
callbacks passed as classes can be initialised; now, it rescues
|
175
|
-
|
302
|
+
callbacks passed as classes can be initialised; now, it rescues NoMethodError
|
303
|
+
in the event of private :new being called).
|
304
|
+
|
176
305
|
- Modified the non-initialisable callbacks to have a private #new method.
|
306
|
+
|
177
307
|
- Moved ldiff core code to Diff::LCS::Ldiff (diff/lcs/ldiff.rb).
|
178
308
|
|
179
|
-
## 1.1.0
|
309
|
+
## 1.1.0
|
180
310
|
|
181
311
|
- Eliminated the need for Diff::LCS::Event and removed it.
|
312
|
+
|
182
313
|
- Added a contextual diff callback, Diff::LCS::ContextDiffCallback.
|
183
|
-
|
184
|
-
|
314
|
+
|
315
|
+
- Implemented patching/unpatching for standard Diff callback output formats with
|
316
|
+
both #diff and #sdiff.
|
317
|
+
|
185
318
|
- Extensive documentation changes.
|
186
319
|
|
187
320
|
## 1.0.4
|
188
321
|
|
189
|
-
- Fixed a problem with bin/ldiff output, especially for unified format.
|
190
|
-
|
191
|
-
|
192
|
-
|
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.
|
193
327
|
|
194
328
|
## 1.0.3
|
195
329
|
|
196
|
-
- Fixed a problem with #traverse_sequences where the first difference from
|
197
|
-
|
330
|
+
- Fixed a problem with #traverse_sequences where the first difference from the
|
331
|
+
left sequence might not be appropriately captured.
|
198
332
|
|
199
333
|
## 1.0.2
|
200
334
|
|
@@ -204,8 +338,10 @@
|
|
204
338
|
## 1.0.1
|
205
339
|
|
206
340
|
- Minor modifications to the gemspec, the README.
|
207
|
-
|
208
|
-
|
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
|
+
|
209
345
|
- Fixed issues with RubyGems. Requires RubyGems > 0.6.1 or >= 0.6.1 with the
|
210
346
|
latest CVS version.
|
211
347
|
|
@@ -238,10 +374,27 @@
|
|
238
374
|
[#29]: https://github.com/halostatue/diff-lcs/pull/29
|
239
375
|
[#33]: https://github.com/halostatue/diff-lcs/issues/33
|
240
376
|
[#34]: https://github.com/halostatue/diff-lcs/pull/34
|
377
|
+
[#35]: https://github.com/halostatue/diff-lcs/issues/35
|
241
378
|
[#36]: https://github.com/halostatue/diff-lcs/pull/36
|
242
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
|
243
382
|
[#47]: https://github.com/halostatue/diff-lcs/pull/47
|
244
383
|
[#48]: https://github.com/halostatue/diff-lcs/issues/48
|
245
384
|
[#49]: https://github.com/halostatue/diff-lcs/pull/49
|
246
385
|
[#52]: https://github.com/halostatue/diff-lcs/pull/52
|
247
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
|