Merge pull request #1958 from japgolly/git_commit_fix
Ensure git can commit and prevent it from failing silently
This commit is contained in:
commit
ed931f3a49
3 changed files with 30 additions and 4 deletions
|
@ -180,6 +180,14 @@ and ensure you have followed all of the above steps carefully.
|
||||||
sudo gem install bundler
|
sudo gem install bundler
|
||||||
sudo -u gitlab -H bundle install --without development test sqlite postgres --deployment
|
sudo -u gitlab -H bundle install --without development test sqlite postgres --deployment
|
||||||
|
|
||||||
|
#### Configure git client
|
||||||
|
|
||||||
|
Gitlab needs to be able to commit and push changes to gitolite.
|
||||||
|
Git requires a username and email in order to be able to do that.
|
||||||
|
|
||||||
|
sudo -u gitlab -H git config --global user.email "gitlab@localhost"
|
||||||
|
sudo -u gitlab -H git config --global user.name "Gitlab"
|
||||||
|
|
||||||
#### Setup application
|
#### Setup application
|
||||||
|
|
||||||
sudo -u gitlab bundle exec rake gitlab:app:setup RAILS_ENV=production
|
sudo -u gitlab bundle exec rake gitlab:app:setup RAILS_ENV=production
|
||||||
|
|
|
@ -194,8 +194,10 @@ module Gitlab
|
||||||
|
|
||||||
def push tmp_dir
|
def push tmp_dir
|
||||||
Dir.chdir(File.join(tmp_dir, "gitolite"))
|
Dir.chdir(File.join(tmp_dir, "gitolite"))
|
||||||
system('git add -A')
|
raise "Git add failed." unless system('git add -A')
|
||||||
system('git commit -am "GitLab"')
|
system('git commit -m "GitLab"') # git commit returns 0 on success, and 1 if there is nothing to commit
|
||||||
|
raise "Git commit failed." unless [0,1].include? $?.exitstatus
|
||||||
|
|
||||||
if system('git push')
|
if system('git push')
|
||||||
Dir.chdir(Rails.root)
|
Dir.chdir(Rails.root)
|
||||||
else
|
else
|
||||||
|
|
|
@ -37,9 +37,10 @@ namespace :gitlab do
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
FileUtils.rm_rf("/tmp/gitolite_gitlab_test")
|
||||||
begin
|
begin
|
||||||
`git clone #{Gitlab.config.gitolite_admin_uri} /tmp/gitolite_gitlab_test`
|
`git clone -q #{Gitlab.config.gitolite_admin_uri} /tmp/gitolite_gitlab_test`
|
||||||
FileUtils.rm_rf("/tmp/gitolite_gitlab_test")
|
raise unless $?.success?
|
||||||
print "Can clone gitolite-admin?............"
|
print "Can clone gitolite-admin?............"
|
||||||
puts "YES".green
|
puts "YES".green
|
||||||
rescue
|
rescue
|
||||||
|
@ -48,6 +49,21 @@ namespace :gitlab do
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
begin
|
||||||
|
Dir.chdir("/tmp/gitolite_gitlab_test") do
|
||||||
|
`touch blah && git add blah && git commit -qm blah -- blah`
|
||||||
|
raise unless $?.success?
|
||||||
|
end
|
||||||
|
print "Can git commit?............"
|
||||||
|
puts "YES".green
|
||||||
|
rescue
|
||||||
|
print "Can git commit?............"
|
||||||
|
puts "NO".red
|
||||||
|
return
|
||||||
|
ensure
|
||||||
|
FileUtils.rm_rf("/tmp/gitolite_gitlab_test")
|
||||||
|
end
|
||||||
|
|
||||||
print "UMASK for .gitolite.rc is 0007? ............"
|
print "UMASK for .gitolite.rc is 0007? ............"
|
||||||
if open(File.absolute_path("#{git_base_path}/../.gitolite.rc")).grep(/UMASK([ \t]*)=([ \t>]*)0007/).any?
|
if open(File.absolute_path("#{git_base_path}/../.gitolite.rc")).grep(/UMASK([ \t]*)=([ \t>]*)0007/).any?
|
||||||
puts "YES".green
|
puts "YES".green
|
||||||
|
|
Loading…
Add table
Reference in a new issue