> ## Documentation Index
> Fetch the complete documentation index at: https://support.entegrata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Comparing Pipelines

> Use Diff to see exactly what differs between two pipelines or two entities without changing anything

## Overview

**Diff** answers one question: what's actually different between these two pipelines right now?

Both Diff entry points are completely **read-only**. Nothing is written, nothing is published, and the dialog says so:

> "Compares this entity's mappings against the target pipeline — nothing is changed."

<Info>
  Diff uses the same comparison engine and the same walkthrough as the [Merge wizard](/data/pipeline/reviewing-sync-changes) — just with no decisions and no commit. What you see in a Diff is what a sync would act on.
</Info>

## Comparing a Single Entity

<Steps>
  <Step title="Open the Entity Actions Menu">
    Open a pipeline, open a layer (for example **Silver**), and click the three-dot menu (⋮) on an entity row.
  </Step>

  <Step title="Select Diff">
    Click **Diff** to open the comparison dialog for that entity.
  </Step>

  <Step title="Pick the Target and Compare">
    Choose the target pipeline and click **View diff**.
  </Step>
</Steps>

## Comparing Two Pipelines

<Steps>
  <Step title="Open the Actions Menu">
    From the pipelines list, click the three-dot menu (⋮) on the pipeline you want to compare **from** and hover **Manage**.
  </Step>

  <Step title="Select Diff">
    Click **Diff** to open the comparison dialog.
  </Step>

  <Step title="Pick the Target">
    Choose the pipeline to compare against.
  </Step>

  <Step title="View the Diff">
    Click **View Diff**. You step through every differing entity, exactly like the Merge wizard, but with no toggles and no commit button.

    Entities that are identical on both sides are skipped, so everything you see is a real difference.
  </Step>
</Steps>

## When to Use Diff

* **Before deciding whether to sync at all.** If nothing differs, there's nothing to sync.
* **Before an Overwrite into production.** Overwrite deletes target-only mappings; a Diff shows you exactly what that means before you commit to it.
* **To hand a colleague a review.** Walk the Diff together before a large sync.
* **To confirm a sync landed.** Diff the two pipelines afterward — a clean comparison means the target matches the source.
* **To measure drift.** Diff a long-lived test pipeline against main to see how far it has diverged before starting new work.

## Reading a Diff

Each differing entity shows a one-line summary of what differs — a count such as `3 traits, 1 join`, or `only in source` / `only in target` for an entity that exists on just one side. Entities that depend on other entities list those as **depends on** chips.

Differences are grouped by the part of the entity they belong to — the entity itself, or one of its maps — and tagged **Add**, **Update**, **Remove**, or **Unchanged**, from the perspective of applying the source to the target.

<Tip>
  **"Remove" Means Target-Only**

  A row tagged **Remove** exists in the target and not in the source. Under Overwrite it would be deleted; under Overlay it would be left alone and reported as **Skipped**; under Merge you'd decide. Diff itself never removes anything.
</Tip>

<Tip>
  **A Rename Reads as a Remove Plus an Add**

  Comparisons match items by their stable key, so something renamed on one side appears as one item removed and a different one added. If a Diff looks larger than you expected, check for renames before concluding something went wrong.
</Tip>

## Troubleshooting

### The Diff Shows More Differences Than Expected

**Problem:** You changed three fields but the Diff lists many more.

**Solution:**

* Check for renames — they appear as a removal plus an addition.
* Check whether the target has changed independently since you last looked. A Diff compares both sides as they are right now, not just your work.
* Confirm you're comparing against the pipeline you intended.

## Related Topics

<CardGroup cols={2}>
  <Card title="Syncing a Single Entity" icon="table-list" href="/data/pipeline/syncing-entities">
    Apply what the Diff showed you, one entity at a time
  </Card>

  <Card title="Syncing Pipelines" icon="arrow-right-arrow-left" href="/data/pipeline/syncing-pipelines">
    Apply it across the whole pipeline
  </Card>

  <Card title="Reviewing Changes with Merge" icon="clipboard-check" href="/data/pipeline/reviewing-sync-changes">
    The same walkthrough, with decisions
  </Card>

  <Card title="Sync Strategies" icon="code-branch" href="/data/pipeline/sync-strategies">
    How each strategy handles each difference
  </Card>
</CardGroup>
