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.