-
This replaces the previous Brancher abstraction. It improves the error messages. There is a very slight change of behaviour: previously if a package specified multiple source repos with different types (e.g. git/darcs) and only one of those VCS tools was installed on the system, it could fall back to selecting the other repo using the other tool. The new behaviour is that it picks the repo to use deterministically, and then simply fails if the VCS program is not available. This situation is very rare, and arguably the new behaviour is more predictable.
a4120f49