branching over the top!

16
Branching over the Top! By Pascal van der Horst

Upload: pascal-van-der-horst

Post on 10-May-2015

823 views

Category:

Sports


3 download

DESCRIPTION

Different kind of branching types

TRANSCRIPT

Page 1: Branching Over The Top!

Branching over the Top!By Pascal van der Horst

Page 2: Branching Over The Top!

2

Branches

• What is Branching and Merging?• Why Branching?• When Branching?• Branch Plans• Branch Examples

• Demo

Page 3: Branching Over The Top!

3

What is 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.

Page 4: Branching Over The Top!

4

Why Branching?

Branching …• makes software agile • increases the maintainability

Page 5: Branching Over The Top!

5

When Branching?

• Release Isolation

• Feature Isolation

• Team Isolation

• Integration Isolation

Page 6: Branching Over The Top!

6

Branching Plans

• Basic Branch Plan

• Standard Branch Plan

• Advanced Branch Plan

Page 7: Branching Over The Top!

7

Basic Branch Plan

DEVELOPMENT

MAIN

Bra

nch

RELEASE

Bra

nch

DevelopmentDevelopment

Production /Release

Production /Release

Page 8: Branching Over The Top!

8

Standard Branch Plan

DEVELOPMENT

MAIN

Bra

nch

SERVICE PACK

RELEASE

Bra

nch

DevelopmentDevelopment

Production /Release

Production /Release

Bra

nch

Page 9: Branching Over The Top!

9

Advanced Branch Plan

DEVELOPMENT

MAIN

Bra

nch

SERVICE PACK

HOT FIX

RELEASE

Bra

nch

Bra

nch

DevelopmentDevelopment

Production /Release

Production /Release

Bra

nch

Page 10: Branching Over The Top!

10

Branch Example (Single Release)

DEV

MAIN

Bra

nch

RELEASE

Bra

nch

DevelopmentDevelopment

Production /Release

Production /Release

V1.1 (start)

V1.0Production

Release 1.01

RIV1,0 Hotfix 1 F

I RI

V1.1

FI

Page 11: Branching Over The Top!

11

Branch Example (Single Team)

DEV

Bra

nch

FI

V1.1 (start) V1.1 FT3

RI

V1.1 (bug fix)

FI

V1.1

FI

V1.2

RI

V1.2

CI / Nightly Builds(Early validation)CI / Nightly Builds(Early validation)

Nightly Build(Early Validation)

Nightly Build(Early Validation)

V1.0Production

11 22

33 44 55

66 77

88

Page 12: Branching Over The Top!

12

Branch Example (Multi Team)

DEV FT1

MAIN

Bra

nch

RI

PRODUCTION

V1.0.1

FI

V1.1 (Release)

V1.0 (hotfix)

V1.1 Golden

DEV FT2

DEV FT3

Bra

nch

V1.1 FT2

V1.1 FT1

RI

RI

RI

Bra

nch

Bra

nch

FI

V1.1 FT2 (start)

V1.1 FT1

BM

V1.0

Page 13: Branching Over The Top!

13

Branch Example (Feature)

FEATURE 1

TEAM 1

RELEASE 1

MAIN

Bra

nch

FEATURE 2

TEAM 2

Bra

nch

Bra

nch

Bra

nch

RI

RI

RI

11

22

33

22

44

55

55

66 66

77

The two DEV branches are

created as sequential tasks, but as one unit of

work.

The two DEV branches are

created as sequential tasks, but as one unit of

work.

The Reverse Integration tasks are sequential

tasks, but created as two units of work

The Reverse Integration tasks are sequential

tasks, but created as two units of work

Page 14: Branching Over The Top!

14

Branch Example (Hotfix, Servicepack)

Bra

nch

DEV-1

DEV …

MAIN

R1 (SP)

RTM

Bra

nch

Bra

nch

Bra

nch

When MAIN is ready to release, create the

SERVICE PACK, HOT FIX, and RELEASE

branches at the same time.

When MAIN is ready to release, create the

SERVICE PACK, HOT FIX, and RELEASE

branches at the same time.

The RTM branch is a read-only copy of

what was released

The RTM branch is a read-only copy of

what was released

Bra

nch

Bra

nch

Bra

nch

Bra

nch

Bra

nch

SERVICE PACK

R2 (SP)

HOT FIX

R1 (SP0) R1 (SP1)

R1 (SP0) R1 (SP1)

R2 (SP0)

R2 (SP0)

FI

11

22

22

33

44

55

66

77

88

The two DEV branches are

created as sequential tasks, but as one unit of

work.

The two DEV branches are

created as sequential tasks, but as one unit of

work.

Page 15: Branching Over The Top!

15

Demo

Page 16: Branching Over The Top!

16

Vragen