Before you guys descend into a discussion of specific SCMs can you talk about what the goals are for what you want to do? Mike touched on them but I think that it needs more discussion before you talk about what you love/hate about specific tools. --Chris
I'm sure mike will say more, but here. * Unix accounts or certificate based authentication * Access Control Lists of per-package per-branch granularity o Ideally this means per-directory ACL's * ACLs will allow view and commit access to select contributors. o Embargo branches should be on the same server as the normal branches. This is necessary to allow certain upstream developers to work in cooperation with Fedora maintainers. o We need to scale up to hundreds of branches per package in the long run. o Some package/branches would be read-only to most users. o Other package/branches need to be completely hidden from most users. * E-mail notification when changes occur. These notifications must be sent from the server, and it must be not possible for users to bypass. * Distributed SCM allows easy sub-collections of the distribution to be built and tested independently, then the bulk be easily merged back while minimizing effort. * Translations for core packages are right now implemented via cvs.fedora.redhat.com and tied to CVS. More longterm they might also benefit from a more modern version control system. Highly Desirable Abilities: * Ability to check out only a portion of the tree in order to work on only a package, instead of the entire tree.