parent
ad41430c29
commit
f9b66aecdd
|
@ -1,5 +1,4 @@
|
|||
require 'yaml'
|
||||
require 'shellwords'
|
||||
|
||||
module Backup
|
||||
class Database
|
||||
|
@ -14,20 +13,20 @@ module Backup
|
|||
def dump
|
||||
case config["adapter"]
|
||||
when /^mysql/ then
|
||||
system("mysqldump #{mysql_args} #{Shellwords.shellescape(config['database'])} > #{Shellwords.shellescape(db_file_name)}")
|
||||
system("mysqldump #{mysql_args} #{config['database']} > #{db_file_name}")
|
||||
when "postgresql" then
|
||||
pg_env
|
||||
system("pg_dump #{Shellwords.shellescape(config['database'])} > #{db_file_name}")
|
||||
system("pg_dump #{config['database']} > #{db_file_name}")
|
||||
end
|
||||
end
|
||||
|
||||
def restore
|
||||
case config["adapter"]
|
||||
when /^mysql/ then
|
||||
system("mysql #{mysql_args} #{Shellwords.shellescape(config['database'])} < #{db_file_name}")
|
||||
system("mysql #{mysql_args} #{config['database']} < #{db_file_name}")
|
||||
when "postgresql" then
|
||||
pg_env
|
||||
system("psql #{Shellwords.shellescape(config['database'])} -f #{Shellwords.shellescape(db_file_name)}")
|
||||
system("psql #{config['database']} -f #{db_file_name}")
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -46,7 +45,7 @@ module Backup
|
|||
'encoding' => '--default-character-set',
|
||||
'password' => '--password'
|
||||
}
|
||||
args.map { |opt, arg| "#{arg}=#{Shellwords.shellescape(config[opt])}" if config[opt] }.compact.join(' ')
|
||||
args.map { |opt, arg| "#{arg}='#{config[opt]}'" if config[opt] }.compact.join(' ')
|
||||
end
|
||||
|
||||
def pg_env
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
require 'yaml'
|
||||
require 'shellwords'
|
||||
|
||||
module Backup
|
||||
class Repository
|
||||
|
@ -19,7 +18,7 @@ module Backup
|
|||
# Create namespace dir if missing
|
||||
FileUtils.mkdir_p(File.join(backup_repos_path, project.namespace.path)) if project.namespace
|
||||
|
||||
if system("cd #{Shellwords.shellescape(path_to_repo(project))} > /dev/null 2>&1 && git bundle create #{Shellwords.shellescape(path_to_bundle(project))} --all > /dev/null 2>&1")
|
||||
if system("cd #{path_to_repo(project)} > /dev/null 2>&1 && git bundle create #{path_to_bundle(project)} --all > /dev/null 2>&1")
|
||||
puts "[DONE]".green
|
||||
else
|
||||
puts "[FAILED]".red
|
||||
|
@ -31,7 +30,7 @@ module Backup
|
|||
print " * #{wiki.path_with_namespace} ... "
|
||||
if wiki.empty?
|
||||
puts " [SKIPPED]".cyan
|
||||
elsif system("cd #{Shellwords.shellescape(path_to_repo(wiki))} > /dev/null 2>&1 && git bundle create #{Shellwords.shellescape(path_to_bundle(wiki))} --all > /dev/null 2>&1")
|
||||
elsif system("cd #{path_to_repo(wiki)} > /dev/null 2>&1 && git bundle create #{path_to_bundle(wiki)} --all > /dev/null 2>&1")
|
||||
puts " [DONE]".green
|
||||
else
|
||||
puts " [FAILED]".red
|
||||
|
@ -54,7 +53,7 @@ module Backup
|
|||
|
||||
project.namespace.ensure_dir_exist if project.namespace
|
||||
|
||||
if system("git clone --bare #{Shellwords.shellescape(path_to_bundle(project))} #{Shellwords.shellescape(path_to_repo(project))} > /dev/null 2>&1")
|
||||
if system("git clone --bare #{path_to_bundle(project)} #{path_to_repo(project)} > /dev/null 2>&1")
|
||||
puts "[DONE]".green
|
||||
else
|
||||
puts "[FAILED]".red
|
||||
|
@ -64,7 +63,7 @@ module Backup
|
|||
|
||||
if File.exists?(path_to_bundle(wiki))
|
||||
print " * #{wiki.path_with_namespace} ... "
|
||||
if system("git clone --bare #{Shellwords.shellescape(path_to_bundle(wiki))} #{Shellwords.shellescape(path_to_repo(wiki))} > /dev/null 2>&1")
|
||||
if system("git clone --bare #{path_to_bundle(wiki)} #{path_to_repo(wiki)} > /dev/null 2>&1")
|
||||
puts " [DONE]".green
|
||||
else
|
||||
puts " [FAILED]".red
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
require "spec_helper"
|
||||
require "shellwords"
|
||||
|
||||
describe GollumWiki do
|
||||
|
||||
def create_temp_repo(path)
|
||||
FileUtils.mkdir_p path
|
||||
system("git init --quiet #{Shellwords.shellescape(path)}")
|
||||
command = "git init --quiet #{path};"
|
||||
system(command)
|
||||
end
|
||||
|
||||
def remove_temp_repo(path)
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
require "spec_helper"
|
||||
require "shellwords"
|
||||
|
||||
describe WikiPage do
|
||||
|
||||
def create_temp_repo(path)
|
||||
FileUtils.mkdir_p path
|
||||
system("git init --quiet #{Shellwords.shellescape(path)}")
|
||||
command = "git init --quiet #{path};"
|
||||
system(command)
|
||||
end
|
||||
|
||||
def remove_temp_repo(path)
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
require 'rspec/mocks'
|
||||
require 'shellwords'
|
||||
|
||||
module TestEnv
|
||||
extend self
|
||||
|
@ -103,7 +102,7 @@ module TestEnv
|
|||
repo = repo(namespace, name)
|
||||
|
||||
# Symlink tmp/repositories/gitlabhq to tmp/test-git-base-path/gitlabhq
|
||||
system("ln -s -f #{Shellwords.shellescape(seed_repo_path())} #{Shellwords.shellescape(repo)}")
|
||||
system("ln -s -f #{seed_repo_path()} #{repo}")
|
||||
create_satellite(repo, namespace, name)
|
||||
end
|
||||
|
||||
|
@ -167,11 +166,12 @@ module TestEnv
|
|||
# Symlink tmp/satellite/gitlabhq to tmp/test-git-base-path/satellite/gitlabhq, create the directory if it doesn't exist already
|
||||
satellite_dir = File.dirname(satellite_repo)
|
||||
FileUtils.mkdir_p(satellite_dir) unless File.exists?(satellite_dir)
|
||||
system("ln -s -f #{Shellwords.shellescape(seed_satellite_path)} #{Shellwords.shellescape(satellite_repo)}")
|
||||
system("ln -s -f #{seed_satellite_path} #{satellite_repo}")
|
||||
end
|
||||
|
||||
def create_temp_repo(path)
|
||||
FileUtils.mkdir_p path
|
||||
system("git init --quiet --bare #{Shellwords.shellescape(path)}")
|
||||
command = "git init --quiet --bare #{path};"
|
||||
system(command)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue