s3cmd mv doesn't throw an error when src == dest. It just deletes the file. the aws-cli will throw an error to prevent an accidental deletion