|  | 78 |  | 
          
            |  | 79 | == Branching Strategy == | 
          
            |  | 80 | Branches in public repo and the purpose of each branch: | 
          
            |  | 81 | * 2.x: iPeer 2.x code base. Each commit on this branch will be a new version to release. | 
          
            |  | 82 | * dev: The branch we are working on day to day | 
          
            |  | 83 | * master: iPeer 3.x code base. Each commit on this branch will be a new version to release. | 
          
            |  | 84 | You can/should  create local branch if you are working on a new feature or non-trivia bug fix. Then merge back to dev. You may use rebase or not depending on the complexity of the work. | 
          
            |  | 85 |  | 
          
            |  | 86 | There are also some changes on Jenkins setup.  There are 5 jobs: iPeer_2.x, iPeer_3.x, iPeer_dev, iPeer_Release_2.x and iPeer_Release_3.x. | 
          
            |  | 87 | * Any push to 2.x branch will trigger iPeer_2.x job. If the job success, iPeer_Release_2.x will be triggered and will publish a new version for 2.x. | 
          
            |  | 88 | * Any push to master branch will trigger iPeer_3.x job. If the job success, iPeer_Release_3.x will be triggered and will publish a new version for 3.x | 
          
            |  | 89 | * Any push to dev branch will trigger dev job. No release will be published. | 
          
            |  | 90 |  | 
          
            |  | 91 | Old and new branches mapping (branches renamed as of Nov 18th, 2012) | 
          
            |  | 92 | * master -> 2.x | 
          
            |  | 93 | * cakephp1.3 -> dev | 
          
            |  | 94 | * cakephp1.3 -> master | 
          
            |  | 95 | removed compatibility branch | 
          
            |  | 96 |  | 
          
            |  | 97 |  |