lib/stencil/merge.rb in stencil-0.1.4 vs lib/stencil/merge.rb in stencil-0.1.5
- old
+ new
@@ -82,20 +82,23 @@
end
def progressive(path, branches, push)
merger = branches.shift
mergee = branches.first
- if merger && mergee
- unless merger.empty? || mergee.empty?
- output = Cmd.run path, "git checkout #{mergee}"
- Msg.error(output) if output.downcase.include?('error')
- Msg.merging_x_into_y merger, mergee
- output = Cmd.run path, "git merge #{merger}"
- Msg.error(output) if output.downcase.include?('conflict')
- Cmd.run(path, "git push origin #{mergee}") if push
+ branches.each do |mergee|
+ if merger && mergee
+ ok = mergee[0..merger.length-1] == merger || merger == 'master'
+ unless merger.empty? || mergee.empty? || !ok
+ output = Cmd.run path, "git checkout #{mergee}"
+ Msg.error(output) if output.downcase.include?('error')
+ Msg.merging_x_into_y merger, mergee
+ output = Cmd.run path, "git merge #{merger}"
+ Msg.error(output) if output.downcase.include?('conflict')
+ Cmd.run(path, "git push origin #{mergee}") if push
+ end
end
- progressive(path, branches, push)
end
+ progressive(path, branches, push) unless branches.empty?
end
end
end
end
\ No newline at end of file