Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unify API #1

Closed
lassevk opened this issue May 28, 2015 · 1 comment
Closed

Unify API #1

lassevk opened this issue May 28, 2015 · 1 comment
Assignees
Milestone

Comments

@lassevk
Copy link
Owner

lassevk commented May 28, 2015

The API is divided into two distinct sections now, the aligned diffs, and the unaligned diffs. These have different method signatures and different result types.

For v2, a complete overhaul of the entire API is planned, unifying the API into one common API that handles both cases, depending on behaviors or parameterization to signal whether an aligned diff is requested or not.

@lassevk lassevk added this to the v2 milestone May 28, 2015
@lassevk lassevk self-assigned this May 28, 2015
@lassevk
Copy link
Owner Author

lassevk commented Jul 23, 2015

New API almost done, will separate the old unaligned diff and the old aligned diff with two new types, diff sections and diff elements. The basic diff output is sections, specifying sections of elements from the two collections that were matched or unable to be matched. These sections may contain numerous elements on both sides.

Sections can be fed to an alignment implementation that will attempt, for each section, to align elements within. The result is a sequence of diff elements, where each such element can hold at most one element from each collection, but can also specify "holes" in terms of missing elements. As an example, an element that only occurs in the second collection is considered to be an inserted element, and will be "aligned" with a missing element form the first collection in the right place in the sequence.

@lassevk lassevk closed this as completed Jul 23, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant