Smooth out differences in "./" paths #2915
Merged
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.
Impact
Description
To make changeset path tracking more user friendly and to support differences that crop up between versions, we normalize paths coming into liquibase and coming out of the databasechangelog table in order to provide fuzzy matching. For example, currently we ignore things like "classpath:" or / vs. \ differences.
This updates the fuzzy matching logic to also ignore paths that start with
./
or might contain/./
blocks within it.There are earlier versions and some configurations of liquibase which stored paths like
./com/example/changelog.xml
which is logically identical tocom/example/changelog.xml
and we should not see those paths as different.Fixes #2259
Things to be aware of
./
and see that it no longer sees the changeset as different. Or by changing thechangelog-file
setting to have a./
at the beginning after previously having ran it withoutThings to worry about