Liya Katz & Miron Gofer Parallel Development
Agenda  <ul><li>What is Parallel Development? </li></ul><ul><li>Solutions: branching models and more </li></ul><ul><li>DVC...
What is Parallel Development? Terminology: Codeline Branch Merge Feature Freeze Code Freeze
Branching models <ul><li>files versioning and no branching </li></ul><ul><li>branch by release </li></ul><ul><li>branch by...
Files versioning and no branching <ul><li>Managing the history... </li></ul>
Branch by Release Release 1.0 Release 2.0 Release 3.0 Production 1.0 Production 2.0 Production 3.0 Development QA Producti...
Branch by Task Integration branch 1.0 Task 2 Task 1 Task 3 Integration Terminology:   Integration codeline/branch   Integr...
Branch by Purpose DEV Normal Development Feature  Freeze   Bridge Rrelease to QA (Code Feeze) ‏ Release candidate 1.0 Norm...
Additional solutions
Feature toggle
Private branching
DVCS Overview <ul><li>D istributed </li></ul><ul><li>V ersion </li></ul><ul><li>C ontrol </li></ul><ul><li>S ystem </li></...
Key concepts <ul><li>Make (record)  the changes and  Share  the changes are distinct operations </li></ul>
Key concepts <ul><li>Peer-to-Peer  approach  </li></ul><ul><li>(We are equal) </li></ul>
Key concepts <ul><li>Construct  your own  structure  (free as in freedom) </li></ul>
Key concepts <ul><li>Merge is good!!! </li></ul>
Key concepts <ul><li>New Terminology : </li></ul><ul><li>Checkout, checkin, branch, log  are all local actions. For collab...
DVCS Overview - cont. <ul><li>Advantages </li></ul><ul><ul><li>. </li></ul></ul><ul><ul><li>. </li></ul></ul><ul><ul><li>....
DVC systems <ul><li>GIT </li></ul><ul><ul><li>Linux, X.org, Rails. </li></ul></ul><ul><ul><li>Very fast very powerful. </l...
Demo <ul><li>Empower subversion with git private branching </li></ul>
Use case <ul><li>Central SVN repository </li></ul><ul><li>Use local GIT repository for private branching on developer envi...
Demo steps <ul><li>Clone repository using command line: </li></ul><ul><li>$  git svn clone http://dev.tikalk.com/svn/repos...
Demo steps <ul><li>Open eclipse, import the project  </li></ul><ul><li>and share with git: </li></ul>
Demo steps <ul><li>Make change on the master branch: </li></ul>
Demo steps <ul><li>Create new branch and checkout: </li></ul>
Demo steps <ul><li>Make changes on the new branch and commit: </li></ul>
Demo steps <ul><li>Checkout back to master </li></ul><ul><li>sync with branch, merge and commit </li></ul>
Demo steps <ul><li>Rebase and commit to SVN from command line: </li></ul><ul><li>$ git svn rebase </li></ul><ul><li>$ git ...
DEMO
Thank you
Upcoming SlideShare
Loading in...5
×

Alm tce parallel development

1,241

Published on

Alm tce parallel development by Liya Kats and Miron Gopher from Tikal Knowledge given at Tikal TCE:
http://www.tikalk.com/tce-event-281210-revolution-application-lifecycle-management-krypton

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,241
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
40
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Alm tce parallel development

  1. 1. Liya Katz & Miron Gofer Parallel Development
  2. 2. Agenda <ul><li>What is Parallel Development? </li></ul><ul><li>Solutions: branching models and more </li></ul><ul><li>DVCS </li></ul><ul><li>Use case and demo </li></ul>
  3. 3. What is Parallel Development? Terminology: Codeline Branch Merge Feature Freeze Code Freeze
  4. 4. Branching models <ul><li>files versioning and no branching </li></ul><ul><li>branch by release </li></ul><ul><li>branch by task </li></ul><ul><li>branch by purpose </li></ul>
  5. 5. Files versioning and no branching <ul><li>Managing the history... </li></ul>
  6. 6. Branch by Release Release 1.0 Release 2.0 Release 3.0 Production 1.0 Production 2.0 Production 3.0 Development QA Production Release to QA Development QA Production Release to QA Development QA Production Approved bug fix Merge bug fix to release 2.0 Merge bug fix to release 3.0
  7. 7. Branch by Task Integration branch 1.0 Task 2 Task 1 Task 3 Integration Terminology: Integration codeline/branch Integration task + integrator role Deliver Rebase Production 1.0 QA Production
  8. 8. Branch by Purpose DEV Normal Development Feature Freeze   Bridge Rrelease to QA (Code Feeze) ‏ Release candidate 1.0 Normal Development Testing Production 1.0 Approved bug fix
  9. 9. Additional solutions
  10. 10. Feature toggle
  11. 11. Private branching
  12. 12. DVCS Overview <ul><li>D istributed </li></ul><ul><li>V ersion </li></ul><ul><li>C ontrol </li></ul><ul><li>S ystem </li></ul>D ecentralize
  13. 13. Key concepts <ul><li>Make (record) the changes and Share the changes are distinct operations </li></ul>
  14. 14. Key concepts <ul><li>Peer-to-Peer approach </li></ul><ul><li>(We are equal) </li></ul>
  15. 15. Key concepts <ul><li>Construct your own structure (free as in freedom) </li></ul>
  16. 16. Key concepts <ul><li>Merge is good!!! </li></ul>
  17. 17. Key concepts <ul><li>New Terminology : </li></ul><ul><li>Checkout, checkin, branch, log are all local actions. For collaboration we got: push, pull, clone... </li></ul>
  18. 18. DVCS Overview - cont. <ul><li>Advantages </li></ul><ul><ul><li>. </li></ul></ul><ul><ul><li>. </li></ul></ul><ul><ul><li>. </li></ul></ul><ul><li>Disadvantages </li></ul><ul><li>. </li></ul><ul><li>. </li></ul><ul><li>. </li></ul>Does it fit?
  19. 19. DVC systems <ul><li>GIT </li></ul><ul><ul><li>Linux, X.org, Rails. </li></ul></ul><ul><ul><li>Very fast very powerful. </li></ul></ul><ul><li>Bazaar </li></ul><ul><ul><li>Ubuntu </li></ul></ul><ul><ul><li>Less known </li></ul></ul><ul><li>Mercurial </li></ul><ul><ul><li>OpenJDK, OpenSolaris, Mozilla. </li></ul></ul><ul><ul><li>Better Windows support. </li></ul></ul>
  20. 20. Demo <ul><li>Empower subversion with git private branching </li></ul>
  21. 21. Use case <ul><li>Central SVN repository </li></ul><ul><li>Use local GIT repository for private branching on developer environment </li></ul><ul><li>Use git-svn tool to glue </li></ul>
  22. 22. Demo steps <ul><li>Clone repository using command line: </li></ul><ul><li>$ git svn clone http://dev.tikalk.com/svn/repos_private/trunk/promoted-builds-manual-demo/ -T &quot;&quot; </li></ul>
  23. 23. Demo steps <ul><li>Open eclipse, import the project </li></ul><ul><li>and share with git: </li></ul>
  24. 24. Demo steps <ul><li>Make change on the master branch: </li></ul>
  25. 25. Demo steps <ul><li>Create new branch and checkout: </li></ul>
  26. 26. Demo steps <ul><li>Make changes on the new branch and commit: </li></ul>
  27. 27. Demo steps <ul><li>Checkout back to master </li></ul><ul><li>sync with branch, merge and commit </li></ul>
  28. 28. Demo steps <ul><li>Rebase and commit to SVN from command line: </li></ul><ul><li>$ git svn rebase </li></ul><ul><li>$ git svn dcommit </li></ul><ul><li>See in SVN history: </li></ul>
  29. 29. DEMO
  30. 30. Thank you
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×