Microsoft Certified: DevOps Engineer ExpertDesign and implement source controlMedium
A company is migrating its existing on-premises Team Foundation Version Control (TFVC) repository to Git in Azure DevOps. The TFVC repository has a complex structure with multiple branches and merge history that needs to be preserved. The company requires a full-fidelity migration, including all changesets, branches, and merge relationships. Which tool should the company use for this migration?
- Agit-svn utility
- BManual `git add` and `git commit` after cloning TFVC
- CAzure DevOps Import Repository feature
- DGit-TFS utility
Show answer & explanationAnswer & explanation
Correct answer: D. Git-TFS utility
The Git-TFS utility is specifically designed for migrating TFVC repositories to Git while preserving history, branches, and merge relationships, which is a full-fidelity migration. The other options do not offer the same level of fidelity for TFVC-to-Git migrations.
Why the other options are wrong
- A. git-svn is used for migrating Subversion (SVN) repositories to Git, not TFVC.
- B. Manual migration would lose all history and merge information, which is not a full-fidelity solution.
- C. The Azure DevOps Import Repository feature is suitable for importing Git repositories or basic TFVC codebases without complex history preservation.
Git-TFS Utility
A two-way bridge between Team Foundation Version Control (TFVC) and Git, primarily used for migrating TFVC repositories to Git with full history preservation.
- Preserves changesets, branches, and merge relationships.
- Allows for incremental migrations.
- Runs as a command-line tool.
- Requires .NET Framework.
Memory trick: To bridge TFVC to Git, use the dedicated tool.