diff options
author | Jacob Vosmaer <contact@jacobvosmaer.nl> | 2014-10-01 15:43:27 +0200 |
---|---|---|
committer | Jacob Vosmaer <contact@jacobvosmaer.nl> | 2014-10-01 15:43:27 +0200 |
commit | 02bf992f378f8b56ec7e698b5d603ded895dd0a4 (patch) | |
tree | 7d7da4c27f06ffcfade1abfcc26b6b13cdd706b4 /lib/backup/repository.rb | |
parent | 8b1da505e0f46f720d5097c4850ee83f10cc8d51 (diff) | |
download | gitlab-ce-02bf992f378f8b56ec7e698b5d603ded895dd0a4.tar.gz |
Fail harder in the backup script
This change also shows the output of failed Git commands during the
backup.
Diffstat (limited to 'lib/backup/repository.rb')
-rw-r--r-- | lib/backup/repository.rb | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/lib/backup/repository.rb b/lib/backup/repository.rb index ea05fa2c261..4e99d4bbe5c 100644 --- a/lib/backup/repository.rb +++ b/lib/backup/repository.rb @@ -15,10 +15,15 @@ module Backup if project.empty_repo? puts "[SKIPPED]".cyan - elsif system(*%W(git --git-dir=#{path_to_repo(project)} bundle create #{path_to_bundle(project)} --all), silent) - puts "[DONE]".green else - puts "[FAILED]".red + output, status = Gitlab::Popen.popen(%W(git --git-dir=#{path_to_repo(project)} bundle create #{path_to_bundle(project)} --all)) + if status.zero? + puts "[DONE]".green + else + puts "[FAILED]".red + puts output + abort 'Backup failed' + end end wiki = ProjectWiki.new(project) @@ -27,10 +32,14 @@ module Backup print " * #{wiki.path_with_namespace} ... " if wiki.empty? puts " [SKIPPED]".cyan - elsif system(*%W(git --git-dir=#{path_to_repo(wiki)} bundle create #{path_to_bundle(wiki)} --all), silent) - puts " [DONE]".green else - puts " [FAILED]".red + output, status = Gitlab::Popen.popen(%W(git --git-dir=#{path_to_repo(wiki)} bundle create #{path_to_bundle(wiki)} --all)) + if status.zero? + puts " [DONE]".green + else + puts " [FAILED]".red + abort 'Backup failed' + end end end end @@ -54,6 +63,7 @@ module Backup puts "[DONE]".green else puts "[FAILED]".red + abort 'Restore failed' end wiki = ProjectWiki.new(project) @@ -64,6 +74,7 @@ module Backup puts " [DONE]".green else puts " [FAILED]".red + abort 'Restore failed' end end end |