AssetSync / asset_sync

Synchronises Assets between Rails and S3
1.88k stars 346 forks source link

Drop trailing slash of prefix in #get_local_files #425

Open alanbrent opened 2 years ago

alanbrent commented 2 years ago

The local filesystem glob in AssetSync::Storage#get_local_files uses fuzzy matching when config.prefix is present. This can present a problem in some cases, as it doesn't allow for distinguishing between (e.g.) a folder called assets/ and another folder called assets-temp/. A situation could arise where the latter folder has thousands/millions of files and we mistakenly publish local-only files, or worse we could clobber another directory in the bucket managed in a completely different context.

This change allows developers to be more specific in their config.prefix by using a trailing slash for their folder name.

PikachuEXE commented 2 years ago

Can you explain this PR in usage aspect? I am unable to comprehend your description here sorry 😑

alanbrent commented 2 years ago

Apologies. I am actually still gathering years-old context, and am attempting to forward-port a patch our org has maintained on top of v1.1.0. It's possible that the patch is not actually necessary. I will circle back in the next few days to find out and update this PR when I've done so. Thanks for taking a look.