require 'gdbm' require 'pstore' unless ARGV.size == 2 print "usage: gdbm2pstore.rb src.pstore dst.gdbm\n" exit end src = ARGV.shift dst = ARGV.shift PStore.new(src).transaction{|pstore| begin GDBM.open(dst){|db| pstore.roots.each{|key| db[key] = pstore[key] } } ensure pstore.abort end }