Commit ad3a88cfd34aeed5ed69b4056e393580a686fb09
1 parent
1f5e2658
Exists in
master
and in
4 other branches
Prepared for gitolite v3
Showing
5 changed files
with
15 additions
and
11 deletions
Show diff stats
app/models/merge_request.rb
| @@ -162,7 +162,7 @@ class MergeRequest < ActiveRecord::Base | @@ -162,7 +162,7 @@ class MergeRequest < ActiveRecord::Base | ||
| 162 | end | 162 | end |
| 163 | 163 | ||
| 164 | def automerge!(current_user) | 164 | def automerge!(current_user) |
| 165 | - if Gitlab::Merge.new(self, current_user).merge | 165 | + if Gitlab::Merge.new(self, current_user).merge && self.unmerged_commits.empty? |
| 166 | self.merge!(current_user.id) | 166 | self.merge!(current_user.id) |
| 167 | true | 167 | true |
| 168 | end | 168 | end |
app/roles/push_event.rb
| @@ -90,6 +90,8 @@ module PushEvent | @@ -90,6 +90,8 @@ module PushEvent | ||
| 90 | 90 | ||
| 91 | def push_with_commits? | 91 | def push_with_commits? |
| 92 | md_ref? && commits.any? && parent_commit && last_commit | 92 | md_ref? && commits.any? && parent_commit && last_commit |
| 93 | + rescue Grit::NoSuchPathError | ||
| 94 | + false | ||
| 93 | end | 95 | end |
| 94 | 96 | ||
| 95 | def last_push_to_non_root? | 97 | def last_push_to_non_root? |
config/gitlab.yml.example
| @@ -33,11 +33,11 @@ app: | @@ -33,11 +33,11 @@ app: | ||
| 33 | git_host: | 33 | git_host: |
| 34 | admin_uri: git@localhost:gitolite-admin | 34 | admin_uri: git@localhost:gitolite-admin |
| 35 | base_path: /home/git/repositories/ | 35 | base_path: /home/git/repositories/ |
| 36 | - # hooks_path: /var/lib/gitolite/.gitolite/hooks/ # only needed when gitolite is not installed according the manual | ||
| 37 | - # host: localhost | 36 | + hooks_path: /home/git/.gitolite/hooks/ |
| 38 | git_user: git | 37 | git_user: git |
| 39 | upload_pack: true | 38 | upload_pack: true |
| 40 | receive_pack: true | 39 | receive_pack: true |
| 40 | + # host: localhost | ||
| 41 | # port: 22 | 41 | # port: 22 |
| 42 | 42 | ||
| 43 | # Git settings | 43 | # Git settings |
doc/installation.md
| @@ -113,17 +113,20 @@ Generate key: | @@ -113,17 +113,20 @@ Generate key: | ||
| 113 | Clone GitLab's fork of the Gitolite source code: | 113 | Clone GitLab's fork of the Gitolite source code: |
| 114 | 114 | ||
| 115 | cd /home/git | 115 | cd /home/git |
| 116 | - sudo -H -u git git clone https://github.com/gitlabhq/gitolite.git /home/git/gitolite | 116 | + sudo -H -u git git clone -b gl-v304 https://github.com/gitlabhq/gitolite.git /home/git/gitolite |
| 117 | 117 | ||
| 118 | Setup: | 118 | Setup: |
| 119 | 119 | ||
| 120 | + cd /home/git | ||
| 121 | + sudo -u git -H mkdir bin | ||
| 120 | sudo -u git sh -c 'echo -e "PATH=\$PATH:/home/git/bin\nexport PATH" >> /home/git/.profile' | 122 | sudo -u git sh -c 'echo -e "PATH=\$PATH:/home/git/bin\nexport PATH" >> /home/git/.profile' |
| 121 | - sudo -u git -H sh -c "PATH=/home/git/bin:$PATH; /home/git/gitolite/src/gl-system-install" | 123 | + sudo -u git sh -c 'gitolite/install -ln /home/git/bin' |
| 124 | + | ||
| 122 | sudo cp /home/gitlab/.ssh/id_rsa.pub /home/git/gitlab.pub | 125 | sudo cp /home/gitlab/.ssh/id_rsa.pub /home/git/gitlab.pub |
| 123 | sudo chmod 0444 /home/git/gitlab.pub | 126 | sudo chmod 0444 /home/git/gitlab.pub |
| 124 | 127 | ||
| 125 | - sudo -u git -H sed -i 's/0077/0007/g' /home/git/share/gitolite/conf/example.gitolite.rc | ||
| 126 | - sudo -u git -H sh -c "PATH=/home/git/bin:$PATH; gl-setup -q /home/git/gitlab.pub" | 128 | + sudo -u git -H sh -c "PATH=/home/git/bin:$PATH; gitolite setup -pk /home/git/gitlab.pub" |
| 129 | + sudo -u git -H sed -i 's/0077/0007/g' /home/git/.gitolite.rc | ||
| 127 | 130 | ||
| 128 | Permissions: | 131 | Permissions: |
| 129 | 132 | ||
| @@ -189,8 +192,8 @@ and ensure you have followed all of the above steps carefully. | @@ -189,8 +192,8 @@ and ensure you have followed all of the above steps carefully. | ||
| 189 | 192 | ||
| 190 | #### Setup GitLab hooks | 193 | #### Setup GitLab hooks |
| 191 | 194 | ||
| 192 | - sudo cp ./lib/hooks/post-receive /home/git/share/gitolite/hooks/common/post-receive | ||
| 193 | - sudo chown git:git /home/git/share/gitolite/hooks/common/post-receive | 195 | + sudo cp ./lib/hooks/post-receive /home/git/.gitolite/hooks/common/post-receive |
| 196 | + sudo chown git:git /home/git/.gitolite/hooks/common/post-receive | ||
| 194 | 197 | ||
| 195 | #### Check application status | 198 | #### Check application status |
| 196 | 199 |
lib/gitlab/merge.rb
| @@ -21,8 +21,7 @@ module Gitlab | @@ -21,8 +21,7 @@ module Gitlab | ||
| 21 | if output =~ /CONFLICT/ | 21 | if output =~ /CONFLICT/ |
| 22 | false | 22 | false |
| 23 | else | 23 | else |
| 24 | - repo.git.push({}, "origin", merge_request.target_branch) | ||
| 25 | - true | 24 | + !!repo.git.push({}, "origin", merge_request.target_branch) |
| 26 | end | 25 | end |
| 27 | end | 26 | end |
| 28 | end | 27 | end |