prima-twig 0.2.2 → 0.2.4

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/twig-hotfix +97 -0
  3. metadata +3 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5b2a181c44c45d9147fc291461a0a4ff805b50c5
4
- data.tar.gz: 9fd50461d8b3b719fbb4db6350cabe2eda195baa
3
+ metadata.gz: 39893567ec05dd93e8792337c10983031d770899
4
+ data.tar.gz: 659ad8ba77f0a8be66b6ec4db0121b1d71b6b526
5
5
  SHA512:
6
- metadata.gz: 7ed8270781d2e2b97e68931ee9d4755bf897c11d2a668e48bd2da8e404aec09aee9f7e923e592b07366f596cfa9f5dee18ea6680c42f0804e37b4ac025b59fda
7
- data.tar.gz: 473970d26bcc38d91764976f50f71c60d25a8984ef7fc28f76db75c87a5013caf9263147783d63df5731d13f38cc21bfcce4380bb6951b86d0759deb9a7101a7
6
+ metadata.gz: 01f1bd379d93d0c8d0123d256d09a3da39510fdaa7953bc459960641702a480706aaca05de276d5a44566509bb1ac573bb0db33dc11716a4267af53da51af5eb
7
+ data.tar.gz: b523a35adec9db583f1da36946e33c69f1c998e11cbcd109375fa03d99c6f722398e27a035b370598b8ea804d20e9b78fd60b5812922421a7c9f972a16bc1d9e
data/bin/twig-hotfix ADDED
@@ -0,0 +1,97 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require_relative '../lib/prima_twig.rb'
5
+
6
+ class Hotfix
7
+ include Command
8
+
9
+ def initialize
10
+ @prima = Prima.new
11
+ end
12
+
13
+ def execute! args
14
+ possible_args = ["start", "stop"]
15
+ stop_if args.empty?, [:wrong_args, possible_args]
16
+ stop_if args.length > 1, [:wrong_args, possible_args]
17
+
18
+ stop_if @prima.head_detached?, :detached_head
19
+ stop_unless @prima.is_clean?, :clean
20
+
21
+ case args[0]
22
+ when "start"
23
+ start_hotfix!
24
+ when "stop"
25
+ merge_hotfix!
26
+ else
27
+ stop_if true, [:wrong_args, possible_args]
28
+ end
29
+ end
30
+
31
+ def start_hotfix!
32
+ branch_name = @prima.clean_branch_name(ask('Nome del branch: '.blue))
33
+ branch_name = "hotfix/" + branch_name
34
+ output "Il nome del branch sarà " + branch_name.yellow
35
+
36
+ exec_step "git checkout master"
37
+ exec_step "git checkout -b " + branch_name
38
+ end
39
+
40
+ def merge_hotfix!
41
+ current_branch_name = @prima.twig.current_branch_name
42
+ stop_unless (current_branch_name =~ /^hotfix\//), "Non sei su un branch di hotfix, non posso mergiare nulla"
43
+ exec_step "git fetch"
44
+ exec_step "git checkout master"
45
+ exec_step "git rebase origin/master"
46
+ exec_step "git merge #{current_branch_name}"
47
+ exec_step "git checkout dev"
48
+ exec_step "git rebase origin/dev"
49
+ exec_step "git merge #{current_branch_name}"
50
+ delete_local = @prima.yesno "elimino il branch #{current_branch_name}".blue
51
+ if delete_local
52
+ exec_step "git branch -d #{current_branch_name}"
53
+ end
54
+ push = @prima.yesno 'vuoi effettuare il push di dev e master'.blue
55
+ if push
56
+ exec_step "git checkout master"
57
+ exec_step "git push origin master"
58
+ exec_step "git checkout dev"
59
+ exec_step "git push origin dev"
60
+ end
61
+ end
62
+ end
63
+
64
+ def help_content
65
+ <<-HELP
66
+
67
+ twig-hotfix
68
+ ===========
69
+
70
+ Manage hotfix creation and merging
71
+
72
+ Synopsis
73
+ --------
74
+
75
+ twig hotfix start
76
+ twig hotfix close
77
+
78
+ Description
79
+ -----------
80
+
81
+ start creates an hotfix from master branch
82
+ close closes the actual hotfix by merging to dev and master
83
+
84
+ Subcommand for Twig: <http://rondevera.github.io/twig/>
85
+ Author: Matteo Giachino <https://github.com/matteosister>
86
+
87
+ HELP
88
+ end
89
+
90
+ args = ARGV.dup
91
+
92
+ if args.include?('--help')
93
+ puts help_content
94
+ exit
95
+ end
96
+
97
+ Hotfix.new.execute!(args)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prima-twig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matteo Giachino
@@ -114,6 +114,7 @@ description: Our tools to manage git, github and trello
114
114
  email: matteo.giachino@prima.it
115
115
  executables:
116
116
  - twig-circle
117
+ - twig-hotfix
117
118
  - twig-open-pr
118
119
  - twig-pick-issue
119
120
  - twig-review
@@ -121,6 +122,7 @@ extensions: []
121
122
  extra_rdoc_files: []
122
123
  files:
123
124
  - bin/twig-circle
125
+ - bin/twig-hotfix
124
126
  - bin/twig-open-pr
125
127
  - bin/twig-pick-issue
126
128
  - bin/twig-review