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