#-----------------------------------
# Clone for each upgrade

Add Foo-1 to stack A
Clone stack A -> B
Add Bar-1 to stack B
  Bar-1 requires Foo-2
Foo-2 breaks our app
  Pin Foo @ Foo-1 in stack A
Fix breakage
  Test with stack B
  Unpin Foo in stack A
  Merge stack B -> A

#------------------------------------
# Discover breakage

Add Foo-1 to stack A
Add Bar-1 to stack A
  Bar-1 requires Foo-2
Foo-2 breaks our app
  Pin Foo @ Foo-1 in stack A
  Remove Bar-1 from stack A
Fix breakage
  Test with stack A
  Unpin Foo in stack A
  Add Bar-1 to stack A

#------------------------------------
# Feature branch

Add Foo-1 to stack A
Clone stack A -> B
Create feature branch in VCS
Add Bar-1 to stack A
  Bar-1 requires Foo-2
Add Baz-1 to stack B
Merge stack A -> B
  Bar-1 added to stack B
  Foo-2 added to stack B
Foo-2 breaks new feature
Fix breakage on feature branch
Test feature branch with stack B
Merge feature branch to trunk
Merge stack B -> A
  Baz-1 added to stack A

#------------------------------------
# Feature branch with pins

???



 
