# File lib/aws/s3/multipart_upload.rb, line 225 def copy_part(copy_source, options = {}) part_options = base_opts.merge(options) part_options.merge!(:copy_source => copy_source) unless part_options[:part_number] @increment_mutex.synchronize do part_options[:part_number] = (@last_part += 1) end end part_number = part_options[:part_number] resp = client.copy_part(part_options) @completed_mutex.synchronize do @completed_parts[part_number] = { :part_number => part_number, :etag => resp[:etag] } end UploadedPart.new(self, part_number) end