SVN is the everyday name for Apache Subversion, the centralised version control system whose client command is literally svn. One server holds the authoritative history, developers check out working copies, and every commit advances a single repository-wide revision number. That number is the reason so many SVN estates are still running: it is stamped into build outputs, defect trackers, release notes and audit records, and nothing in a distributed system reproduces it exactly.
This page is deliberately narrower than a full Subversion course. It is for teams who already have an SVN estate and now have two jobs at once — keep it running safely, and get off it. Those jobs need different skills. Keeping it running means hooks, path-based authorisation, backups that restore, and a team that understands mixed-revision working copies and svn:mergeinfo well enough not to damage history further. Getting off it means auditing repository layout, mapping authors, converting branches and tags, deciding what history is worth carrying, and running a cutover that a release manager will sign.
The hard part of an SVN migration is rarely the conversion command. It is the concepts that do not survive the crossing: branches that were directory copies, locks on unmergeable binaries, externals that stitched several repositories together, and path-based access control that let one team read a subtree and nothing else. Each needs a deliberate replacement in Git, or the migration lands and the team quietly regresses.
Why this skill matters now
Most SVN estates are now maintained by people who did not build them. The engineers who chose the layout, wrote the hooks and configured the authorisation file have moved on, and what remains is a repository nobody wants to touch and a migration nobody wants to own.
Meanwhile the surrounding toolchain has moved. Modern CI systems, code review platforms, security scanners, dependency bots and GitOps controllers all assume Git. Staying on SVN increasingly means writing bespoke glue for each of them, and that glue is more expensive every year than the migration it postpones.
The risk sits in the middle. A migration done badly loses branch and tag structure, flattens author identity into a single unknown user, drags twenty gigabytes of build artefacts into every future clone, or ships with no answer for the binary assets that were protected by locks. A migration done well converts history faithfully, keeps the old repository as a verifiable read-only archive, and retrains the team on the workflow that replaces what they lost. The gap between those two outcomes is entirely skill.