summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPatrick J Cherry <patrick@bytemark.co.uk>2017-01-31 11:03:27 +0000
committerPatrick J Cherry <patrick@bytemark.co.uk>2017-01-31 11:03:27 +0000
commit566c4c39e58e001015d263df124ea88d06ba5940 (patch)
treeb29957f0d21fa0adcafab48bcd9f90bc05da022a /lib
parent53f78a01f2fb514d61fdb076f5b749e03ffddb74 (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.rb3
-rw-r--r--lib/byteback/restore_file.rb9
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
#