diff options
author | Patrick J Cherry <patrick@bytemark.co.uk> | 2017-01-31 11:03:27 +0000 |
---|---|---|
committer | Patrick J Cherry <patrick@bytemark.co.uk> | 2017-01-31 11:03:27 +0000 |
commit | 566c4c39e58e001015d263df124ea88d06ba5940 (patch) | |
tree | b29957f0d21fa0adcafab48bcd9f90bc05da022a /lib | |
parent | 53f78a01f2fb514d61fdb076f5b749e03ffddb74 (diff) |
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.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/byteback/restore.rb | 3 | ||||
-rw-r--r-- | lib/byteback/restore_file.rb | 9 |
2 files changed, 7 insertions, 5 deletions
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 # |