pixab 2.6.1 → 2.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2bd7c2f70afda370b52d1053f29c31cf57de92b8b83773d2274062faa8ec7444
4
- data.tar.gz: 5b708bdf573d20c2e8dd7386f706fd70e10674f28bdf51057d4c612ee8753d49
3
+ metadata.gz: ec3906e79f2ebe67f2f7dc8febbed0ae2d7eec5fa2490df64b5db3c9893ea18b
4
+ data.tar.gz: 73ec79db985afcd1d5f432d26ab173f791c846ed44c81930f8b23a9867874c84
5
5
  SHA512:
6
- metadata.gz: 0ce7a74b7b42ee05dd4db01ad342ccb4b0183926a92e450b20915fdf49bb063251536eca8e8964acb7e37dcc8d0b71c1b002e73f7d79a49618e0e35b38581eb1
7
- data.tar.gz: 3aaa2d852128c0cbdc8fc1a9623dd37d3031e03926d2a823e626dea4ba059fabc56d02c38bd908505807b793dfe97deeeebdc59e48ba337c2295dd321603787f
6
+ metadata.gz: 211e0f3ce4e1cbe14986838a63ac812204953ac0f5709151cdccac5d4fe8557d63ec554977b52110e1ff529a964033f9b2d6218c2291c5a2c59633cd6b22435a
7
+ data.tar.gz: 03630d3d4d10cc0c26fb93ae42e9a613694f155da614f77c17c7fc5695d87e42603e0899c3e8f7309e456d3e02f72ec3ed69ebeafd5baeacf64091a006144c5b
data/exe/pixab CHANGED
@@ -27,7 +27,11 @@ when 'sync'
27
27
 
28
28
  is_need_commit = Pixab::Utilities.display_default_dialog("是否需要提交代码")
29
29
  if is_need_commit
30
- commands = ["-m"]
30
+ commands = []
31
+ if ARGV.count > 1
32
+ commands.push(*ARGV[1..-1])
33
+ end
34
+ commands.push("-m")
31
35
  if !synchronizer.updated_repo_names.empty?
32
36
  default_commit_msg = "[Feature]Update"
33
37
  synchronizer.updated_repo_names.each do |repo_name|
data/lib/pixab/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pixab
4
- VERSION = "2.6.1"
4
+ VERSION = "2.6.3"
5
5
  end
@@ -12,7 +12,7 @@ module Pixab
12
12
 
13
13
  class ComponentSynchronizer
14
14
 
15
- attr_accessor :is_need_build, :is_need_remote_repo, :is_need_pod_install, :is_use__target_branch
15
+ attr_accessor :is_need_build, :is_need_remote_repo, :is_need_pod_install, :is_use__target_branch, :need_merge_origin
16
16
  attr_reader :repo_manager, :repos, :main_repo_name, :updated_repo_names
17
17
 
18
18
  def initialize(repo_manager = RepoManager.new, commands = nil)
@@ -21,6 +21,7 @@ module Pixab
21
21
  @is_need_remote_repo = false
22
22
  @is_need_pod_install = false
23
23
  @is_use__target_branch = true
24
+ @need_merge_origin = true
24
25
 
25
26
  if commands.nil?
26
27
  return
@@ -38,6 +39,8 @@ module Pixab
38
39
  @is_need_pod_install = true
39
40
  when "--current-branch"
40
41
  @is_use__target_branch = false
42
+ when "--no-merge-origin"
43
+ @need_merge_origin = false
41
44
  else
42
45
  end
43
46
  end
@@ -119,6 +122,10 @@ module Pixab
119
122
 
120
123
  # 合并代码并检查冲突
121
124
  def merge_and_check
125
+ if not need_merge_origin
126
+ return
127
+ end
128
+
122
129
  system "mbox merge --repo #{main_repo_name}"
123
130
  FileUtils.cd("#{repo_manager.root_path}/#{main_repo_name}")
124
131
  `git --no-pager diff --check`
@@ -11,7 +11,7 @@ module Pixab
11
11
 
12
12
  class MergeRequest
13
13
 
14
- attr_accessor :repo_type, :default_commit_msg, :need_merge_origin, :need_creat_mr
14
+ attr_accessor :repo_type, :default_commit_msg, :need_merge_origin, :need_creat_mr, :need_push_remote
15
15
  attr_reader :repo_manager, :repos, :command_options
16
16
 
17
17
  def initialize(repo_manager = RepoManager.new, commands = nil)
@@ -20,6 +20,7 @@ module Pixab
20
20
  @default_commit_msg = "[Feature]"
21
21
  @need_merge_origin = true
22
22
  @need_creat_mr = true
23
+ @need_push_remote = false
23
24
 
24
25
  if commands.nil?
25
26
  return
@@ -37,6 +38,9 @@ module Pixab
37
38
  @need_merge_origin = false
38
39
  when "--no-mr"
39
40
  @need_creat_mr = false
41
+ when "--current-branch"
42
+ @need_creat_mr = false
43
+ @need_push_remote = true
40
44
  else
41
45
  end
42
46
  end
@@ -46,7 +50,11 @@ module Pixab
46
50
  read_repo_infos
47
51
  commit
48
52
  merge
49
- push_and_create_mr
53
+ if need_creat_mr
54
+ push_and_create_mr
55
+ elseif need_push_remote
56
+ push_to_remote
57
+ end
50
58
  end
51
59
 
52
60
  # 读取组件信息
@@ -102,10 +110,6 @@ module Pixab
102
110
 
103
111
  # 推送MR
104
112
  def push_and_create_mr()
105
- if !need_creat_mr
106
- return
107
- end
108
-
109
113
  feature_branch = repo_manager.feature_branch
110
114
 
111
115
  reviewers = Utilities.display_dialog("正在创建Merge Request\n请输入审核人员ID:\n子琰(979) 丕臻(1385) 再润(1569) 思保(1922)", "979 1385").split()
@@ -141,7 +145,34 @@ module Pixab
141
145
  `#{commad} -o merge_request.create #{mr_target} #{mr_source_branch} #{mr_request_assign}`
142
146
  end
143
147
  end
144
-
145
- end
148
+
149
+ def push_to_remote
150
+ feature_branch = repo_manager.feature_branch
151
+
152
+ repos.each do |repo|
153
+ repo_name = repo["name"]
154
+ puts "\n[#{repo_name}]"
155
+ FileUtils.cd("#{repo_manager.root_path}/#{repo_name}")
156
+ current_branch = GitUtils.current_branch
157
+ if current_branch != feature_branch
158
+ puts "\n[!] The repo #{repo_name} is not in feature branch `#{feature_branch}`. Skip it.".yellow
159
+ next
160
+ end
161
+
162
+ repo_target_branch = repo["target_branch"]
163
+
164
+ log_content = `git log origin/#{repo_target_branch}..#{current_branch} --pretty=format:"%H"`
165
+ if log_content.empty?
166
+ puts "\n[!] branch `#{current_branch}` is same as branch `origin/#{repo_target_branch}`. Skip it.".yellow
167
+ next
168
+ end
169
+
170
+ commad = "git push"
171
+ if repo["last_branch"].nil?
172
+ commad += " --set-upstream origin #{current_branch}"
173
+ end
174
+ `#{commad}`
175
+ end
176
+ end
146
177
 
147
178
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pixab
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.1
4
+ version: 2.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - 廖再润
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-04-25 00:00:00.000000000 Z
11
+ date: 2025-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colored2