Add autocrlf back to installation docs, add a check for it.

This commit is contained in:
Marin Jankovski 2015-06-03 15:42:22 +02:00
parent 5f7d6c7d74
commit 7044d649a3
3 changed files with 36 additions and 2 deletions

View File

@ -241,6 +241,9 @@ We recommend using a PostgreSQL database. For MySQL check [MySQL setup guide](da
# Copy the example Rack attack config
sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
# Configure Git global settings for git user, used when editing via web editor
sudo -u git -H git config --global core.autocrlf input
# Configure Redis connection settings
sudo -u git -H cp config/resque.yml.example config/resque.yml

View File

@ -13,6 +13,7 @@ namespace :gitlab do
warn_user_is_not_gitlab
start_checking "GitLab"
check_git_config
check_database_config_exists
check_database_is_not_sqlite
check_migrations_are_up
@ -37,6 +38,36 @@ namespace :gitlab do
# Checks
########################
def check_git_config
print "Git configured with autocrlf=input? ... "
options = {
"core.autocrlf" => "input"
}
correct_options = options.map do |name, value|
run(%W(#{Gitlab.config.git.bin_path} config --global --get #{name})).try(:squish) == value
end
if correct_options.all?
puts "yes".green
else
print "Trying to fix Git error automatically. ..."
if auto_fix_git_config(options)
puts "Success".green
else
puts "Failed".red
try_fixing_it(
sudo_gitlab("\"#{Gitlab.config.git.bin_path}\" config --global core.autocrlf \"#{options["core.autocrlf"]}\"")
)
for_more_information(
see_installation_guide_section "GitLab"
)
end
end
end
def check_database_config_exists
print "Database config exists? ... "

View File

@ -118,9 +118,9 @@ namespace :gitlab do
# Returns true if all subcommands were successfull (according to their exit code)
# Returns false if any or all subcommands failed.
def auto_fix_git_config(options)
if !@warned_user_not_gitlab && options['user.email'] != 'example@example.com' # default email should be overridden?
if !@warned_user_not_gitlab
command_success = options.map do |name, value|
system(%W(#{Gitlab.config.git.bin_path} config --global #{name} #{value}))
system(*%W(#{Gitlab.config.git.bin_path} config --global #{name} #{value}))
end
command_success.all?