ggsm 1.0.2 → 1.1.0

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: 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