zip アーカイブから 1 つのファイルを抽出する必要があります。以下は、ある時点で機能し、その後停止しました。最も基本的な方法でゼロから数回書き直してみましたが、まだ探しているファイルが見つかりません。
def restore(file)
#pulls specified file from last commit
found = []
#files.each do |file|
print "Restoring #{file}"
puts
Zip::ZipFile.open(".fuzz/commits/#{last_commit}.zip") do |zip_file|
zip_file.each do |f|
if f == file.strip
if File.exists?(file)
FileUtils.mv(file, "#{file}.temp")
end
FileUtils.cp(f, Dir.pwd)
found << file
if File.exists?("#{file}.temp")
FileUtils.rm_rf("#{file}.temp")
end
else
puts "#{file} is not #{f}" #added this to make sure that 'file' was being read correctly and matched correctly.
end
end
end
print "\r"
if found.empty? == false
puts "#{found} restored."
else
puts "No files were restored"
end
#end
end
「#{file} is not #{f} は両方のファイルを示していますが、一致するものはないと考え続けています。私はこの 1 日間、頭を悩ませていました。ただ愚かになって、明らかな欠陥/タイプミスがありません。