porque odeio branches
DESCRIPTION
Slides da palestra no Café Ágil da ThoughtWorks e Tá Safo em Belém, 10/08/2012. Outros links interessantes: http://www.youtube.com/watch?v=xzstASOvqNc http://continuousdelivery.com/2011/05/make-large-scale-changes-incrementally-with-branch-by-abstraction/TRANSCRIPT
![Page 1: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/1.jpg)
Trunk-BasedDevelopmentRafael Petry
![Page 2: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/2.jpg)
Rafael Petry
Porque OdeioBranches
![Page 3: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/3.jpg)
![Page 4: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/4.jpg)
![Page 5: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/5.jpg)
FeatureBranching
![Page 6: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/6.jpg)
http://martinfowler.com/bliki/FeatureBranch.html
![Page 7: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/7.jpg)
http://martinfowler.com/bliki/FeatureBranch.html
![Page 8: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/8.jpg)
merge HELL
![Page 9: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/9.jpg)
![Page 10: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/10.jpg)
Conflito Sintáticoclass Person def initialize(name) @name = name<<<<<<< HEAD @first_name = name.split.first======= logger.debug "Registrado usuário #{name}">>>>>>> test endend
![Page 11: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/11.jpg)
Conflito Semântico
![Page 12: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/12.jpg)
“Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.”
Martin Fowler
![Page 13: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/13.jpg)
![Page 14: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/14.jpg)
“The bigger the apparent reason to branch, the more you shouldn’t branch.”
Jez Humble and David Farley
![Page 15: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/15.jpg)
FeatureToggles
![Page 16: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/16.jpg)
<% if feature?(:new_awesome_feature) %> <li><%= link_to “Clique!!!”, new_feature_url %></li><% end %>
![Page 17: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/17.jpg)
if feature?(:new_awesome_feature) # faz algo fantástico!else # faz o que era feito antes...end
![Page 18: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/18.jpg)
http://code.flickr.com/blog/2009/12/02/flipping-out/
![Page 19: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/19.jpg)
![Page 20: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/20.jpg)
Branch byAbstraction
![Page 21: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/21.jpg)
“Feature Branching is a poor man's modular architecture, instead of building systems with the ability to easy swap in and out features at runtime/deploytime they couple themselves to the source control providing this mechanism through manual merging.”
Dan Bodart
![Page 22: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/22.jpg)
SomeController
AnotherController
Event DB
![Page 23: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/23.jpg)
SomeController
AnotherController
Event DB
SVC
![Page 24: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/24.jpg)
SomeController
AnotherController
Event DB
SVC
![Page 25: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/25.jpg)
SomeController
AnotherController
Event DB
SVC
![Page 26: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/26.jpg)
SomeController
AnotherController
Event DB
SVCEventService
![Page 27: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/27.jpg)
SomeController
AnotherController
Event DB
SVCEventService
Produção
Teste
![Page 28: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/28.jpg)
SomeController
AnotherController
Event DB
SVCEventService
![Page 29: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/29.jpg)
SomeController
AnotherController SVCEventService
http://www.slideshare.net/dtsato/refatorao-em-larga-escala
![Page 30: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/30.jpg)
Exceções
![Page 31: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/31.jpg)
Spikes
![Page 32: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/32.jpg)
Free Software
![Page 33: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/33.jpg)
http://github.com
![Page 34: Porque Odeio Branches](https://reader034.vdocument.in/reader034/viewer/2022042813/5455f7a7b1af9fc0638b4c0c/html5/thumbnails/34.jpg)
Obrigado!Rafael [email protected]@rafaelpetry