Commit 8778961d33c15938f4ed3de301fd9b865b9299d8
1 parent
78235edd
Exists in
master
and in
4 other branches
Move prepare_satellite! to Gitlab::Satelite::Action
Showing
2 changed files
with
20 additions
and
18 deletions
Show diff stats
lib/gitlab/satellite/action.rb
| ... | ... | @@ -3,10 +3,11 @@ module Gitlab |
| 3 | 3 | class Action |
| 4 | 4 | DEFAULT_OPTIONS = { git_timeout: 30.seconds } |
| 5 | 5 | |
| 6 | - attr_accessor :options, :project | |
| 6 | + attr_accessor :options, :project, :user | |
| 7 | 7 | |
| 8 | - def initialize(project, options = {}) | |
| 8 | + def initialize(project, user, options = {}) | |
| 9 | 9 | @project = project |
| 10 | + @user = user | |
| 10 | 11 | @options = DEFAULT_OPTIONS.merge(options) |
| 11 | 12 | end |
| 12 | 13 | |
| ... | ... | @@ -42,6 +43,21 @@ module Gitlab |
| 42 | 43 | def lock_file |
| 43 | 44 | Rails.root.join("tmp", "#{project.path}.lock") |
| 44 | 45 | end |
| 46 | + | |
| 47 | + # * Clears the satellite | |
| 48 | + # * Updates the satellite from Gitolite | |
| 49 | + # * Sets up Git variables for the user | |
| 50 | + # | |
| 51 | + # Note: use this within #in_locked_and_timed_satellite | |
| 52 | + def prepare_satellite!(repo) | |
| 53 | + project.satellite.clear | |
| 54 | + | |
| 55 | + repo.git.reset(hard: true) | |
| 56 | + repo.git.fetch({}, :origin) | |
| 57 | + | |
| 58 | + repo.git.config({}, "user.name", user.name) | |
| 59 | + repo.git.config({}, "user.email", user.email) | |
| 60 | + end | |
| 45 | 61 | end |
| 46 | 62 | end |
| 47 | 63 | end | ... | ... |
lib/gitlab/satellite/merge_action.rb
| 1 | 1 | module Gitlab |
| 2 | 2 | module Satellite |
| 3 | 3 | class MergeAction < Action |
| 4 | - attr_accessor :merge_request, :user | |
| 4 | + attr_accessor :merge_request | |
| 5 | 5 | |
| 6 | 6 | def initialize(merge_request, user) |
| 7 | - super merge_request.project | |
| 7 | + super merge_request.project, user | |
| 8 | 8 | @merge_request = merge_request |
| 9 | - @user = user | |
| 10 | 9 | end |
| 11 | 10 | |
| 12 | 11 | def can_be_merged? |
| ... | ... | @@ -65,19 +64,6 @@ module Gitlab |
| 65 | 64 | Gitlab::GitLogger.error(ex.message) |
| 66 | 65 | false |
| 67 | 66 | end |
| 68 | - | |
| 69 | - # * Clears the satellite | |
| 70 | - # * Updates the satellite from Gitolite | |
| 71 | - # * Sets up Git variables for the user | |
| 72 | - def prepare_satellite!(repo) | |
| 73 | - project.satellite.clear | |
| 74 | - | |
| 75 | - repo.git.reset(hard: true) | |
| 76 | - repo.git.fetch({}, :origin) | |
| 77 | - | |
| 78 | - repo.git.config({}, "user.name", user.name) | |
| 79 | - repo.git.config({}, "user.email", user.email) | |
| 80 | - end | |
| 81 | 67 | end |
| 82 | 68 | end |
| 83 | 69 | end | ... | ... |