From 566c4c39e58e001015d263df124ea88d06ba5940 Mon Sep 17 00:00:00 2001 From: Patrick J Cherry Date: Tue, 31 Jan 2017 11:03:27 +0000 Subject: Make sure that we accept any old snapshot name when restoring. Also expand the tests to check that the correct ownership etc is being returned. --- lib/byteback/restore.rb | 3 +-- lib/byteback/restore_file.rb | 9 ++++++--- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/byteback/restore.rb b/lib/byteback/restore.rb index d313209..7055be3 100644 --- a/lib/byteback/restore.rb +++ b/lib/byteback/restore.rb @@ -65,11 +65,10 @@ module Byteback @results = paths.collect do |path| Dir.glob(File.expand_path(File.join(@byteback_root, @snapshot, path))).collect do |f| - restore_file = Byteback::RestoreFile.new(f, @byteback_root, @now) + Byteback::RestoreFile.new(f, @byteback_root, @now) end end.flatten - # # If we want an unpruned list, return it now. # diff --git a/lib/byteback/restore_file.rb b/lib/byteback/restore_file.rb index 5811b0f..daceb83 100644 --- a/lib/byteback/restore_file.rb +++ b/lib/byteback/restore_file.rb @@ -45,10 +45,13 @@ module Byteback # @snapshot = full_path.sub(%r(^#{Regexp.escape @byteback_root}),'').split("/")[1] - if @snapshot == "current" - @snapshot_time = @now - else + # + # If we can parse the time, use it, otherwise assume "now". + # + begin @snapshot_time = Time.parse(@snapshot) + rescue ArgumentError + @snapshot_time = @now end # -- cgit v1.2.1