AZ-400 Design and implement source control Practice Question
A team is migrating from TFVC to Git in Azure Repos. They have a large repository with a history of 10,000+ commits. They want to preserve the full history while minimizing migration time. Which approach should they recommend?
⚠ Common exam trap
A common mix-up: candidates assume Azure Repos has a built-in TFVC import feature (Option C) or that Git can natively clone TFVC (Option D), when in fact only git-tfs or similar third-party tools can perform a full-history migration from TFVC to Git.
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 with full history, then push to Azure Repos.
Git-tfs is a specialized bridge tool that can clone a TFVC repository with full history into a local Git repository, preserving all commits, branches, and metadata. This approach minimizes migration time by performing the conversion locally without network overhead, after which the Git repo can be pushed to Azure Repos. Other methods either lose history or are not supported for TFVC-to-Git migration.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Use git-tfs to clone the TFVC repository with full history, then push to Azure Repos.
Why this is correct
git-tfs is a tool that bridges TFVC and Git, allowing you to clone a TFVC repository including all changesets, branches, and history, converting them into Git commits. After cloning, you push the local Git repository to Azure Repos as a new Git repository, preserving the full migration history. This is the recommended approach when you need to retain historical context.
- ✗
Check out the latest version from TFVC, initialize a new Git repo, and push.
Why it's wrong here
Checking out the latest version only captures a snapshot of the current code without any revision history. Initializing a new Git repository from that snapshot creates a single commit, losing all previous changesets, branches, and merge history, which defeats the purpose of a true migration.
- ✗
Use the Azure Repos import repository feature to import from TFVC.
Why it's wrong here
The Azure Repos 'Import repository' feature is designed to import from external Git repositories (e.g., GitHub, GitLab) by cloning an existing Git repo URL. It does not support TFVC as a source, so it cannot be used to migrate TFVC history directly.
- ✗
Clone the TFVC repository using Git and push to Azure Repos.
Why it's wrong here
The native Git client does not understand TFVC's server-based version control model; attempting to clone a TFVC repository using git commands will fail because TFVC is not a Git remote. Tools like git-tfs are required to translate TFVC's changesets into Git history.
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
One of 823 original AZ-400 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. 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.