3.2 Common Options

-C <dir>

change to ‘<dir>’ before doing anything.

--project <file>

use ‘<file>’ as the project file.

--offline

use only the lock file and the local cache; fail rather than access the network.

--dry-run

report what would be done, without doing it.

--https

resolve collection-qualified designators (‘github:…’, ‘gitlab:…’, …) to their ‘https’ url. This is the default: an anonymous, read-only clone that needs no ssh key, which is what you want for fetching and in CI.

--ssh

resolve them to their ‘git@…’ (ssh) url instead, for push access — use it to clone a dependency you intend to edit and push back. A specific designator (‘(git "…")’) always keeps its own url; only the url synthesised from a collection changes. Because a repository’s identity is transport-independent, ‘--ssh’ and ‘--https’ share one cache entry and one lock entry: switching neither re-clones nor perturbs the lock. (An already-cached mirror keeps the transport it was first cloned with; remove it, or use a fresh cache, to re-clone over ssh.) The default can be set with ‘(ergo:configure :git-transport ssh)’.

-v’, ‘--verbose

show the underlying git and build commands.

--sexp

print the results as s-expressions, for tools.

-V’, ‘--version

print the ‘ergo’ version and exit.

-h’, ‘--help

print the usage and exit; after a subcommand (‘ergo build --help’), print the usage of that subcommand.

The version options ‘--branch <name>’, ‘--tag <name>’, ‘--release <name>’, and ‘--commit <hash>’ may be used instead of the ‘@<ref>’ suffix when the ref kind must be explicit.