From 5f4fea17ad42d24f069d19d36853b7ea61ee66c8 Mon Sep 17 00:00:00 2001 From: Angus MacArthur <amacarthur@blackberry.com> Date: Mon, 3 Jun 2013 11:00:24 -0400 Subject: [PATCH] Correction to restore expected current directory --- lib/tasks/gitlab/backup.rake | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/lib/tasks/gitlab/backup.rake b/lib/tasks/gitlab/backup.rake index 920d29a444e..d071938acb5 100644 --- a/lib/tasks/gitlab/backup.rake +++ b/lib/tasks/gitlab/backup.rake @@ -91,15 +91,20 @@ namespace :gitlab do ENV["VERSION"] = "#{settings[:db_version]}" if settings[:db_version].to_i > 0 # backups directory is not always sub of Rails root and able to execute the git rev-parse below - Dir.chdir(Rails.root) - - # restoring mismatching backups can lead to unexpected problems - if settings[:gitlab_version] != %x{git rev-parse HEAD}.gsub(/\n/,"") - puts "GitLab version mismatch:".red - puts " Your current HEAD differs from the HEAD in the backup!".red - puts " Please switch to the following revision and try again:".red - puts " revision: #{settings[:gitlab_version]}".red - exit 1 + begin + Dir.chdir(Rails.root) + + # restoring mismatching backups can lead to unexpected problems + if settings[:gitlab_version] != %x{git rev-parse HEAD}.gsub(/\n/, "") + puts "GitLab version mismatch:".red + puts " Your current HEAD differs from the HEAD in the backup!".red + puts " Please switch to the following revision and try again:".red + puts " revision: #{settings[:gitlab_version]}".red + exit 1 + end + ensure + # chdir back to original intended dir + Dir.chdir(Gitlab.config.backup.path) end Rake::Task["gitlab:backup:db:restore"].invoke -- GitLab