Fix build_id not changed when a file is renamed #227
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.
Shiv has to take filenames into account when calculating build_id, otherwise if the only change in the zipapp is a rename - this will result in the same build_id, and the newly built zipapp won't be unpacked if there's already an older version in the cache. This is obviously an issue for zipapps which contain data files (i.e. not referenced by code directly); for example, this may break "preamble" if the preamble file is renamed but the rest of the archive remains the same - if the zipapp has already been executed, the new preamble file will be called but an old cache folder will be used, where the file is called differently.