Patches originally by adoliver, rebased for current master branch. Content-Encoding should only be set by the HTTP server, not by us.
Cut-and-paste context error. Here we specifically want OSError to dereference e.errno. If we get a different type of error, we should raise that separately until we know how to deal with it. I did see one example of an S3Error getting raised here, syncing down a bucket that has versioning enabled but one file deleted. We have to first fix this error to debug the next error.
the link itself (which lstat() does). A check for the case where a file is symlink and the follow-symlink option is not set has already been made a few lines above, so this should be safe I think.
… attributes Fixes s3tools#217 --no-check-md5 removes 'md5' from the cfg.sync_checks list. It does not remove it from the cfg.preserve_attrs_list list. Therefore each file's md5sum is calculated when generating the preserved attribute header (which also includes username, groupname, size, obtained from stat(), ...). The default for both sync and put is --preserve. Therefore, to disable md5 generation completely, one needs to also use --no-preserve. Another option would be to have --no-check-md5 also remove 'md5' from cfg.preserve_attrs_list. I had added 'md5' to the cfg.preserve_attrs_list list in June 2012 (1.5.0-alpha time period) when I added hardlink detection, so it's a relatively new change that is causing md5sums to be calculated by default. This patch implements this, --no-check-md5 now removes 'md5' from cfg.preserve_attrs_list.
reported to s3tools-bugs by John R. Moser 2013-01-09.
Includes recursive option.