dev_flow 0.1.0 → 0.1.1
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.
- data/bin/dw +1 -0
- data/lib/dev_flow/app.rb +13 -4
- data/lib/dev_flow/commands/init.rb +2 -2
- data/lib/dev_flow/girc.rb +7 -4
- data/lib/dev_flow/version.rb +1 -1
- data/lib/dev_flow.rb +1 -0
- metadata +1 -1
data/bin/dw
CHANGED
data/lib/dev_flow/app.rb
CHANGED
@@ -28,6 +28,14 @@ module DevFlow
|
|
28
28
|
@config = @config.merge(YAML.load(File.open(@config[:local_config], 'r:utf-8').read))
|
29
29
|
end
|
30
30
|
|
31
|
+
# load roadmap into variable @roadmap
|
32
|
+
load_roadmap
|
33
|
+
|
34
|
+
# suggest user to take those tasks
|
35
|
+
@waiting = Hash.new
|
36
|
+
end
|
37
|
+
|
38
|
+
def load_roadmap
|
31
39
|
# load roadmap, reload config
|
32
40
|
if @config[:roadmap] and File.exists? (@config[:roadmap])
|
33
41
|
info "Load roadmap from #{@config[:roadmap]}"
|
@@ -47,9 +55,6 @@ module DevFlow
|
|
47
55
|
if @config["whoami"]
|
48
56
|
error "You (#{user_name}) are not in the known member list. You may use 'dw init' to setup the working environment." unless all_member_names.include? @config["whoami"]
|
49
57
|
end
|
50
|
-
|
51
|
-
# suggest user to take those tasks
|
52
|
-
@waiting = Hash.new
|
53
58
|
end
|
54
59
|
|
55
60
|
# log message handler
|
@@ -195,6 +200,7 @@ module DevFlow
|
|
195
200
|
if @config["git_remote"]
|
196
201
|
info "Rebase you working directory from #{@config["git_remote"]}/devleop"
|
197
202
|
@git.rebase! @config["git_remote"], 'develop'
|
203
|
+
load_roadmap # load roadmap again
|
198
204
|
else
|
199
205
|
info "Git remote not defined, skip rebase."
|
200
206
|
end
|
@@ -227,7 +233,10 @@ module DevFlow
|
|
227
233
|
unless (is_complete or current_branch == 'develop')
|
228
234
|
switch_to! current_branch
|
229
235
|
`git merge develop`
|
230
|
-
|
236
|
+
if @config[:git_remote]
|
237
|
+
`git push #{@config[:git_remote]} #{current_branch}`
|
238
|
+
ask_rebase true # force rebase from git remote
|
239
|
+
end
|
231
240
|
end
|
232
241
|
end
|
233
242
|
|
@@ -34,7 +34,7 @@ module DevFlow
|
|
34
34
|
ans = STDIN.gets.chomp!
|
35
35
|
ans = sugguest unless ans.size > 0
|
36
36
|
error "Unknown member! Can not continue." unless all_member_names.include? ans
|
37
|
-
error "You are not in the team, you should not edit the files under this project" unless @roadmap.team_member_names.include? ans
|
37
|
+
error "You are not in the team, you should not edit the files under this project." unless @roadmap.team_member_names.include? ans
|
38
38
|
|
39
39
|
# find the default git remote server
|
40
40
|
@config["whoami"] = ans
|
@@ -52,7 +52,7 @@ module DevFlow
|
|
52
52
|
|
53
53
|
ans2 = STDIN.gets.chomp!
|
54
54
|
ans2 = suggest unless ans2.size > 0
|
55
|
-
error "You must define a valid git remote server" unless remotes.include? ans2
|
55
|
+
error "You must define a valid git remote server." unless remotes.include? ans2
|
56
56
|
|
57
57
|
# write out to the local configuration file
|
58
58
|
info "write contents to local configuration file"
|
data/lib/dev_flow/girc.rb
CHANGED
@@ -115,7 +115,7 @@ module DevFlow
|
|
115
115
|
|
116
116
|
def stash!
|
117
117
|
unless wd_clean?
|
118
|
-
info "
|
118
|
+
info "Stash your local changes"
|
119
119
|
`#{@git} add .`
|
120
120
|
`#{@git} stash`
|
121
121
|
end
|
@@ -131,8 +131,8 @@ module DevFlow
|
|
131
131
|
def rebase! remote = 'origin', branch = 'develop'
|
132
132
|
cb = self.current_branch
|
133
133
|
stashed = false
|
134
|
+
|
134
135
|
unless self.wd_clean?
|
135
|
-
info "Stash your local changes"
|
136
136
|
self.stash!
|
137
137
|
stashed = true
|
138
138
|
end
|
@@ -142,21 +142,24 @@ module DevFlow
|
|
142
142
|
# `#{@git} pull --rebase #{remote} #{branch}`
|
143
143
|
`#{@git} pull #{remote} #{branch}`
|
144
144
|
else
|
145
|
-
info "pull branch #{self.current_branch} from remote"
|
146
|
-
`#{@git} pull #{remote} #{self.current_branch}`
|
147
145
|
info "Switch to branch #{branch}"
|
148
146
|
`#{@git} fetch #{remote}`
|
149
147
|
rslt = `#{@git} checkout #{branch}`
|
150
148
|
raise "Checkout failed: #{rslt}" unless $?.success?
|
149
|
+
|
151
150
|
info "Update branch from remote"
|
152
151
|
# rslt = `#{@git} pull --rebase #{remote} #{branch}`
|
153
152
|
rslt = `#{@git} pull #{remote} #{branch}`
|
154
153
|
raise "Pull for #{branch} failed: #{rslt}" unless $?.success?
|
154
|
+
|
155
155
|
info "Switch back to branch #{cb}"
|
156
156
|
`#{@git} checkout #{cb}`
|
157
157
|
info "Merge from #{branch}"
|
158
158
|
rslt = `#{@git} merge #{branch}`
|
159
159
|
raise "Merge with #{branch} failed: #{rslt}" unless $?.success?
|
160
|
+
|
161
|
+
info "pull branch #{self.current_branch} from remote"
|
162
|
+
`#{@git} pull #{remote} #{self.current_branch}`
|
160
163
|
end
|
161
164
|
|
162
165
|
self.stash_pop! if stashed
|
data/lib/dev_flow/version.rb
CHANGED
data/lib/dev_flow.rb
CHANGED