mirror of https://github.com/databricks/cli.git
40ae23bb33
## Changes This PR pays some tech debt by refactoring sync diff computation into interfaces that are more robust. Specifically: 1. Refactor the single diff computation function into a `SnapshotState` class that computes the target state only based on the current local files making it more robust and not carrying over state from previous iterations. 2. Adds new validations for the sync state which make sure that the invariants that downstream code expects are actually held true. This prevents a class of issues where these invariants break and the synchroniser behaves unexpectedly. Note, this does not change the existing schema for the snapshot, only the way the diff is computed, and thus is backwards compatible (ie does not require a schema version bump). ## Tests <!-- How is this tested? --> |
||
---|---|---|
.. | ||
invalid-nb.ipynb | ||
my-nb.py | ||
my-script.py | ||
valid-nb.ipynb |