Let the server fix unconfigured git
This commit is contained in:
parent
bacb05c554
commit
67f55d9b25
|
@ -3,6 +3,7 @@ Please view this file on the master branch, on stable branches it's out of date.
|
|||
v 7.9.0 (unreleased)
|
||||
- Update documentation for object_kind field in Webhook push and tag push Webhooks (Stan Hu)
|
||||
- Fix broken email images (Hannes Rosenögger)
|
||||
- Automaticly config git if user forgot, where possible
|
||||
- Fix mass SQL statements on initial push (Hannes Rosenögger)
|
||||
- Add tag push notifications and normalize HipChat and Slack messages to be consistent (Stan Hu)
|
||||
- Add comment notification events to HipChat and Slack services (Stan Hu)
|
||||
|
|
|
@ -329,7 +329,11 @@ namespace :gitlab do
|
|||
if correct_options.all?
|
||||
puts "yes".green
|
||||
else
|
||||
puts "no".red
|
||||
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 user.name \"#{options["user.name"]}\""),
|
||||
sudo_gitlab("\"#{Gitlab.config.git.bin_path}\" config --global user.email \"#{options["user.email"]}\""),
|
||||
|
@ -338,7 +342,7 @@ namespace :gitlab do
|
|||
for_more_information(
|
||||
see_installation_guide_section "GitLab"
|
||||
)
|
||||
fix_and_rerun
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -806,3 +810,4 @@ namespace :gitlab do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -112,4 +112,20 @@ namespace :gitlab do
|
|||
@warned_user_not_gitlab = true
|
||||
end
|
||||
end
|
||||
|
||||
# Tries to configure git itself
|
||||
#
|
||||
# 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?
|
||||
command_success = options.map do |name, value|
|
||||
system(%W(#{Gitlab.config.git.bin_path} config --global #{name} #{value}))
|
||||
end
|
||||
|
||||
command_success.all?
|
||||
else
|
||||
false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue