upgrade-diff
Install a new version of the template and create a diff. The command bootstraps two throwaway projects (a base and a target version) in a temp directory, syncs the target over the base, and commits the result so the upgrade shows up as a plain git diff. Useful to see what changed in the template between two Archibald versions before upgrading a real project.
archibald upgrade-diff|ud [options]
Run without options for an interactive prompt, or pass them directly.
Options
| Option | Description |
|---|---|
-b, --base [version] | Version to base the diff off. Default: latest. |
-t, --target [version] | Version to run the diff against. Default: next. |
-tpl, --template [name] | Template to install: shop or basic. Default: shop. |
-f, --force | Force recreation if the temp projects already exist. |
-q, --quiet | Don't use the interactive cli; run with default options. |
-h, --help | Show help commands. |
How it works
- Creates two projects in the OS temp directory (
<tmp>/archibald/BASE_<base>and<tmp>/archibald/TARGET_<base>) vianpm create @archibald@<version>. - Initializes a git repository in the base project and commits it as "current version".
- Syncs the target project over the base (
rsync --delete, excluding.git) and marks the directory as diffed. - Shows the resulting
git statusand offers to open the diff in VS Code.
A previously generated diff is reused unless --force is passed.
info
The command can only be used on Unix systems or WSL — it is not supported on native Windows.
Example:
archibald upgrade-diff -b 8.6.0 -t 9.0.0 -tpl shop