Courseiva
Design and implement source controlmediumMultiple ChoiceObjective-mapped

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.

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 →

How Courseiva writes practice questions · Editorial policy

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.