[ARVADOS] created: 1.3.0-423-g338ab239a
Git user
git at public.curoverse.com
Fri Mar 1 15:51:43 EST 2019
at 338ab239adbc259d5cd070158b4e571925b9f81b (commit)
commit 338ab239adbc259d5cd070158b4e571925b9f81b
Author: Peter Amstutz <pamstutz at veritasgenetics.com>
Date: Fri Mar 1 15:51:08 2019 -0500
14870: Ruby SDK fix for copying collection into root of an empty collection
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz at veritasgenetics.com>
diff --git a/sdk/ruby/lib/arvados/collection.rb b/sdk/ruby/lib/arvados/collection.rb
index 6cc3072b7..f236ce83a 100644
--- a/sdk/ruby/lib/arvados/collection.rb
+++ b/sdk/ruby/lib/arvados/collection.rb
@@ -369,7 +369,11 @@ module Arv
end
def add_copy(src_item, key)
- self[key] = src_item.copy_named("#{path}/#{key}")
+ if key == "."
+ self[key] = src_item.copy_named("#{path}")
+ else
+ self[key] = src_item.copy_named("#{path}/#{key}")
+ end
end
def merge(src_item, key)
@@ -457,6 +461,10 @@ module Arv
items["."] = CollectionStream.new(".")
end
+ def add_copy(src_item, key)
+ items["."].add_copy(src_item, key)
+ end
+
def raise_root_write_error(key)
raise ArgumentError.new("can't write to %p at collection root" % key)
end
diff --git a/sdk/ruby/test/test_collection.rb b/sdk/ruby/test/test_collection.rb
index f34e58a6b..288fd263f 100644
--- a/sdk/ruby/test/test_collection.rb
+++ b/sdk/ruby/test/test_collection.rb
@@ -385,6 +385,16 @@ class CollectionTest < Minitest::Test
dst_coll.manifest_text)
end
+ def test_copy_root_into_empty_collection
+ block = random_block(8)
+ src_coll = Arv::Collection.new(". #{block} 0:8:f1\n")
+ dst_coll = Arv::Collection.new()
+ dst_coll.cp_r("./", ".", src_coll)
+ assert_equal(". %s 0:8:f1\n" %
+ [block],
+ dst_coll.manifest_text)
+ end
+
def test_copy_empty_source_path_raises_ArgumentError(src="", dst="./s1")
coll = Arv::Collection.new(SIMPLEST_MANIFEST)
assert_raises(ArgumentError) do
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list