Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Alm tce parallel development


Published on

Alm tce parallel development by Liya Kats and Miron Gopher from Tikal Knowledge given at Tikal TCE:

Published in: Technology
  • Be the first to comment

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,, 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 -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