Simplifies handling, avoids confusion.
Bug reported by Nicholas Cynober where his s3cmd sync --cf-inval kept crashing on parsing a CloudFront distribution list with both S3Origin and CustomOrigin distributions. Let's skip over non-S3Origin distros when translating S3Uri to CFUri.
Option --mime-type now has a different meaning - from now on it forces setting the given MIME type instead of setting a default MIME type. For changing the default from binary/octet-stream use a new option --default-mime-type. Also --guess-mime-type is no longer on by default and if set to true in the config file can be turned back off with --no-guess-mime-type
Previously, --configure would perform an access check by trying to list all buckets for the account. This requires the S3 ListAllMyBuckets permission which is typically not available to delegated IAM accounts. With this change, --configure now accepts an (optional) bucket uri as a parameter and if it's provided, the access check will just verify access to this bucket individually. i.e. s3cmd --configure # Access Denied if the account lacks ListAllMyBuckets But s3cmd --configure s3://some-bucket # Still work
- special case stdout when enforcing destination rules - update parameter error output to indicate stdout is a valid destination specification
Historically s3cmd and modules used to use <tab> for indentation. This is not a recommended Python coding standard and many tools treat it as an error. This mega patch converts all <tab>s to <4-space>s and also removes trailing white whitespace along the way. To get meaningful diffs across this commit use: git diff -w