AZ-400 Practice Question: Design and implement a source control strategy
Your team is migrating from TFVC to Git in Azure Repos. You need to preserve the full history of the TFVC repository, including all branches and changesets. The TFVC repository is large (over 10 GB). Which tool should you use to perform the migration?
⚠ Common exam trap
A common mix-up: candidates confuse git-tfs with git-svn, assuming any 'git-*' tool works for any version control system, but git-svn only works with Subversion, not TFVC.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use git-tfs to clone the TFVC repository and then push to Azure Repos.
B is correct because git-tfs is specifically designed to bridge TFVC and Git, allowing you to clone a TFVC repository (including all branches, changesets, and history) into a local Git repository, which can then be pushed to Azure Repos. It handles large repositories (over 10 GB) by performing an incremental clone, preserving the full history without manual recreation.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Manually recreate the commits in a new Git repository.
Why it's wrong here
Manually recreating commits loses all historical changeset data, including original authors, dates, and branch structure. This approach is highly error-prone and does not provide a faithful migration, as it effectively creates a new repository with no linkage to the TFVC history.
- ✓
Use git-tfs to clone the TFVC repository and then push to Azure Repos.
Why this is correct
git-tfs is a specialized bridge that clones a TFVC repository into a local Git repository while preserving the full history of changesets, branches, and merges. It is designed for large TFVC repos, and after cloning, you can push the Git repository to Azure Repos, making it the correct migration path.
- ✗
Use git-svn to convert TFVC to Git.
Why it's wrong here
git-svn is a tool for bridging Git with Subversion (SVN), not TFVC. TFVC uses a completely different version control model and client API, so git-svn cannot read or convert TFVC history, making it unsuitable for this migration.
- ✗
Use the Azure DevOps Migration Tools to export TFVC to Git.
Why it's wrong here
The Azure DevOps Migration Tools are intended for moving work items, test plans, and other data between Azure DevOps organizations or projects. They do not convert TFVC source control to Git, so using them would not achieve the desired migration.
Go deeper
Related to this question
Learn chapter
Introduction to DevOps and Azure DevOps
Key term
Git
Git is a version control system that tracks changes to files so multiple people can work on the same project without overwriting each other's work.
Key term
Repository
A repository is a central storage location where software packages, code, or configuration files are kept, managed, and distributed for use by IT systems.
About these practice questions
Courseiva writes every AZ-400 question from scratch — 823 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This AZ-400 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the AZ-400 exam.