Microsoft Certified: DevOps Engineer ExpertDesign and implement source controlHard

A company is migrating its existing on-premises Subversion (SVN) repository to Git in Azure DevOps. The SVN repository has a long and complex history, including multiple branches and tags. The company requires a full-fidelity migration, preserving all commit history, author information, branch structures, and tag references. Which utility is best suited for this task?

  1. AGit-TFS utility
  2. Bgit-svn utility
  3. CManual `git init` and `git remote add`
  4. DAzure DevOps Import Repository feature
Show answer & explanation

Correct answer: B. git-svn utility

The `git-svn` utility is a bidirectional bridge between a Subversion repository and Git. It is specifically designed to perform full-fidelity migrations from SVN to Git, preserving commit history, author information, branches, and tags, which aligns perfectly with the company's requirements.

Why the other options are wrong

  • A. Git-TFS is used for migrating Team Foundation Version Control (TFVC) repositories to Git, not Subversion.
  • C. Manual `git init` and `git remote add` would only import the latest state of the code, completely losing all historical commit information, branches, and tags.
  • D. The Azure DevOps Import Repository feature can import Git repositories or a basic SVN codebase, but it typically does not preserve the full fidelity of SVN history, branches, and tags as comprehensively as `git-svn`.

git-svn Utility

A Git command-line utility that provides a bidirectional gateway between a local Git repository and a remote Subversion repository, primarily used for migrating SVN history to Git.

  • Performs full-fidelity migration from SVN to Git.
  • Preserves commit history, author information, branches, and tags.
  • Can be used for incremental synchronization.
  • Requires knowledge of SVN repository structure (trunk, branches, tags).

Memory trick: git-svn converts ancient scrolls to modern trees.

More Design and implement source control questions