Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request is centered around fixing cucumber/common#220
I recently discovered this exact problem and thought I'd give fixing it a shot...
I guess the real "issue" here is the LCS algorithm - Longest Common Sequence. Sequence, or order, being the operative word.
Once a table is out of sequence, Diff:LCS.diff will report a bunch of diffs. It's the way the diffs are handled as surplus or missing that could be an issue here...
The attempt with this patch is to post-process these diffs and try to remove any complementary rows (identical row marked as added and missing)
I think there could be complications/issues in reporting the diffs - but all the specs pass... Could someone take a quick look at the two lines commented out? If I leave them in, I get failure in the complex diff spec.