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.
Adds a diffing tool to the service spec repository. Its goal is to print the differences between 2 database files, in terms of services and their properties added, removed and updated. By default, the diff is printed in a nice ASCII art tree, but it can also be printed in JSON format by passing the
--json
flag.This diff tool will be used in the future to make sure that when we refactor how the spec database is loaded, we can ensure that the database before the refactor and after the refactor is the same (because the diff will be empty).
We've decided that while the
tskb
project could potentially support a generic database-level diff, it's probably easiest for now to just diff at the application level (i.e., the code doing the diffing knows about services, resources, properties and attributes).service-spec-types
package.service-spec-build
package.NOTE: the ASCII tree print is currently broken, but we are merging this early because we need the diffing functionality itself to validate other changes.