Closed rktyt closed 1 year ago
You are right and this behavior will cause issues for people doing a 1-1 transition.
I will think about a solution to provide options for both current and regular behaviors.
Ref for ideas: https://github.com/aws/aws-cli/issues/4923
@jeanbmar any update on the above? It will be great if this bug can be fixed, as IMO it is a necessary functionality. E.g I have adjusted the bucket-with-bucket.js code and added this code block, after finding the diff :
deleted.forEach((deleted) => deleted.applyDeleteFilters(filters));
const excludedDeletedObjects = sourceObjects.filter((sourceObject) => !sourceObject.isIncluded())
I think it covers most of the use cases, as in the case of the deletion, everything will be included by default, so we need to apply only the exclude to items that need to be deleted.
if such a solution make sense to you, I can open a PR and have it done properly.
Fixed in 4.2.0, now matching CLI behavior by default.
A new deleteExcluded
option is also available.
In the case of AWS CLI,
excl/path/to/file
that exists on the S3 side is not deleted, whereas it is deleted when using s3-sync-client. There is probably no problem with this specification, but please make it clear in the documentation.Versions aws cli: 2.4.3 s3-sync-client: 3.0.0