Commit 7044d649 authored by Marin Jankovski's avatar Marin Jankovski

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

parent 5f7d6c7d
...@@ -241,6 +241,9 @@ We recommend using a PostgreSQL database. For MySQL check [MySQL setup guide](da ...@@ -241,6 +241,9 @@ We recommend using a PostgreSQL database. For MySQL check [MySQL setup guide](da
# Copy the example Rack attack config # Copy the example Rack attack config
sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb 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 # Configure Redis connection settings
sudo -u git -H cp config/resque.yml.example config/resque.yml sudo -u git -H cp config/resque.yml.example config/resque.yml
......
...@@ -13,6 +13,7 @@ namespace :gitlab do ...@@ -13,6 +13,7 @@ namespace :gitlab do
warn_user_is_not_gitlab warn_user_is_not_gitlab
start_checking "GitLab" start_checking "GitLab"
check_git_config
check_database_config_exists check_database_config_exists
check_database_is_not_sqlite check_database_is_not_sqlite
check_migrations_are_up check_migrations_are_up
...@@ -37,6 +38,36 @@ namespace :gitlab do ...@@ -37,6 +38,36 @@ namespace :gitlab do
# Checks # 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 def check_database_config_exists
print "Database config exists? ... " print "Database config exists? ... "
......
...@@ -118,9 +118,9 @@ namespace :gitlab do ...@@ -118,9 +118,9 @@ namespace :gitlab do
# Returns true if all subcommands were successfull (according to their exit code) # Returns true if all subcommands were successfull (according to their exit code)
# Returns false if any or all subcommands failed. # Returns false if any or all subcommands failed.
def auto_fix_git_config(options) 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| 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 end
command_success.all? command_success.all?
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment