ggsm 1.9.5 → 1.9.6

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
  SHA1:
3
- metadata.gz: 47d8ec3398b296685a823e6a4a109630681b754b
4
- data.tar.gz: cd58b2223ee96d9131f6ab7d286c477a6f14663e
3
+ metadata.gz: eff4d91dbecc7d102b873839c5a84f575e7406d5
4
+ data.tar.gz: bf4a0ae3ad526699a70f6f6bb1aee32dbda6dc10
5
5
  SHA512:
6
- metadata.gz: 53a5a489d8673d8306fc0d5b7f82ed2103b51abc007ab9e42082441f3ea094fde321c0661911f007d6b9f17898706d6ff5e96a257fe7bf6e661a55d24fcc431a
7
- data.tar.gz: f0dd23ca8408b5aa04e2d96428ea74b269711a13315b2136c85e5120ea9fad67e03bc3ce358e4d5ab596152039f3153afb0393c174d1d065c50c82895d227472
6
+ metadata.gz: a4187a7c6e88bbd134f08cf976c466490ce0bf39fafcad8fc18e863412f9761d3b441478f99fc6505132f2c8fcf88f51c25fd4701c189b29551aa209f6bc2830
7
+ data.tar.gz: 5540f513a9502b77ddfe91b349d42471153c57e128accd8bd4dbaed3621fa54c4d1a95f183871fa2dbb63b17a371292e4c2b640da70f4b62a37c0c6ad4408380
data/.gitignore CHANGED
@@ -11,3 +11,4 @@
11
11
 
12
12
  # rspec failure tracking
13
13
  .rspec_status
14
+ *.gem
@@ -13,12 +13,12 @@ module GGSM
13
13
  }
14
14
 
15
15
  puts '==> 进入主工程:'.yellow
16
- process_finish(force)
16
+ process_finish(force, get_main_project_msg)
17
17
 
18
18
  puts 'Modules执行:git add & commit & push'.blue
19
19
  end
20
20
 
21
- def process_finish(force)
21
+ def process_finish(force, msg='')
22
22
  system 'git add .'
23
23
 
24
24
  branch = get_current_branch
@@ -29,7 +29,11 @@ module GGSM
29
29
  if stage == ''
30
30
  `git commit`
31
31
  else
32
- result = system 'git commit'
32
+ if msg == ''
33
+ result = system 'git commit'
34
+ else
35
+ result = system "git commit -m \"#{msg}\""
36
+ end
33
37
  unless result
34
38
  exit 1
35
39
  end
@@ -38,5 +42,45 @@ module GGSM
38
42
 
39
43
  `git push -u origin #{get_current_branch} #{force ? '-f' : ''}`
40
44
  end
45
+
46
+ def get_main_project_msg()
47
+ system 'git add .'
48
+
49
+ pattern = /[A-Z]\s*(.*)/
50
+ result = `git status -s | grep -e '[A-Z].*'`.split(/\n/).delete_if do |r|
51
+ r == ''
52
+ end
53
+ modified = []
54
+ result.each do |r|
55
+ if match = r.match(pattern)
56
+ module_name = match[1].strip
57
+ if is_submodule(module_name)
58
+ modified.push(match[1].strip)
59
+ end
60
+ end
61
+ end
62
+
63
+ whole_files = `git status -s`.split(/\n/).delete_if do |w|
64
+ w == ''
65
+ end
66
+ return '' if whole_files.length != modified.length
67
+
68
+ outputs = ''
69
+ modified.each_with_index do |m, index|
70
+ msg = get_lastest_msg_of_module(m)
71
+ outputs += msg.insert(msg.index(':') + 1, "[#{get_module_name(m)}]")
72
+ if index != modified.length - 1
73
+ outputs += "\n"
74
+ end
75
+ end
76
+
77
+ puts outputs
78
+ outputs
79
+ end
80
+
81
+ def get_module_name(module_name)
82
+ module_name.split(/\//).last.downcase
83
+ end
84
+
41
85
  end
42
86
  end
@@ -6,7 +6,7 @@ module GGSM
6
6
  def send_email(user,title,msg)
7
7
  message = <<END_OF_MESSAGE
8
8
  From: GGSM Merge Request <18019913184@163.com>
9
- To: 王右右 <wangyouyou@souche.com>,王锡臣 <wangxichen@souche.com>,沈若川 <shenruochuan@souche.com>,洪晨 <hongchen@souche.com>,朱瑞雪 <zhuruixue@souche.com>,朱久言 <zhujiuyan@souche.com>
9
+ To: 王右右 <wangyouyou@souche.com>,沈若川 <shenruochuan@souche.com>,刘林儒 <liulinru@souche.com>,朱久言 <zhujiuyan@souche.com>
10
10
  Subject: [#{user}] #{title}
11
11
 
12
12
  #{msg}
@@ -17,10 +17,8 @@ END_OF_MESSAGE
17
17
  smtp.send_message message,
18
18
  '18019913184@163.com',
19
19
  'wangyouyou@souche.com',
20
- 'wangxichen@souche.com',
21
20
  'shenruochuan@souche.com',
22
- 'hongchen@souche.com',
23
- 'zhuruixue@souche.com',
21
+ 'liulinru@souche.com',
24
22
  'zhujiuyan@souche.com'
25
23
  end
26
24
  end
@@ -129,6 +129,34 @@ module GGSM
129
129
  end
130
130
  end
131
131
 
132
+ def get_lastest_msg_of_module(module_name)
133
+ msg = ''
134
+ project_path = Dir.pwd
135
+ if is_submodule(module_name)
136
+ Dir.chdir module_name
137
+ msg = get_lastest_msg_not_merge
138
+ Dir.chdir project_path
139
+ end
140
+ msg
141
+ end
142
+
143
+ def is_submodule(module_name)
144
+ get_submodule.include?(module_name)
145
+ end
146
+
147
+ def get_lastest_msg_not_merge
148
+ depth = 1
149
+ while (msg = get_lastest_msg(depth)).start_with?('Merge branch') do
150
+ depth += 1
151
+ end
152
+ msg
153
+ end
154
+
155
+ def get_lastest_msg(depth)
156
+ msg = `git log --format=%B -n #{depth}`.split(/\n\n/)
157
+ msg[depth - 1].strip
158
+ end
159
+
132
160
  def get_current_branch
133
161
  `git branch | grep "*"`.split('* ')[1].split("\n")[0]
134
162
  end
@@ -153,4 +181,4 @@ module GGSM
153
181
  `git rev-parse #{branch}`
154
182
  end
155
183
  end
156
- end
184
+ end
@@ -1,3 +1,3 @@
1
1
  module GGSM
2
- VERSION = '1.9.5'
2
+ VERSION = '1.9.6'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ggsm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.5
4
+ version: 1.9.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - YoKey
@@ -97,6 +97,7 @@ files:
97
97
  - README.md
98
98
  - Rakefile
99
99
  - bin/ggsm
100
+ - ggsm-1.9.4.gem
100
101
  - ggsm.gemspec
101
102
  - lib/ggsm.rb
102
103
  - lib/ggsm/command/delete.rb