Request for Comments: Migrating to a Distributed Version Control System for PHP


A distributed version control system (DVCS) provides considerable more flexibility than SVN. Key features include a developers ability to interact with the repository without the need for a network connection and the low cost of branching.

The initial discussion for moving to a DVCS began during the SVN conversion process. It was not given much credibility because the SVN conversion was mostly finished. There is also the issue of a learning curve. The workflow for SVN is not that different from CVS. The biggest change in converting to SVN was the syntax change. Converting to a DVCS will introduce both a workflow change and a syntax change. The conversion to a DVCS will have a higher intial cost, but the medium and long term benefits far outweigh this cost.

DVCS Options

Options are listed in alpha order:

Migration Path

The migration to a DVCS should be a gradual one. Converting a repository of PHP's size is a huge task with lots of moving parts. The SVN conversion was a major disruption to the developer community. The initial steps of migration to a DVCS should focus on the conversion of one section of the existing SVN repository to a DVCS.

This does not mean that the migration plan should be made up as we go along. A solid migration plan for all parts of the existing SVN repository should be in place before the initial migration begins. This includes topics such as karma, authentication and scripts. The community will be encouraged to give feedback as the migration process is underway.

Use Cases


rfc/dvcsmigration.txt · Last modified: 2017/09/22 13:28 (external edit)