I'm trying to sync a lot of files onto s3 / cloudfront. I also set a far future cache expiration date for the files.

Some of the files might need to be invalidated in the future, if the contents are changed, but they retain the same filename.

I tried to use --cf-invalidate, but I get an error "ERROR: You cannot use both --cf-invalidate and --add-destination".

Is there some way to automatically invalidate only the files that are changed by an s3cmd sync to s3 ?

Or is there some way to get a list of changed files as an output, so I can process these separately ?