SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
Boutique product development company
It is amazing what you can accomplish when you have a client-centric team to deliver outstanding products.
Branching Over the Top
    Sohail Mohabbat Ali | Software Evangelist
Branching Over the Top
Topics covered in the presentation




     •   What is branch merging
     •   Why Branching
     •   When Branching
     •   Branch Plans
     •   Branch Examples
     •   Demo



                                     Sohail Mohabbat Ali | Software Evangelist
Branching

Branching and Merging


Branching is the duplication of an object under revision control so that
   modifications can happen in parallel along both branches.


Merging is the act of reconciling multiple changes made to different copies of
  the same file. Most often, it is necessary when a file is modified by two
  people on two different computers at the same time. Later, these changes
  are merged, resulting in a single new file that contains both sets of changes.




                                                     Sohail Mohabbat Ali | Software Evangelist
Branching

Why Branching


•   Makes Software Agile
•   Increases Maintainability.




                                 Sohail Mohabbat Ali | Software Evangelist
Branching

When Branching?

•   Release Isolation


•   Feature Isolation


•   Team Isolation


•   Integration Isolation




                            Sohail Mohabbat Ali | Software Evangelist
Branching

Branching Plans


 • Basic Branch Plan

 • Standard Branch Plan

 • Advanced Branch Plan




                          Sohail Mohabbat Ali | Software Evangelist
Branching

Basic Branch Plan


 • Basic Branch Plan

 • Standard Branch Plan

 • Advanced Branch Plan




                          Sohail Mohabbat Ali | Software Evangelist
Branching

Branching Plans



                                                                         Development
             Branch




                              Branch




            SERVICE PACK                                                 Production /
                                                                           Release
                                       Branch




                           RELEASE




                                                Sohail Mohabbat Ali | Software Evangelist
Branching

Advance Branch Plans


                                                                                  Development
             Branch




                            Branch




            SERVICE PACK
                                        Branch



                                                                                 Production /
                                                                                   Release


                      HOT FIX
                                                 Branch




                                     RELEASE




                                                          Sohail Mohabbat Ali | Software Evangelist
Branching

Branch Example (Single Team)

                                                                                                                    Nightly Build
                                                                                                                  (Early Validation)



                                                                                                        CI / Nightly Builds
                                                                                                        (Early validation)


                     V1.1 (start)            V1.1 FT3                                          V1.2

      DEV   3            4          5                                                           8
                Branch




                                                                                                      RI
                                                            RI




                                                                              FI




                                                                                          FI
                                        FI




                                                                                   V1.1                    V1.2

  1     2                                               6                            7

     V1.0                                                    V1.1 (bug fix)
  Production




                                                                                          Sohail Mohabbat Ali | Software Evangelist
Branching

Branch Example (Multi Team)
               DEV FT3




                                  V1.1 FT2 (start)                          V1.1 FT2




                                                                                                            RI
       DEV FT2

                                              BM



                                                 V1.1 FT1




                                                                                       RI
  DEV FT1




                                                                            FI
               Branch


                         Branch


                                  Branch




                                                            RI




                                                                 V1.1 FT1                                        V1.1 Golden

MAIN

            V1.0
                                              Branch




                                                                                                  RI




                                                                                                                               FI
                                                                                                   V1.0.1                       V1.1 (Release)

                        PRODUCTION



                                                                                            Sohail Mohabbat Ali | Software Evangelist
Branching

    Branch Example (Feature)
                                                                                                                         The Reverse
  The two DEV                              FEATURE 2           4                                                       Integration tasks
  branches are                                                                                                          are sequential
   created as                                                                                                              tasks, but




                                                                   Branch
sequential tasks,                                                                                                       created as two




                                                                                         RI
but as one unit of                                                                                                       units of work
      work.

            TEAM 2       2                                                           5




                                      FEATURE 1   3
                                                      Branch




                                                                                RI
            TEAM 1   2                                                      5
                             Branch




                                                                                                        RI
        MAIN     1                                                                              6   6




                                                                                                              Branch
                                                                                         Sohail Mohabbat Ali | Software Evangelist
Branching

Branch Example (Hotfix, Servicepack)

   The two DEV          DEV …        2
   branches are
    created as
 sequential tasks,
 but as one unit of
       work.
                       DEV-1     2


                                         Branch



                      MAIN   1




                                                                                                                                       Branch
                                                            Branch




                                                                                                 FI
                                                                                  R1 (SP)                                                                    R2 (SP)
                                 SERVICE PACK          3                                                                           6




                                                                                                                                                    Branch
                                                                                                      Branch
                                                                         Branch




                                                                                     R1 (SP0)                           R1 (SP1)                               R2 (SP0)
                                                  HOT FIX            4                                                                          7




                                                                                                                                                               Branch
                                                                                  Branch




                                                                                                               Branch



                                                                                           R1 (SP0)                     R1 (SP1)                                   R2 (SP0)

                                                                                                                        Sohail Mohabbat Ali | Software Evangelist

Contenu connexe

En vedette

Learning as a creative professional
Learning as a creative professionalLearning as a creative professional
Learning as a creative professionalConfiz
 
Learning as a creative professional
Learning as a creative professionalLearning as a creative professional
Learning as a creative professionalConfiz
 
'Saved by PowerPoint'
'Saved by PowerPoint' 'Saved by PowerPoint'
'Saved by PowerPoint' Ahsan Saleem
 
How to Enchant clients?
How to Enchant clients?How to Enchant clients?
How to Enchant clients?Ahsan Saleem
 
Selecting the Right Cloud Host
Selecting the Right Cloud HostSelecting the Right Cloud Host
Selecting the Right Cloud HostAhsan Saleem
 
Monkey talk
Monkey talkMonkey talk
Monkey talkConfiz
 
Project Management @ Confiz - An Overview
Project Management @ Confiz - An OverviewProject Management @ Confiz - An Overview
Project Management @ Confiz - An OverviewAhsan Saleem
 
Closed loop - Software Estimation to Delivery
Closed loop - Software Estimation to DeliveryClosed loop - Software Estimation to Delivery
Closed loop - Software Estimation to DeliveryAhsan Saleem
 
Sqa, test scenarios and test cases
Sqa, test scenarios and test casesSqa, test scenarios and test cases
Sqa, test scenarios and test casesConfiz
 
What is UFT? HP's unified functional testing.
What is UFT? HP's unified functional testing.What is UFT? HP's unified functional testing.
What is UFT? HP's unified functional testing.Confiz
 
Web services with laravel
Web services with laravelWeb services with laravel
Web services with laravelConfiz
 

En vedette (12)

Learning as a creative professional
Learning as a creative professionalLearning as a creative professional
Learning as a creative professional
 
Learning as a creative professional
Learning as a creative professionalLearning as a creative professional
Learning as a creative professional
 
Material design
Material designMaterial design
Material design
 
'Saved by PowerPoint'
'Saved by PowerPoint' 'Saved by PowerPoint'
'Saved by PowerPoint'
 
How to Enchant clients?
How to Enchant clients?How to Enchant clients?
How to Enchant clients?
 
Selecting the Right Cloud Host
Selecting the Right Cloud HostSelecting the Right Cloud Host
Selecting the Right Cloud Host
 
Monkey talk
Monkey talkMonkey talk
Monkey talk
 
Project Management @ Confiz - An Overview
Project Management @ Confiz - An OverviewProject Management @ Confiz - An Overview
Project Management @ Confiz - An Overview
 
Closed loop - Software Estimation to Delivery
Closed loop - Software Estimation to DeliveryClosed loop - Software Estimation to Delivery
Closed loop - Software Estimation to Delivery
 
Sqa, test scenarios and test cases
Sqa, test scenarios and test casesSqa, test scenarios and test cases
Sqa, test scenarios and test cases
 
What is UFT? HP's unified functional testing.
What is UFT? HP's unified functional testing.What is UFT? HP's unified functional testing.
What is UFT? HP's unified functional testing.
 
Web services with laravel
Web services with laravelWeb services with laravel
Web services with laravel
 

Plus de Confiz

Agile training workshop
Agile training workshopAgile training workshop
Agile training workshopConfiz
 
DMAIC-Six sigma process Improvement Approach
DMAIC-Six sigma process Improvement ApproachDMAIC-Six sigma process Improvement Approach
DMAIC-Six sigma process Improvement ApproachConfiz
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo designConfiz
 
Entity framework code first
Entity framework code firstEntity framework code first
Entity framework code firstConfiz
 
Security testing presentation
Security testing presentationSecurity testing presentation
Security testing presentationConfiz
 
Ts seo t ech session
Ts   seo t ech sessionTs   seo t ech session
Ts seo t ech sessionConfiz
 
Advance text rendering in i os
Advance text rendering in i osAdvance text rendering in i os
Advance text rendering in i osConfiz
 
Ts threading
Ts   threadingTs   threading
Ts threadingConfiz
 
Ts android supporting multiple screen
Ts   android supporting multiple screenTs   android supporting multiple screen
Ts android supporting multiple screenConfiz
 
Ts drupal6 module development v0.2
Ts   drupal6 module development v0.2Ts   drupal6 module development v0.2
Ts drupal6 module development v0.2Confiz
 
Photoshop manners
Photoshop mannersPhotoshop manners
Photoshop mannersConfiz
 
An insight to microsoft platform
An insight to microsoft platformAn insight to microsoft platform
An insight to microsoft platformConfiz
 

Plus de Confiz (13)

Agile training workshop
Agile training workshopAgile training workshop
Agile training workshop
 
DMAIC-Six sigma process Improvement Approach
DMAIC-Six sigma process Improvement ApproachDMAIC-Six sigma process Improvement Approach
DMAIC-Six sigma process Improvement Approach
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo design
 
Entity framework code first
Entity framework code firstEntity framework code first
Entity framework code first
 
Security testing presentation
Security testing presentationSecurity testing presentation
Security testing presentation
 
Ts seo t ech session
Ts   seo t ech sessionTs   seo t ech session
Ts seo t ech session
 
Advance text rendering in i os
Advance text rendering in i osAdvance text rendering in i os
Advance text rendering in i os
 
Ts threading
Ts   threadingTs   threading
Ts threading
 
Ts android supporting multiple screen
Ts   android supporting multiple screenTs   android supporting multiple screen
Ts android supporting multiple screen
 
Ts drupal6 module development v0.2
Ts   drupal6 module development v0.2Ts   drupal6 module development v0.2
Ts drupal6 module development v0.2
 
Photoshop manners
Photoshop mannersPhotoshop manners
Photoshop manners
 
An insight to microsoft platform
An insight to microsoft platformAn insight to microsoft platform
An insight to microsoft platform
 

Ts branching over the top

  • 1. Boutique product development company It is amazing what you can accomplish when you have a client-centric team to deliver outstanding products.
  • 2. Branching Over the Top Sohail Mohabbat Ali | Software Evangelist
  • 3. Branching Over the Top Topics covered in the presentation • What is branch merging • Why Branching • When Branching • Branch Plans • Branch Examples • Demo Sohail Mohabbat Ali | Software Evangelist
  • 4. Branching Branching and Merging Branching is the duplication of an object under revision control so that modifications can happen in parallel along both branches. Merging is the act of reconciling multiple changes made to different copies of the same file. Most often, it is necessary when a file is modified by two people on two different computers at the same time. Later, these changes are merged, resulting in a single new file that contains both sets of changes. Sohail Mohabbat Ali | Software Evangelist
  • 5. Branching Why Branching • Makes Software Agile • Increases Maintainability. Sohail Mohabbat Ali | Software Evangelist
  • 6. Branching When Branching? • Release Isolation • Feature Isolation • Team Isolation • Integration Isolation Sohail Mohabbat Ali | Software Evangelist
  • 7. Branching Branching Plans • Basic Branch Plan • Standard Branch Plan • Advanced Branch Plan Sohail Mohabbat Ali | Software Evangelist
  • 8. Branching Basic Branch Plan • Basic Branch Plan • Standard Branch Plan • Advanced Branch Plan Sohail Mohabbat Ali | Software Evangelist
  • 9. Branching Branching Plans Development Branch Branch SERVICE PACK Production / Release Branch RELEASE Sohail Mohabbat Ali | Software Evangelist
  • 10. Branching Advance Branch Plans Development Branch Branch SERVICE PACK Branch Production / Release HOT FIX Branch RELEASE Sohail Mohabbat Ali | Software Evangelist
  • 11. Branching Branch Example (Single Team) Nightly Build (Early Validation) CI / Nightly Builds (Early validation) V1.1 (start) V1.1 FT3 V1.2 DEV 3 4 5 8 Branch RI RI FI FI FI V1.1 V1.2 1 2 6 7 V1.0 V1.1 (bug fix) Production Sohail Mohabbat Ali | Software Evangelist
  • 12. Branching Branch Example (Multi Team) DEV FT3 V1.1 FT2 (start) V1.1 FT2 RI DEV FT2 BM V1.1 FT1 RI DEV FT1 FI Branch Branch Branch RI V1.1 FT1 V1.1 Golden MAIN V1.0 Branch RI FI V1.0.1 V1.1 (Release) PRODUCTION Sohail Mohabbat Ali | Software Evangelist
  • 13. Branching Branch Example (Feature) The Reverse The two DEV FEATURE 2 4 Integration tasks branches are are sequential created as tasks, but Branch sequential tasks, created as two RI but as one unit of units of work work. TEAM 2 2 5 FEATURE 1 3 Branch RI TEAM 1 2 5 Branch RI MAIN 1 6 6 Branch Sohail Mohabbat Ali | Software Evangelist
  • 14. Branching Branch Example (Hotfix, Servicepack) The two DEV DEV … 2 branches are created as sequential tasks, but as one unit of work. DEV-1 2 Branch MAIN 1 Branch Branch FI R1 (SP) R2 (SP) SERVICE PACK 3 6 Branch Branch Branch R1 (SP0) R1 (SP1) R2 (SP0) HOT FIX 4 7 Branch Branch Branch R1 (SP0) R1 (SP1) R2 (SP0) Sohail Mohabbat Ali | Software Evangelist