# Reviewing a change

one9x pages diff answers "what happens if I publish this?" — file by file, against whatever is live.

`one9x pages diff` answers "what happens if I publish this?" — file by file,
against whatever is live right now. The dashboard shows the same comparison
automatically before an upload.

```console title="review"
$ one9x pages diff v9 --site mysite
  v9 vs v8
~ /index.html      12.4 KiB  (+1.08 KiB)
+ /about/index.html 4.1 KiB
- /old.html        (was 2.2 KiB)
1 added, 1 changed, 1 removed, 29 unchanged
```

`--against` picks a different baseline — a release number, a tag, a version-hash
prefix, or `live` (the default). `--against none` skips the comparison and just
lists the files. `--all` includes the unchanged ones.

> Worth running in CI right after a staged release: a one-line content edit that
> reports 200 changed files usually means the build changed, not the content — a
> bumped asset hash, a stray `node_modules`, a missing `--exclude`.

## What the diff does not cover

The diff compares **files**. It does not compare a release's settings, so two
releases that differ only in `--spa`, `--index` or an `--error` mapping show as
"identical file trees" while genuinely being different releases.

That is worth knowing before you use the diff as a decision procedure: if you
want to know whether two releases are the same thing, compare their version ids
(`one9x pages releases list`), not their diffs. The version id is the content
hash of the whole manifest — files *and* settings — so identical ids mean
identical releases and nothing else does.