Infrastructure/VersionControl/HighLevelRedesign

= VCS Redesign Plan = We need to answer these overarching goals before we can decide how to redesign the VCS.

Status
This is currently being discussed on the fedora-devel-list mailing list.

Goals that the VCS can Help Achieve
Decide on goals and prioritize them so we can evaluate what architectures implement these features the best.


 * Work closer with upstream
 * Work closer with downstream
 * Make it easy to manage large numbers of patches
 * Keep the barrier of entry for new contributors low

High Level Architecture
There are some highlevel design decisions that will have an effect on whichever underlying VCS we use. The architecture will enable us to more effectively achieve our goals.


 * Exploded trees
 * Patches & spec plus lookaside cache

Workflow for the VCS

 * Operations we want to be able to perform.

What VCS Makes it Easiest to Implement our Goals
After we answer the above questions we can answer this.