Branching
When a new version ships, typically create
a branch in the version tree for maintenance
Double update: fix a defect in the latest
version and then merge the changes (often
by hand) into the maintenance version
Also create personal versions so you can
make a change against a stable source base
and then merge in the latest version later