summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Attempt to sorbetize #1sorbetAustin Ziegler2020-07-0331-103/+17227
|
* WIPAustin Ziegler2020-07-016-47/+73
|
* Merge pull request #66 from halostatue/misplaced-chunk-issue-65v1.4.4Austin Ziegler2020-07-0129-201/+565
|\ | | | | diff-lcs 1.4.4 - Fix broken formatting
| * diff-lcs 1.4.4 - Fix broken formattingmisplaced-chunk-issue-65Austin Ziegler2020-07-012-49/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Resolve #65: Two different issues were reported: - Line numbers changed between 1.3 and 1.4. This change is intentional, but in comparing the output against `diff` for the new examples provided it became clear that for unified and context diffs, the last hunk was reporting incorrect hunk lengths (that is, if it was `12,4 11,8`, it should have been `12,3 11,7`. This has been resolved by providing `Diff::LCS::Hunk#diff` an additional parameter, `last` which defaults to `false`. - Net new lines were added in the middle of a unified diff hunk, which was incorrect. That is, we were getting: ```diff @@ -10,6 +11,10 @@ recipe[j::default] recipe[k::default] recipe[l::default] +recipe[o::new] +recipe[p::new] +recipe[q::new] +recipe[r::new] recipe[m::default] recipe[n::default] ``` instead of: ```diff @@ -12,3 +11,7 @@ recipe[l::default] recipe[m::default] recipe[n::default] +recipe[o::new] +recipe[p::new] +recipe[q::new] +recipe[r::new] ``` This has been resolved. The error was that `Diff::LCS::Block#diff_size` was applying `.abs` to its output, which is incorrect. We need to know the direction of the size for placing changes, but when determining the maximum block size for use in `Diff::LCS::Hunk#diff` calculations, we need to know the `.abs` size. - New tests were added to prevent these changes from regressing in the future, both as issue tests and as additional `ldiff` tests. These tests highlighted more issues with diff-lcs output as compared to `diff`, specifically the handling and reporting of missing newlines at the end of files. All of the issues highlighted were resolved and the structure of `ldiff` tests was changed so that it is easier to add new comparison files at any time. - Resolve #35: Indicate that when comparing against custom objects, `#eql?` must be implemented such that objects that _resolve_ to the same meaning are _treated_ as the same meaning. This is important because the basic LCS algorithm uses a hash for position matching. - Resolve #43: Provide a more meaningful error from `Diff::LCS::Hunk.new` if the `piece` provided does not create useful `Diff::LCS::Block`. It's extremely unlikely, this error will be more useful than `NoMethodError` being thrown. - Resolve #44: `ldiff` binary detection failed to work correctly. It had been `!old_text or !new_text`, but the precedence of `or` broke that. It is now `!old_text || !new_text`. Also: - Ran Rubocop again. Updated configuration definitions, fixed some code formatting.
| * # This is a combination of 9 commits.Austin Ziegler2020-07-0128-152/+455
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # This is the 1st commit message: Fix improperly placed chunks Resolve #65 - Also add even more tests for checking `ldiff` results against `diff` results. - Fix issues with diff/ldiff output highlighted by the above tests. - Add a parameter to indicate that the hunk being processed is the _last_ hunk; this results in correct counting of the hunk size. - The misplaced chunks were happening because of an improper `.abs` on `#diff_size`, when the `.abs` needed to be on the finding of the maximum diff size. # This is the commit message #2: Ooops. Debugger # This is the commit message #3: Restore missing test - Fix some more format issues raised by the missing test. - Start fixing Rubocop formatting. # This is the commit message #4: Last RuboCop fixes # This is the commit message #5: Finalize diff-lcs 1.4 # This is the commit message #6: Fix #44 The problem here was the precedence of `or` vs `||`. Switching to `||` resulted in the expected behaviour. # This is the commit message #7: Resolve #43 # This is the commit message #8: Typo # This is the commit message #9: Resolve #35 with a comment
* Release v1.4.3v1.4.3Austin Ziegler2020-06-293-11/+27
| | | | - Clarify the compatibility policy some.
* Merge pull request #64 from halostatue/fix-ruby-1.8-supportAustin Ziegler2020-06-296-11/+40
|\ | | | | Fix some issues with 1.4 on older Rubies
| * Fix some issues with 1.4 on older Rubiesfix-ruby-1.8-supportAustin Ziegler2020-06-286-11/+40
|/ | | | | - Required to fully support rspec. - Resolves #63.
* Merge pull request #61 from halostatue/fix-issue-60v1.4.2Austin Ziegler2020-06-239-20/+92
|\ | | | | Change when max_diff_size is applied
| * Fix filename substitutionAustin Ziegler2020-06-231-7/+8
| |
| * Test fix for timestamp issueAustin Ziegler2020-06-231-2/+2
| |
| * Change when max_diff_size is appliedAustin Ziegler2020-06-239-14/+85
| | | | | | | | | | | | | | - This appears to satisfy the issues found in #60 as well as providing the additional fixes required to properly test ldiff. Resolves #60
* | Merge pull request #59 from CamilleDrapier/camille/fix_rubocop_typoAustin Ziegler2020-06-231-1/+1
|\ \ | |/ |/| Fix Styel/NumericPredicate has the wrong namespace - should be Style
| * Fix typo for rubocop cop namspacecamille2020-06-241-1/+1
|/
* Merge pull request #58 from halostatue/fix-issue-57v1.4.1Austin Ziegler2020-06-237-27/+25
|\ | | | | Fix an issue with negative hunk max_size
| * Change test runnerAustin Ziegler2020-06-231-1/+1
| |
| * Fix windows test failuresAustin Ziegler2020-06-231-6/+8
| |
| * Fix an issue with negative hunk max_sizeAustin Ziegler2020-06-235-20/+16
|/ | | | | | | Resolves #57. - The `diff_size` should be an absolute value. - Added a test to ensure that the issue does not introduce a regression.
* Merge pull request #55 from halostatue/release-v14v1.4Austin Ziegler2020-06-225-36/+21
|\ | | | | Prepare for 1.4 release
| * Finalize 1.4 releaseAustin Ziegler2020-06-225-36/+21
|/ | | | | | | | - Use GitHub Actions - Exclude windows code from non-windows tests - Exclude unsupported windows tests and allow windows failures for now because of line-ending differences - Remove Travis configuration
* Try GitHub Actions for diff-lcs CIAustin Ziegler2020-06-221-0/+48
|
* Merge pull request #54 from halostatue/hoe-3-18-supportAustin Ziegler2020-06-226-308/+304
|\ | | | | Various updates for v 1.4
| * Various updates for v 1.4Austin Ziegler2020-06-226-308/+304
|/ | | | | - Support hoe >= 3.18 - Various bug fixes and updates
* Merge pull request #52 from bjfish/add-truffleruby-to-ciAustin Ziegler2020-06-221-0/+1
|\ | | | | Add truffleruby to travis CI
| * Add truffleruby to travis CIBrandon Fish2020-01-071-0/+1
|/
* Resolve multiple issues for 1.4Austin Ziegler2019-02-0415-48/+148
| | | | | | | | | | | | | - Resolve ldiff output issues: Resolves #5 and #6 by adding system-output comparison calls to `bin/ldiff` compared against some pre-generated output. There is some timestamp manipulation involved with the output comparison, as the timestamps are unstable because of the way that git clone works. - Resolved a problem with bin/ldiff --context output. - Resolved a Numeric/Integer OptParse issue: later versions of Ruby had problems working with an `OptParse` option specification of `Numeric`; this has been changed to `Integer`.
* Update documentationAustin Ziegler2019-02-012-3/+3
|
* Reintroduce Diff::LCS::Change#to_aryAustin Ziegler2019-02-018-62/+116
| | | | | | | | | | | - This required some level of code remediation in the main library, but all tests now pass: - Patchsets are now internally flattened one level explicitly, rather than using Array#flatten. This ensures that only the outer patchset array is flattened. Fixes #48.
* Applied Rubocop rules that I likeAustin Ziegler2019-01-2736-818/+1002
| | | | | - Other linting configuration also applied. - Soft-deprecating versions older than 2.3.
* Revert PR#47 "Add #to_ary to Diff::LCS::Change…"Austin Ziegler2019-01-273-42/+0
| | | | | | | | | | This reverts commits 01e0cae and 3b4d2be because they introduce fatally breaking changes in the tests that were hidden by broken CI. * 01e0cae: Add #to_ary to Diff::LCS::Change and Diff::LCS::ContextChange [Akinori MUSHA] * 3b4d2be: Mention in rdoc that Diff::LCS::ContextChange can be converted to an array [Akinori MUSHA]
* Make travis test the right things...Austin Ziegler2019-01-261-4/+1
|
* Mention in rdoc that Diff::LCS::ContextChange can be converted to an arrayAkinori MUSHA2019-01-261-0/+14
|
* Add #to_ary to Diff::LCS::Change and Diff::LCS::ContextChangeAkinori MUSHA2019-01-262-0/+28
| | | | | | | | | | | | | | | | | It would be quite handy if you could write as follows: ```ruby Diff::LCS.sdiff(a, b).each do |action, (old_position, old_element), (new_position, new_element)| case action when '!' # replace when '-' # delete when '+' # insert end end ```
* Merge pull request #42 from nicolasleger/patch-1Austin Ziegler2018-02-121-4/+5
|\
| * [CI] Test against Ruby 2.5Nicolas Leger2018-02-121-4/+5
|/
* Small README fixAustin Ziegler2017-01-181-4/+0
|
* Using SPDX license descriptions for releasev1.3Austin Ziegler2017-01-182-2/+2
|
* Fix Ruby 1.8 build issuesAustin Ziegler2017-01-181-1/+2
|
* Merge pull request #39 from halostatue/spec-cleanupAustin Ziegler2017-01-1831-772/+1028
|\ | | | | Various diff-lcs Fixes
| * diff-lcs 1.3Austin Ziegler2017-01-1831-743/+1007
| | | | | | | | | | | | | | | | | | | | | | - Updated testing and gem infrastructure. - Cleaning up documentation. - Modernizing specs. - Silence Ruby 2.4 Fixnum deprecation warnings. Fixes #36, #38. - Ensure test dependencies are loaded. Fixes #33, #34 so that specs can be run independently. - Fix issue #1 with incorrect intuition of patch direction. Tentative fix, but the failure cases pass now.
| * Fixing Coveralls for testing.Austin Ziegler2017-01-113-32/+24
|/
* Merge pull request #31 from apuratepp/udpate-url-in-gemspecAustin Ziegler2015-01-291-1/+1
|\ | | | | Update Homepage URL in gemspec file
| * Update Homepage URL in gemspec fileJosep2015-01-291-1/+1
|/
* Fixing travis execution.Austin Ziegler2014-04-261-1/+2
|
* Bumping version in preparation for next release.Austin Ziegler2014-04-263-15/+21
|
* Fix travis builds.Austin Ziegler2014-04-261-10/+23
|
* Merge pull request #29 from GoBoundless/fix_compareAustin Ziegler2014-04-261-0/+2
|\ | | | | update Change and ContextChange's '==' methods to compare against the other object's class
| * update Diff::LCS::Change and Diff::LCS::ContextChange's '==' methods to ↵Kevin Mook2014-04-231-0/+2
| | | | | | | | compare against the other object's class
* | Point to the GitHub repo as home.Austin Ziegler2014-04-261-1/+1
| | | | | | | | | | | | | | - Until I can work up a better page. Fixes #26. Fixes #28.
* | Fixing a banner bug with bin/ldiffAustin Ziegler2014-04-261-1/+1
| | | | | | | | Fixes #21.