-
Notifications
You must be signed in to change notification settings - Fork 5
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
Treeification of Variation Diffs #67
Conversation
… remove it later.
…o DiffNode::assertConsistency
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks mostly good to me. The only bug I found is in DiffNode.toTextDiff
but I request some API and implementation changes. I also added many nitpicks.
Thanks for the good commit hygiene (apart from 40cbe25 which could be split up next time to separate unrelated changes). Although some commit messages could provide a bit more context.
src/main/java/org/variantsync/diffdetective/variation/diff/DiffNode.java
Outdated
Show resolved
Hide resolved
src/main/java/org/variantsync/diffdetective/variation/diff/DiffNode.java
Outdated
Show resolved
Hide resolved
src/main/java/org/variantsync/diffdetective/variation/diff/DiffNode.java
Outdated
Show resolved
Hide resolved
src/main/java/org/variantsync/diffdetective/variation/diff/DiffNode.java
Outdated
Show resolved
Hide resolved
src/main/java/org/variantsync/diffdetective/variation/diff/DiffNode.java
Outdated
Show resolved
Hide resolved
src/main/java/org/variantsync/diffdetective/variation/diff/bad/DiffLineNumberRange.java
Outdated
Show resolved
Hide resolved
src/main/java/org/variantsync/diffdetective/variation/tree/VariationTree.java
Outdated
Show resolved
Hide resolved
src/main/java/org/variantsync/diffdetective/variation/tree/VariationTree.java
Outdated
Show resolved
Hide resolved
src/main/java/org/variantsync/diffdetective/variation/tree/VariationNode.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems good to go. Once the open conversations are resolve this can be merge.
Use `Time.forAll` in `BadVDiff.fromGood`
This PR introduces
BadVDiff
s (Bad Variation Diffs) that are an alternative representation of variation diffs as trees instead of directed acyclic graphs. ABadVDiff
is a variation diff in which any shared subtrees (i.e., sub-variation-diffs below a diamond structure) are duplicated to make the diff become a tree. This enables us to partly reuse existing functionality and research on variational tree languages, such as partial configurations.