just a few notes on branch handling improvements:
- the Waterfall should get a branch= argument, to limit the display to specific branches.
- the "current status" should get the same. Saying "the tree is currently broken" really
means "trunk is currently broken", and a failing build on some random side branch should
not cause people to think that trunk is having problems
- likewise, 'try' builds and anything that uses a patch should not count against trunk.
This might mean that all builds with patches should be filtered out when using branch=,
or maybe we need some additional flag.
Branches could be objects internally. They have a short name (which is used on the waterfall, in the checkout step, and is also what branch= is compared against), and they have a VC-specific string (which is combined with the repository base to figure out how to get code from this branch).
There could be a BranchManager? that's associated with the VC checkout step, or maybe with the ChangeSource. The SourceStamp?'s .branch attribute should be a Branch object, or a short name that the BranchManager? could turn into a Branch object.