summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBalasankar "Balu" C <balasankar@gitlab.com>2018-01-15 20:33:35 +0530
committerBalasankar "Balu" C <balasankar@gitlab.com>2018-01-15 20:33:35 +0530
commitad25ef1f0d7e85e2b9797f30721caab00f62dfc2 (patch)
tree0317b93caa7c155ae77bb0c4b44cb4486b5e4e8f
parent377d5c9ec32f9957eee4a9a397a8d18cad1274ac (diff)
downloadgitlab-ce-ad25ef1f0d7e85e2b9797f30721caab00f62dfc2.tar.gz
List available backups for restore
-rw-r--r--lib/backup/manager.rb7
-rw-r--r--spec/lib/backup/manager_spec.rb7
2 files changed, 13 insertions, 1 deletions
diff --git a/lib/backup/manager.rb b/lib/backup/manager.rb
index 05aa79dc160..c6c6fca6b74 100644
--- a/lib/backup/manager.rb
+++ b/lib/backup/manager.rb
@@ -108,7 +108,12 @@ module Backup
$progress.puts "Please make sure that file name ends with #{FILE_NAME_SUFFIX}"
exit 1
elsif backup_file_list.many? && ENV["BACKUP"].nil?
- $progress.puts 'Found more than one backup, please specify which one you want to restore:'
+ $progress.puts 'Found more than one backup:'
+ # print list of available backups
+ backup_file_list.each do |item|
+ $progress.puts " " + item.gsub("#{FILE_NAME_SUFFIX}", "")
+ end
+ $progress.puts 'Please specify which one you want to restore:'
$progress.puts 'rake gitlab:backup:restore BACKUP=timestamp_of_backup'
exit 1
end
diff --git a/spec/lib/backup/manager_spec.rb b/spec/lib/backup/manager_spec.rb
index b68301a066a..cd498177b81 100644
--- a/spec/lib/backup/manager_spec.rb
+++ b/spec/lib/backup/manager_spec.rb
@@ -194,6 +194,13 @@ describe Backup::Manager do
)
end
+ it 'prints the list of available backups' do
+ expect(progress).to have_received(:puts)
+ .with(a_string_matching('1451606400_2016_01_01_1.2.3'))
+ expect(progress).to have_received(:puts)
+ .with(a_string_matching('1451520000_2015_12_31'))
+ end
+
it 'fails the operation and prints an error' do
expect { subject.unpack }.to raise_error SystemExit
expect(progress).to have_received(:puts)