Commit 1f9b3f2e93222d5b8d4a834ef8eb916786e87021

Authored by Dmitriy Zaporozhets
2 parents 0a963ee1 75f274b7

Merge branch 'backup_version' into 'master'

Less strict backup versions
Showing 1 changed file with 10 additions and 16 deletions   Show diff stats
lib/backup/manager.rb
@@ -7,7 +7,7 @@ module Backup @@ -7,7 +7,7 @@ module Backup
7 s = {} 7 s = {}
8 s[:db_version] = "#{ActiveRecord::Migrator.current_version}" 8 s[:db_version] = "#{ActiveRecord::Migrator.current_version}"
9 s[:backup_created_at] = Time.now 9 s[:backup_created_at] = Time.now
10 - s[:gitlab_version] = %x{git rev-parse HEAD}.gsub(/\n/,"") 10 + s[:gitlab_version] = Gitlab::VERSION
11 s[:tar_version] = %x{tar --version | head -1}.gsub(/\n/,"") 11 s[:tar_version] = %x{tar --version | head -1}.gsub(/\n/,"")
12 12
13 Dir.chdir(Gitlab.config.backup.path) 13 Dir.chdir(Gitlab.config.backup.path)
@@ -87,21 +87,15 @@ module Backup @@ -87,21 +87,15 @@ module Backup
87 settings = YAML.load_file("backup_information.yml") 87 settings = YAML.load_file("backup_information.yml")
88 ENV["VERSION"] = "#{settings[:db_version]}" if settings[:db_version].to_i > 0 88 ENV["VERSION"] = "#{settings[:db_version]}" if settings[:db_version].to_i > 0
89 89
90 - # backups directory is not always sub of Rails root and able to execute the git rev-parse below  
91 - begin  
92 - Dir.chdir(Rails.root)  
93 -  
94 - # restoring mismatching backups can lead to unexpected problems  
95 - if settings[:gitlab_version] != %x{git rev-parse HEAD}.gsub(/\n/, "")  
96 - puts "GitLab version mismatch:".red  
97 - puts " Your current HEAD differs from the HEAD in the backup!".red  
98 - puts " Please switch to the following revision and try again:".red  
99 - puts " revision: #{settings[:gitlab_version]}".red  
100 - exit 1  
101 - end  
102 - ensure  
103 - # chdir back to original intended dir  
104 - Dir.chdir(Gitlab.config.backup.path) 90 + # restoring mismatching backups can lead to unexpected problems
  91 + if settings[:gitlab_version] != Gitlab::VERSION
  92 + puts "GitLab version mismatch:".red
  93 + puts " Your current GitLab version (#{Gitlab::VERSION}) differs from the GitLab version in the backup!".red
  94 + puts " Please switch to the following version and try again:".red
  95 + puts " version: #{settings[:gitlab_version]}".red
  96 + puts
  97 + puts "Hint: git checkout v#{settings[:gitlab_version]}"
  98 + exit 1
105 end 99 end
106 end 100 end
107 end 101 end