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. They have a large codebase with many branches. What is the recommended approach to preserve the history during migration?

⚠ Common exam trap

Candidates often confuse Git-TF with git-tfs, assuming both are equivalent, but Git-TF is deprecated and lacks branch support, while git-tfs is the actively maintained tool for full history preservation.

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 the git-tfs tool to clone the TFVC repository with changesets

Git-tfs is a specialized bridge tool that converts TFVC changesets into Git commits, preserving the full history, author information, and branch structure during migration. Unlike Git-TF, which is deprecated and lacks support for newer TFVC features, git-tfs handles complex scenarios like merges and shelvesets, making it the recommended approach for preserving history when moving from TFVC to Git.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Copy the latest version of the code to a new Git repository and start fresh

    Why it's wrong here

    This approach creates a brand-new Git repository containing only the current workspace snapshot, so every TFVC changeset, label, branch, and historical audit record is permanently discarded. It also destroys the ability to trace code lineage, compare past versions, or understand why specific changes were made — a critical loss for compliance and debugging. Unlike a true migration that replays history, this is effectively a re-baseline, not a conversion, and would be unacceptable for any organization that requires an immutable audit trail or reproducible build provenance.

  • Use the Git-TF tool to clone the TFVC repository

    Why it's wrong here

    Git-TF is a deprecated Microsoft tool that lacks the robust, actively maintained changeset conversion and branch/tag mapping provided by git-tfs, so using it would create an incomplete or brittle migration artifact with potential data loss.

  • Use the git-tfs tool to clone the TFVC repository with changesets

    Why this is correct

    git-tfs is the standard community-maintained bridge that clones a TFVC repository by replaying each TFVC changeset into a corresponding Git commit, preserving the original author, timestamp, commit message, branch structure, and merge topology. It handles the TFVC-to-Git ID mapping and can also fetch shelvesets, making it the preferred tool for a full-fidelity migration. Because it reconstructs the entire commit graph rather than just copying files, it maintains the historical context needed for auditing, bisecting, and code review — which is exactly what the team needs when moving from TFVC to Git.

  • Export TFVC as a Git bundle and import with --no-metadata

    Why it's wrong here

    A Git bundle is a Git-specific archive format that TFVC cannot produce, and --no-metadata is not a conversion mechanism for TFVC history; this approach is technically invalid and would not bring any TFVC changesets into Git.

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.