From 02bf992f378f8b56ec7e698b5d603ded895dd0a4 Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Wed, 1 Oct 2014 15:43:27 +0200 Subject: Fail harder in the backup script This change also shows the output of failed Git commands during the backup. --- lib/backup/repository.rb | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'lib/backup/repository.rb') 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 -- cgit v1.2.1