# atmos vendor diff

Show the changes between two versions (tags, branches, or commits) of a vendored Git
component, without a local checkout — useful for assessing impact before adopting a
new version.

## Usage

```shell
atmos vendor diff --component <name> [--from <ref>] [--to <ref>] [--diff-file <path>]
```

`--from` defaults to the component's current pinned version and `--to` defaults to the
latest tag. A missing or extra leading `v` is tolerated, so `2.0.0` resolves a `v2.0.0`
tag and vice versa.

## Examples

```shell
# Diff the current pinned version against the latest tag.
atmos vendor diff --component vpc

# Diff two specific versions.
atmos vendor diff -c vpc --from 1.0.0 --to 2.0.0

# Restrict the diff to a single file.
atmos vendor diff -c vpc --from 1.0.0 --to 2.0.0 --diff-file variables.tf
```

## Flags

- **`--component` / `-c` (string, required)**
  The component to diff.
- **`--from` (string)**
  Starting ref (tag, branch, or commit). Defaults to the current pinned version.
- **`--to` (string)**
  Ending ref. Defaults to the latest tag.
- **`--diff-file` (string)**
  Restrict the diff to a single file path within the component.
- **`--file` (string, default `./vendor.yaml`)**
  The vendor manifest to read the component's source from (imports are followed).

:::note
Git sources only. The command performs a temporary clone (removed afterward); large
repositories take proportionally longer. Private repositories are not yet supported.
:::
