Migrating from CVS to a modern VCS is challenging for old and large projects. When limitations of older hardware join, the true fun begins.
This talk explores some of the issues found while evaluating Mercurial as new VCS for NetBSD and how they got resolved.
The NetBSD project has been developing an Operating System for almost 25 years now. It is one of the oldest users of CVS still around and there is a strong desire to change that. Such a migration is challenging and requires acceptance from the active developers and infrastructure changes. One central aspect for the buy-in from the community is the scalability of the new system and its limitations.
The talk starts with an overview of the existing work on migrating the NetBSD repository to modern VCS. The performance of important operations will be compared and bottlenecks identified. Based on the results, reasonable target requirements are identified. An in-depth analysis of critical parts of Mercurial will be presented and how those bottlenecks were addressed.