BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

12
Bzr & LaunchPad: Sharing Your Work with Others 4 November 2010, Sahana Camp Fran Boon [email protected]

Transcript of BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

Page 1: BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

Bzr & LaunchPad:Sharing Your Work with

Others4 November 2010, Sahana Camp

Fran Boon

[email protected]

Page 2: BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

Sharing your work with others• Distributed Version Control: bzr

• Branches hosted on LaunchPad

• Merges

Page 3: BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

Server UpdatesLaunchPad

Local Branch

ServerPublicBranch

bzr push

bzr pull

Page 4: BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

LaunchPad Access

• Register an Account

• Add Public Key

Page 5: BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

Push a branch to LP

bzr launchpad-login userid

cd web2py/applications/eden

bzr add && bzr remove && bzr commit

bzr push lp:~userid/sahana-eden/test

Page 6: BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

LaunchPad

Merge proposal

Development Branches

Trunk

Local Branch

ServerYour

Branch

bzr merge

bzr push

bzr pull

Page 7: BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

Merge with a branch on LP

cd web2py/applications/eden

Get latest updates from Trunk:

bzr merge lp:sahana-eden

See changes:bzr diff

Back-out:bzr revert (filename)

Page 8: BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

Resolve ConflictsIf a file has been edited in the same place in different ways by 2 different people, then a Conflict occurs.

Bzr creates 3 versions of the conflicted file:

xxx.BASE version of the file where both trees agreed

xxx.THIS version of the file in this branch

xxx.OTHER version of the file in other branch

bzr resolve filename

KDiff3 is a utility which can do a 3-way Diff.

Page 9: BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

Subscribe to Branch

• Subscribe to Trunk

• Subscribe to any other branches of interest

Page 10: BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

Merge Proposal

Page 11: BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

LaunchPad

Merge proposal

Branches

Trunk

Local Branch

ServerYour

Branch

bzr merge

bzr push

bzr pull

Page 12: BZR & LaunchPad : Sharing Your Work With Others (SahanaCamp 1.2)

End