git_helper 1.3.0 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/git_helper/highline_cli.rb +1 -2
- data/lib/git_helper/merge_request.rb +18 -6
- data/lib/git_helper/pull_request.rb +17 -4
- data/lib/git_helper/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7f6658d90f9abf6f52b670fcd9e09ac4fc5964abbf70d0e88d21c6d3838d598
|
4
|
+
data.tar.gz: 420511dc29ead38efe88f841b76bb42f1b086b5c76369202056d7856002886ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8ee96f3180249acb8a25a549fa937852ff8a3a836a41d445dd7e5ea9f941f5b00408e174378e7c0b259a137cc96ce0ee3f52f3af7c3156f263e10f3253e1c3d
|
7
|
+
data.tar.gz: bd1b57e904dcb2a29a2f85688038af87908499240e0b86f0e75c5cebb0ebd6de4e538b25dab598df247ff8a2bc82da665d0a6c57e2c41ac470a47cb20c226a46
|
@@ -12,6 +12,8 @@ module GitHelper
|
|
12
12
|
options = {
|
13
13
|
source_branch: local_branch,
|
14
14
|
target_branch: base_branch,
|
15
|
+
squash: squash_merge_request,
|
16
|
+
remove_source_branch: remove_source_branch,
|
15
17
|
description: new_mr_body
|
16
18
|
}
|
17
19
|
|
@@ -37,12 +39,18 @@ module GitHelper
|
|
37
39
|
# Ask these questions right away
|
38
40
|
mr_id
|
39
41
|
options = {}
|
40
|
-
options[:should_remove_source_branch] =
|
41
|
-
options[:squash] =
|
42
|
-
options[:squash_commit_message] =
|
42
|
+
options[:should_remove_source_branch] = existing_mr.should_remove_source_branch || existing_mr.force_remove_source_branch
|
43
|
+
options[:squash] = existing_mr.squash
|
44
|
+
options[:squash_commit_message] = existing_mr.title
|
43
45
|
|
44
46
|
puts "Merging merge request: #{mr_id}"
|
45
47
|
merge = gitlab_client.accept_merge_request(local_project, mr_id, options)
|
48
|
+
|
49
|
+
if merge.merge_commit_sha.nil?
|
50
|
+
options[:squash] = true
|
51
|
+
merge = gitlab_client.accept_merge_request(local_project, mr_id, options)
|
52
|
+
end
|
53
|
+
|
46
54
|
puts "Merge request successfully merged: #{merge.merge_commit_sha}"
|
47
55
|
rescue Gitlab::Error::MethodNotAllowed => e
|
48
56
|
puts 'Could not merge merge request:'
|
@@ -88,7 +96,7 @@ module GitHelper
|
|
88
96
|
end
|
89
97
|
|
90
98
|
private def remove_source_branch
|
91
|
-
@remove_source_branch ||= cli.remove_source_branch?
|
99
|
+
@remove_source_branch ||= existing_project.remove_source_branch_after_merge || cli.remove_source_branch?
|
92
100
|
end
|
93
101
|
|
94
102
|
private def new_mr_title
|
@@ -128,8 +136,12 @@ module GitHelper
|
|
128
136
|
@template_name_to_apply
|
129
137
|
end
|
130
138
|
|
131
|
-
private def
|
132
|
-
@
|
139
|
+
private def existing_mr
|
140
|
+
@existing_mr ||= gitlab_client.merge_request(local_project, mr_id)
|
141
|
+
end
|
142
|
+
|
143
|
+
private def existing_project
|
144
|
+
@existing_project ||= gitlab_client.project(local_project)
|
133
145
|
end
|
134
146
|
|
135
147
|
private def gitlab_client
|
@@ -36,7 +36,7 @@ module GitHelper
|
|
36
36
|
merge_method
|
37
37
|
|
38
38
|
puts "Merging pull request: #{pr_id}"
|
39
|
-
merge = octokit_client.merge_pull_request(local_repo, pr_id,
|
39
|
+
merge = octokit_client.merge_pull_request(local_repo, pr_id, existing_pr.title, { merge_method: merge_method })
|
40
40
|
puts "Pull request successfully merged: #{merge.sha}"
|
41
41
|
rescue Octokit::UnprocessableEntity => e
|
42
42
|
puts 'Could not merge pull request:'
|
@@ -95,7 +95,16 @@ module GitHelper
|
|
95
95
|
end
|
96
96
|
|
97
97
|
private def merge_method
|
98
|
-
@merge_method ||= cli.merge_method
|
98
|
+
@merge_method ||= merge_options.length == 1 ? merge_options.first : cli.merge_method(merge_options)
|
99
|
+
end
|
100
|
+
|
101
|
+
private def merge_options
|
102
|
+
return @merge_options if @merge_options
|
103
|
+
merge_options = []
|
104
|
+
merge_options << 'merge' if existing_project.allow_merge_commit
|
105
|
+
merge_options << 'squash' if existing_project.allow_squash_merge
|
106
|
+
merge_options << 'rebase' if existing_project.allow_rebase_merge
|
107
|
+
@merge_options = merge_options
|
99
108
|
end
|
100
109
|
|
101
110
|
private def new_pr_title
|
@@ -135,8 +144,12 @@ module GitHelper
|
|
135
144
|
@template_name_to_apply
|
136
145
|
end
|
137
146
|
|
138
|
-
private def
|
139
|
-
@
|
147
|
+
private def existing_pr
|
148
|
+
@existing_pr ||= octokit_client.pull_request(local_repo, pr_id)
|
149
|
+
end
|
150
|
+
|
151
|
+
private def existing_project
|
152
|
+
@existing_project ||= octokit_client.repository(local_repo)
|
140
153
|
end
|
141
154
|
|
142
155
|
private def octokit_client
|
data/lib/git_helper/version.rb
CHANGED