perforce unplugged: central and distributed versioning and distributed versioning

Post on 17-Jul-2015

586 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Perforce Unplugged: Distributed and Central Versioning

Alan H. TeagueTechnical Director

PERFORCE UNPLUGGED

Imag

e: Id

ea g

o / F

reeD

igita

lPho

tos.n

et

SURVEY SAYS...

WINNING FEATURES FOR DVCSs

Imag

e: Id

ea g

o / F

reeD

igita

lPho

tos.n

et

“The envelope please...”

CONNECTION INDEPENDENT VERSIONING

Imag

e: Id

ea g

o / F

reeD

igita

lPho

tos.n

et

PRIVATE LOCAL BRANCHING

TASK BRANCHING

INTRODUCING...

P4Sandbox*

SOLUTION ONE: Connection Independent Versioning

SOLUTION TWO: Private Local Branching

I decide...

SOLUTION THREE: Task Branching

% p4 switch story_one Current branch is story_one

% p4 switch story_two Current branch is story_two

hero.png

HOW IT REALLY WORKS...

Zig ZichtermanTechnical Lead

P4SandboxHow it Works

What is P4Sandbox?

Broker P4D

What is P4Sandbox?

Sandbox Server

Local Stream

What is P4Sandbox?

Sandbox Server

Local Stream

Central Stream

What is P4Sandbox?

Central Server

Sandbox Server

Local Stream

Central Stream

Mirror Stream

What is P4Sandbox?

Central Server

Sandbox Server

Remote Depot?

Remote Depot.

2010.2

Remote Depot.

2010.22011.1

Remote Depot

Performance

Authenticated Remote User

Service User

2010.2

2011.1

Pull = Merge Down

Local Stream

Central Stream

Mirror Stream

How Does It Work?

p4 integrate: merge

Pull = Merge Down

Local Stream

Central Stream

Mirror Stream

How Does It Work?

p4 integrate (not yet)

p4 integrate: copy

Pull = Merge Down

Local Stream

Central Stream

Mirror Stream

How Does It Work?

p4 integrate (now)

Push = Copy Up

Local Stream

Central Stream

Mirror Stream

How Does It Work?

p4 integrate: copyp4 submit

Push = Copy Up

Local Stream

Central Stream

Mirror Stream

How Does It Work?

p4 submit (not yet)

p4 addp4 editp4 delete

p4 submit

branchintegratedelete

Push = Copy Up

Local Stream

Central Stream

Mirror Stream

How Does It Work?

p4 submit (okay, now)

Automatic Copy

Local Stream

Central Stream

Mirror Stream

How Does It Work?

p4 integrate: copy

Lightweight Branches

main

a

workspace

a

d d

=+c

b b

c

branch

Lightweight Branches

b! !

Just-in-Time Branching

Fast Branching

Easy Branching

1. p4 branch2. //depot/main/... //depot/branch/...

3. p4 client4. //depot/branch/... //client/branch/...

5. p4 integrate //depot/main/... //depot/branch/...6. p4 submit

p4 edit

Task/Feature Branches

Fast Context Switch

main

a

workspace

a

d d

=+c

b b

c

branch 1

Fast Context Switch

b

a

b

c

! !

d

main

a

workspace

a

d d

=+c

b b

c

branch 2

Fast Context Switch

c! !

main

a

workspace

a

d d

Fast Context Switch

Same depot files.

Do nothing.

Fast Context Switch

2011.1p4 client -s -S <stream>

p4 sync 10x

Faster *

* for unbranched files in lightweight branches

Connection Independent Versioning

Local Private Branching

Task Branching

top related