ggsm 1.0.2 → 1.1.0

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
  SHA1:
3
- metadata.gz: 34d9787f4320d45a2351369c10eb1d20f8a044e9
4
- data.tar.gz: 76b1eea58ff025fa196b8d26bc361661a5216714
3
+ metadata.gz: 7bca353fbe3f7bb7e7127103276a603263f45901
4
+ data.tar.gz: b70a5547943b8a980d73277f050bdaab2f0cc7e8
5
5
  SHA512:
6
- metadata.gz: 0811971955639f68dbc09319acf62c820a9a636eacfdbcaeb1e78b05069fb9667ceffd442fc0a8acbb2581a2815fbe01dfd979ac352fdfb4f82d77f72fca7214
7
- data.tar.gz: 9198afa8a6e42e81495a488fc55646d297ffb082ec003c4faf8453b7364f6384d6b13a029e0ed8293114fd88ccceb32e7eb0b2f6b2b36af87d144aecf4ef21f2
6
+ metadata.gz: 340922eac3a57be385df68f2a87779854317cdf3e80e6cb2af6456926d16b400f62821abe081a275f8a448dad17e59d0761ee6df64b348f643b976e38b61b467
7
+ data.tar.gz: 450185b9f5f584c388769588c528c6a04962c18ea800a3560d5e5d4782a16d60a567cadc23252ff892faf1514f97b4d76a125b772da615a703c99c4352fd58cb
data/ggsm-1.0.0.gem CHANGED
Binary file
@@ -7,9 +7,7 @@ module GGSM
7
7
  include Stash
8
8
 
9
9
  def delete_flow(branch, remote, all)
10
- unless check_submodule
11
- return
12
- end
10
+ check_submodule
13
11
 
14
12
  puts '==> 进入主工程:'.yellow
15
13
 
@@ -1,18 +1,30 @@
1
1
  require 'colorize'
2
2
  require_relative '../util/submodule'
3
- require_relative '../util/stash'
4
3
 
5
4
  module GGSM
6
5
  module Finish
7
6
  include Submodule
8
- include Stash
9
7
 
10
- def finish_flow(branch)
11
- unless check_submodule
12
- return
8
+ def finish_flow
9
+ check_submodule
10
+ check_un_commit_code
11
+
12
+ subs = get_submodule
13
+ subs.each do |sub|
14
+ Dir.chdir sub
15
+ puts "==> 进入#{sub}:".yellow
16
+ system 'git add .'
17
+ system 'git commit'
18
+ system "git push origin #{get_current_branch}"
19
+ Dir.chdir '..'
13
20
  end
14
21
 
15
22
  puts '==> 进入主工程:'.yellow
23
+ system 'git add .'
24
+ system 'git commit'
25
+ system "git push origin #{get_current_branch}"
26
+
27
+ puts 'Modules执行:git add & commit & push'.blue
16
28
  end
17
29
  end
18
30
  end
@@ -8,9 +8,7 @@ module GGSM
8
8
  include Stash
9
9
 
10
10
  def foreach_flow(*commands)
11
- unless check_submodule
12
- return
13
- end
11
+ check_submodule
14
12
 
15
13
  cmd = ''
16
14
  if commands.size == 0
@@ -8,9 +8,7 @@ module GGSM
8
8
  include Stash
9
9
 
10
10
  def start_flow(branch, action)
11
- unless check_submodule
12
- return
13
- end
11
+ check_submodule
14
12
 
15
13
  puts '==> 进入主工程:'.yellow
16
14
 
@@ -8,9 +8,7 @@ module GGSM
8
8
  include Stash
9
9
 
10
10
  def switch_flow(branch)
11
- unless check_submodule
12
- return
13
- end
11
+ check_submodule
14
12
 
15
13
  puts '==> 进入主工程:'.yellow
16
14
 
@@ -6,9 +6,7 @@ module GGSM
6
6
  include Switch
7
7
 
8
8
  def sync_flow
9
- unless check_submodule
10
- return
11
- end
9
+ check_submodule
12
10
 
13
11
  result = system 'git pull'
14
12
  unless result
@@ -1,9 +1,7 @@
1
1
  module GGSM
2
2
  module Update
3
3
  def update_flow
4
- unless check_submodule
5
- return
6
- end
4
+ check_submodule
7
5
 
8
6
  system 'git submodule update --init --recursive'
9
7
  puts '==> 更新子模块完成!'.yellow
@@ -1,7 +1,7 @@
1
1
  module GGSM
2
2
  module Stash
3
3
  def try_stash
4
- status = `git status | grep 'nothing to commit'`
4
+ status = `git status --ignore-submodules | grep 'nothing to commit'`
5
5
  need_stash = false
6
6
  if status.strip == ''
7
7
  need_stash = true
@@ -4,9 +4,8 @@ module GGSM
4
4
  sub_str = `git submodule`
5
5
  if sub_str.empty?
6
6
  puts '所在目录工程下不存在Submodule,请检查所在目录!'.red
7
- return false
7
+ exit 1
8
8
  end
9
- return true
10
9
  end
11
10
 
12
11
  def get_submodule
@@ -33,5 +32,28 @@ module GGSM
33
32
  end
34
33
  return result
35
34
  end
35
+
36
+ def check_un_commit_code
37
+ subs = get_submodule
38
+ subs.each do |sub|
39
+ Dir.chdir sub
40
+ status = `git status --ignore-submodules | grep 'nothing to commit'`
41
+ if status.strip == ''
42
+ puts "#{sub} 有未提交的代码".red
43
+ exit 1
44
+ end
45
+ Dir.chdir '..'
46
+ end
47
+
48
+ status = `git status --ignore-submodules | grep 'nothing to commit'`
49
+ if status.strip == ''
50
+ puts '主工程 有未提交的代码'.red
51
+ exit 1
52
+ end
53
+ end
54
+
55
+ def get_current_branch
56
+ return `git branch | grep "*"`.split('* ')[1].split("\n")[0]
57
+ end
36
58
  end
37
59
  end
data/lib/ggsm/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module GGSM
2
- VERSION = '1.0.2'
2
+ VERSION = '1.1.0'
3
3
  end
data/lib/ggsm.rb CHANGED
@@ -6,6 +6,7 @@ require_relative 'ggsm/flow/sync'
6
6
  require_relative 'ggsm/flow/switch'
7
7
  require_relative 'ggsm/flow/delete'
8
8
  require_relative 'ggsm/flow/foreach'
9
+ require_relative 'ggsm/flow/merge'
9
10
  require_relative 'ggsm/flow/finish'
10
11
 
11
12
  module GGSM
@@ -16,6 +17,7 @@ module GGSM
16
17
  include Switch
17
18
  include Delete
18
19
  include Foreach
20
+ include Merge
19
21
  include Finish
20
22
 
21
23
  desc 'start <branch> [<commit>] [<origin>]', 'Start to develop new feature'
@@ -52,9 +54,14 @@ module GGSM
52
54
  foreach_flow(*commands)
53
55
  end
54
56
 
55
- desc 'finish <branch>', 'Finish the feature'
56
- def finish(branch)
57
- finish_flow(branch)
57
+ desc 'merge [<branch>]', 'Merge the <branch>, default <branch>: origin/dev'
58
+ def merge(branch='origin/dev')
59
+ merge_flow(branch)
60
+ end
61
+
62
+ desc 'finish', 'Finish the feature'
63
+ def finish
64
+ finish_flow
58
65
  end
59
66
  end
60
67
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ggsm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - YoKey
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-03 00:00:00.000000000 Z
11
+ date: 2017-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler