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 | ... | ... |