s3cp 1.1.26 → 1.1.27
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +6 -0
- data/lib/s3cp/s3cp.rb +31 -7
- data/lib/s3cp/version.rb +1 -1
- metadata +4 -4
data/History.txt
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
=== 1.1.27 (2013-04-04)
|
2
|
+
|
3
|
+
* Fixed: Fixed [NoMethodError] undefined method 'exist?' in s3cp when using
|
4
|
+
--no-overwrite option (residual bug from RightAWS -> AWS SDK migration).
|
5
|
+
s3cp now prints message on STDERR when skipping files that already exists.
|
6
|
+
|
1
7
|
=== 1.1.26 (2013-03-21)
|
2
8
|
|
3
9
|
* Fixed: Prevent crash if $terminal.output_rows can't be determined in s3ls/s3tree.
|
data/lib/s3cp/s3cp.rb
CHANGED
@@ -438,7 +438,7 @@ def s3_to_local(bucket_from, key_from, dest, options = {})
|
|
438
438
|
end
|
439
439
|
|
440
440
|
def s3_exist?(bucket, key)
|
441
|
-
@s3.buckets[bucket].objects[key].
|
441
|
+
@s3.buckets[bucket].objects[key].exists?
|
442
442
|
end
|
443
443
|
|
444
444
|
def s3_checksum(bucket, key)
|
@@ -486,12 +486,20 @@ def copy(from, to, options)
|
|
486
486
|
keys.each do |key|
|
487
487
|
if match(key)
|
488
488
|
dest = key_path key_to, relative(key_from, key)
|
489
|
-
|
489
|
+
if !options[:overwrite] && s3_exist?(bucket_to, dest)
|
490
|
+
STDERR.puts "Skipping s3://#{bucket_to}/#{dest} - already exists."
|
491
|
+
else
|
492
|
+
s3_to_s3(bucket_from, key, bucket_to, dest, options)
|
493
|
+
end
|
490
494
|
end
|
491
495
|
end
|
492
496
|
else
|
493
497
|
key_to += File.basename(key_from) if key_to[-1..-1] == "/"
|
494
|
-
|
498
|
+
if !options[:overwrite] && s3_exist?(bucket_to, key_to)
|
499
|
+
STDERR.puts "Skipping s3://#{bucket_to}/#{key_to} - already exists."
|
500
|
+
else
|
501
|
+
s3_to_s3(bucket_from, key_from, bucket_to, key_to, options)
|
502
|
+
end
|
495
503
|
end
|
496
504
|
when :local_to_s3
|
497
505
|
if options[:recursive]
|
@@ -502,12 +510,20 @@ def copy(from, to, options)
|
|
502
510
|
#puts "no_slash(key_to) #{no_slash(key_to)}"
|
503
511
|
#puts "relative(from, f) #{relative(from, f)}"
|
504
512
|
key = key_path key_to, relative(from, f)
|
505
|
-
|
513
|
+
if !options[:overwrite] && s3_exist?(bucket_to, key)
|
514
|
+
STDERR.puts "Skipping s3://#{bucket_to}/#{key} - already exists."
|
515
|
+
else
|
516
|
+
local_to_s3(bucket_to, key, File.expand_path(f), options)
|
517
|
+
end
|
506
518
|
end
|
507
519
|
end
|
508
520
|
else
|
509
521
|
key_to += File.basename(from) if key_to[-1..-1] == "/"
|
510
|
-
|
522
|
+
if !options[:overwrite] && s3_exist?(bucket_to, key_to)
|
523
|
+
STDERR.puts "Skipping s3://#{bucket_to}/#{key_to} - already exists."
|
524
|
+
else
|
525
|
+
local_to_s3(bucket_to, key_to, File.expand_path(from), options)
|
526
|
+
end
|
511
527
|
end
|
512
528
|
when :s3_to_local
|
513
529
|
if options[:recursive]
|
@@ -522,13 +538,21 @@ def copy(from, to, options)
|
|
522
538
|
dir = File.dirname(dest)
|
523
539
|
FileUtils.mkdir_p dir unless File.exist? dir
|
524
540
|
fail "Destination path is not a directory: #{dir}" unless File.directory?(dir)
|
525
|
-
|
541
|
+
if !options[:overwrite] && File.exist?(dest)
|
542
|
+
STDERR.puts "Skipping #{dest} - already exists."
|
543
|
+
else
|
544
|
+
s3_to_local(bucket_from, key, dest, options)
|
545
|
+
end
|
526
546
|
end
|
527
547
|
end
|
528
548
|
else
|
529
549
|
dest = File.expand_path(to)
|
530
550
|
dest = File.join(dest, File.basename(key_from)) if File.directory?(dest)
|
531
|
-
|
551
|
+
if !options[:overwrite] && File.exist?(dest)
|
552
|
+
STDERR.puts "Skipping #{dest} - already exists."
|
553
|
+
else
|
554
|
+
s3_to_local(bucket_from, key_from, dest, options)
|
555
|
+
end
|
532
556
|
end
|
533
557
|
when :local_to_local
|
534
558
|
if options[:include_regex].any? || options[:exclude_regex].any?
|
data/lib/s3cp/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: s3cp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 37
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 1.1.
|
9
|
+
- 27
|
10
|
+
version: 1.1.27
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Alex Boisvert
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2013-
|
18
|
+
date: 2013-04-04 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|