In many cases fmt.Errorf is good enough, but since
error is an interface, you can use arbitrary data
structures as error values, to allow callers to
inspect the details of the error.
- moving away from improper s3:// URI to standard http URI's
- migrate and test all commands ./mc ls, ./mc cp, ./mc cp -r
- move s3-trace.go s3/pkg/trace.go, make it part of S3 package
and document it.
- various other cleanup.
- First mode of operation supports with style `Path` `S3Path` or `Path` `S3Bucket`
- Second mode of operation supports with style `S3Path` `Path` or `S3Path` `.`
- Third mode of operation supports with style `S3Path` `S3Path` or `S3Path` `S3Bucket`
- Print in human-readable not amazon format
- Send stat() before accessing object, error gracefully
- Move client and bucket API operations to their own files
- Remove unused functions, constants and variables
- Rename API operations to sensible names
* GetBucket --> ListObjects
* Buckets --> ListBuckets