Microsoft Certified: DevOps Engineer ExpertDesign and implement source controlMedium
A company is migrating its existing on-premises Subversion (SVN) repository to Git in Azure Repos. The SVN repository has a complex history with multiple branches and tags, and the company wants to preserve the full commit history, including all branching and merging information, during the migration. Which tool is best suited for this requirement?
- AAzure DevOps Migration Tools
- Bgit-tfs
- Cmanual copy and commit
- Dgit-svn
Show answer & explanationAnswer & explanation
Correct answer: D. git-svn
The `git-svn` utility is specifically designed to interact with Subversion repositories from Git, allowing for a full-fidelity migration that preserves commit history, branches, and tags.
Why the other options are wrong
- A. Azure DevOps Migration Tools are primarily for migrating Team Foundation Server (TFS) data, not specifically designed for SVN to Git with full history preservation.
- B. git-tfs is used for migrating from Team Foundation Version Control (TFVC) to Git, not SVN.
- C. Manual copy and commit would lose all commit history, branching, and merging information, which contradicts the requirement.
git-svn Utility
A Git command-line utility that allows Git to interact with Subversion repositories, enabling full-fidelity migration from SVN to Git while preserving history, branches, and tags.
- Migrates SVN to Git
- Preserves full commit history
- Handles branches and tags effectively
Memory trick: SVN to Git, think 'git-svn' like 'git-from-svn'.