Change large file exclude by type to per session ignore support #142
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.
Use of composer artifact repositories requires that .zip files be synchronized into the FPM containers. The change to exclude large files (.sql, *.gz, *.zip, *.bz2) from sync sessions broke the ability to use these without individually mounting each zip in the artifact repository into the container. It also disrupted some data migration routines that leverage SQL scripts.
This PR accomplishes the following:
a) Removes the file extension based excludes
b) Introduces
WARDEN_SYNC_IGNORE
setting for use on a per-project basis for setting a comma-separated list of additional ignores to Mutagen when the sync session is startedExample Use Case
In a project using a flat repository layout (i.e. does NOT leverage a custom web root such as this project template does) there are cases where extremely large back fill files may be downloaded from an FTP server into the project root for no other purpose than (for example) expanding a media archive on to of pub/media. There is no reason these files need to be nor should be synced into the FPM containers, and doing so can cause side-effects like long wait to start the sync sessions and/or extended CPU spikes as multi-GB files are copied into the container on a macOS setup.
To prevent the above from happening, the following will add a single exclude rule to prevent anything in the
./backfill
directory from synchronizing into the container giving the user a place to download these large files:Another example would be using this to exclude files by-type (similar to what 0.4.0 had begun to do, and which this PR unravels) to simply exclude files of these types from being synchronized into the containers across the board on a per-project basis: