The dry-run diff

Before DriftSync writes anything, it shows a dry-run diff: a field-by-field comparison of what is on the target now versus what the bundle would set. Reviewing the diff writes nothing — it is purely a preview, so it is always safe to run.

How to read it

Each value the bundle touches is listed with a status that tells you exactly what apply would do to it:

  • add — the value does not exist on the target yet; apply will create it.
  • overwrite — the value exists and differs; apply will replace the target's value with the bundle's.
  • merge — the field is list-like (menus, widget areas, and similar) and DriftSync will combine the two rather than replace, where the field supports it.
  • held — the bundle redacted this value, so it is withheld rather than written. The target keeps its current value and you fill the real one in yourself. See secrets and redaction.
  • skip — the target's value is left untouched, either because it is not in the bundle or because you resolved the conflict as skip.

A sample diff

text
blogname            overwrite   "Acme (staging)"  →  "Acme"
timezone_string     add         —                 →  "Europe/London"
sidebar_widgets     merge       3 items           →  +1 item
mailchimp_api_key   held        (redacted)        →  (fill in on target)
active_theme        skip        "acme-child"      (unchanged: not in bundle)

The arrow shows the direction of the change: current value on the left, the value apply would set on the right. A held row never leaks the secret — it shows only that a value would change.

Important

Nothing is written until you explicitly apply. Closing the dry-run diff leaves the target site completely untouched — no partial writes, no cleanup needed.

Resolving conflicts from the diff

Any row marked overwrite or merge is a conflict: the target already has a value and it differs from the bundle. From the diff you can change how each one resolves — keep the current value, take the bundle's, or merge. That is covered in conflict resolution.

Then apply

When the diff looks right, apply. DriftSync takes a snapshot first, writes only the changes you approved, and records the release in History. If anything looks wrong afterwards, roll back in one click.