Version Control – Version Control – Patterns & PracticesPatterns & Practices
Chris OldwoodChris Oldwood
ACCU Conference 2014ACCU Conference 2014
@chrisoldwood / @chrisoldwood / [email protected]@cix.co.uk
Pending CommitsPending Commits
ArchitecturesArchitectures WorkspaceWorkspace BranchingBranching MergingMerging CommittingCommitting BuildingBuilding LabellingLabelling ArchaeologyArchaeology
ArchitecturesArchitectures
SourceSafe + Robocopy = SourceSafe + Robocopy = DVCS DVCS
NAS(VSS)
Desktop(VSS)
Laptop(VSS)
Office(VSS)
ROBOCOPYCheck-In
WorkspaceWorkspace
BranchingBranching
Integration/Development Integration/Development BranchBranch
1 2 3 4 5
Release BranchRelease Branch
3 4 5 6 7
A B
Stable
Volatile
Feature/Task/Private BranchFeature/Task/Private Branch
3 4 5 6 7
A B C
More Stable
More Volatile
ShelvingShelving
1 2 3
ShelvingShelving
1 2 4 5 6
3
No Branch (Feature No Branch (Feature Toggles)Toggles)
1a 2 1b 3 1c
Always Ready to Ship
MergingMerging
Integration PainsIntegration Pains
3 4 5 6 7
X Y Z
A B
Cherry PickingCherry Picking
3 4 5 6 7
A CB
CommittingCommitting
BuildingBuilding
Gatekeeper WorkflowsGatekeeper Workflows
3 4 5 6 7
X Y
BAlice
Bob
C
GK
Z
D
LabellingLabelling
Branching From a LabelBranching From a Label
3 4 5 6 7
A B
v1 X Y
v1.1
ArchaeologyArchaeology
LiteratureLiterature
Questions?Questions?
Blog:Blog:
http://chrisoldwood.blogspot.comhttp://chrisoldwood.blogspot.com
@chrisoldwood / @chrisoldwood / [email protected]@cix.co.uk