#-----------------------------------
# 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
???