gb 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6cbb144ce7b27e5b2d0baf6bef7ad30b081f2b858e7269575fe8077f7a82836a
4
- data.tar.gz: 281cae42940517465d86449a455fd1a461059ec8863227a549515b6c0d3329d9
3
+ metadata.gz: b92a4e546c65aa5763dbca8c0d44ce618b7049464a6bd3b2cdd6cab0d40d8319
4
+ data.tar.gz: a250d44da3534a1e6d7838a85a6c4a29181c1265aff835da5d04bc0b0f82cf4c
5
5
  SHA512:
6
- metadata.gz: 80d86fa85596b45d698be35d7c3e4601ecbc7f994665d257b388f1e9480088866a4b8e9d3fd17f38c6def6b8e965e84c1f5bb30b728ce14fa9db585ae5139d1e
7
- data.tar.gz: 5961753dc5033357b96cb524339accb519275347ff53b5c92a68487b6c0ef0e47dfd6906a68ed0401c99d20485a9353e670efa66490175cf559d4925bb5c334b
6
+ metadata.gz: e51b1b5d76ee3590650665a52731fbdf11dcea9c2a67f9f9ca1034a4c8b53334690ea60c7d77a38e077bd93d74480cee0fc463f2be564aef57c527da3a61df32
7
+ data.tar.gz: 7a37de109ec6ec2409277f93a2e53b5ee8863ce337723d22ff630314736fac0567cc015d0be8b55af6a5f60a0bd45d1eff876b0c52efe92904761bc8b1d69343
@@ -18,6 +18,7 @@ module Gb
18
18
  def self.options
19
19
  [
20
20
  ["--assignee=[user name]", "指定review用户名称"],
21
+ ["--at=[user name]", "指定要@用户名称"],
21
22
  ["--title", "merge request标题"],
22
23
  ["--show-diff", "review前是否显示变更"],
23
24
  ].concat(super)
@@ -27,6 +28,7 @@ module Gb
27
28
  # @working_branch = argv.shift_argument
28
29
  # @remote_branch = argv.shift_argument
29
30
  @assignee = argv.option('assignee')
31
+ @at = argv.option('at')
30
32
  @title = argv.option('title')
31
33
  @show_diff = argv.flag?('show-diff')
32
34
  super
@@ -71,6 +73,11 @@ module Gb
71
73
  user = gitlab_search_user(@assignee)
72
74
  end
73
75
 
76
+ at_user = nil
77
+ if !@at.nil?
78
+ at_user = gitlab_search_user(@at)
79
+ end
80
+
74
81
  self.gb_config.projects.each_with_index do |project, index|
75
82
  project_path = File.expand_path(project.name, './')
76
83
  if File.exist?(project_path)
@@ -151,11 +158,24 @@ module Gb
151
158
 
152
159
  if user.nil?
153
160
  users = gitlab_get_team_members(gitlab_project.id)
161
+
162
+ info "Find user to assign."
163
+ users.each_with_index do |user, index|
164
+ puts "#{index + 1}、#{user.username}(#{user.name})".green
165
+ end
166
+
154
167
  begin
155
168
  info "\nSelect user name or index for review."
156
169
  input_user = STDIN.gets.chomp
157
- if input_user =~ /[[:digit:]]/
158
- user = users[input_user.to_i - 1]
170
+ if input_user.length == 0
171
+ user = nil
172
+ elsif input_user =~ /[[:digit:]]/
173
+ index = input_user.to_i;
174
+ if index > 0 && index < users.size
175
+ user = users[input_user.to_i - 1]
176
+ else
177
+ user = nil
178
+ end
159
179
  else
160
180
  user = gitlab_search_user(input_user)
161
181
  end
@@ -174,6 +194,40 @@ module Gb
174
194
  end until @title.length > 0
175
195
  end
176
196
 
197
+ if at_user.nil?
198
+ info "Find user for @."
199
+ puts "0、none".green
200
+ users.each_with_index do |user, index|
201
+ puts "#{index + 1}、#{user.username}(#{user.name})".green
202
+ end
203
+
204
+ begin
205
+ info "\nSelect user name or index for @."
206
+ input_user = STDIN.gets.chomp
207
+ if input_user =~ /[[:digit:]]/
208
+ index = input_user.to_i;
209
+ if index == 0
210
+ break
211
+ end
212
+ at_user = users[index - 1]
213
+ else
214
+ if input_user.length == 0
215
+ break
216
+ elsif index < users.size
217
+ user = users[input_user.to_i - 1]
218
+ else
219
+ user = nil
220
+ end
221
+ at_user = gitlab_search_user(input_user)
222
+ end
223
+ if at_user.nil?
224
+ error "Can not found user '#{input_user}'."
225
+ else
226
+ info "@#{at_user.username}(#{at_user.name})"
227
+ end
228
+ end until !at_user.nil?
229
+ end
230
+
177
231
  # 总共 0 (差异 0),复用 0 (差异 0)
178
232
  # remote:
179
233
  # remote: To create a merge request for dev-v3.9.0-luobin, visit:
@@ -183,8 +237,8 @@ module Gb
183
237
  # * [new branch] dev-v3.9.0-luobin -> dev-v3.9.0-luobin
184
238
 
185
239
  begin
186
- merge_request = Gitlab.create_merge_request(gitlab_project.id, @title,
187
- { source_branch: @working_branch, target_branch: @remote_branch, assignee_id:user ? user.id : "" })
240
+ options = { source_branch: @working_branch, target_branch: @remote_branch, assignee_id:user ? user.id : "", description:at_user ? "@#{at_user.username}":nil }
241
+ merge_request = Gitlab.create_merge_request(gitlab_project.id, @title, options)
188
242
  info "Create merge request for #{project.name} success. see detail url:#{merge_request.web_url}"
189
243
  if !Gem.win_platform?
190
244
  `open -a "/Applications/Google Chrome.app" '#{merge_request.web_url}/diffs'`
@@ -247,10 +301,7 @@ module Gb
247
301
  user.username == 'root'
248
302
  }
249
303
  if users.size > 0
250
- info "Find user to assign."
251
- users.each_with_index do |user, index|
252
- puts "#{index + 1}、#{user.username}(#{user.name})".green
253
- end
304
+
254
305
  else
255
306
  raise Error.new("Can't find members in project '#{project_id}''.")
256
307
  end
data/lib/gb/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Gb
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - binluo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-06 00:00:00.000000000 Z
11
+ date: 2019-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gitlab