FreeBSD Completes Its Migration from Subversion to Git
The base system's source repository moved to Git in December 2020, following the documentation repo by weeks and preceding the ports tree by several months.
FreeBSD’s base system source code moved from Subversion to Git as its primary version control system in December 2020 — the culmination of a staged migration that touched every major repository the project maintains.
A staged rollout, not a single cutover
The migration didn’t happen all at once across FreeBSD’s repositories. The documentation repository moved first, roughly two weeks ahead of the base system; the base system source repository then completed its own migration that same December weekend; the ports tree — the largest and most actively-changing of the three — followed considerably later, completing its move at the end of March 2021, specifically because of the scale and timing challenges involved in migrating a repository with that much history and contributor activity safely.
Why the change
Git had, by this point, become the de facto standard version control system across most of the open-source world, including the Linux kernel itself (see how Git was created for that story) — meaning most contributors already knew Git’s workflows well, while Subversion had become the less familiar tool for newer contributors. Moving to Git also opened the door to hosting workflows (pull-request-style review, easier local branching) that had become standard practice elsewhere in open source but were more awkward under FreeBSD’s Subversion-based setup.
What had to be preserved
A version-control migration for a project with FreeBSD’s history means preserving decades of commit history, authorship metadata, and tags accurately — not simply starting a fresh Git repository from the current state. The project’s staged approach, migrating documentation first as a smaller, lower-risk proving ground before the much larger and more actively-used base system and ports repositories, reflected a deliberate risk-management strategy for a change this foundational to daily contributor workflow.
Why this was a bigger deal than a typical tooling swap
For a project the size and age of FreeBSD, changing the primary version control system touches essentially every contributor’s daily workflow, every piece of tooling built around the old repository format, and the project’s entire historical record. Completing this migration successfully across all three major repositories, in stages, over roughly four months, was as much a project-management achievement as a technical one.
Sources: HEADS UP: FreeBSD changing from Subversion to Git this weekend — FreeBSD Forums, Updating FreeBSD From Git — FreeBSD Foundation