Command line#
Every command supports --help; most end with examples. This page lists the
commands and the options they share; the pages linked below explain each
command with the task it belongs to.
Exit code |
Meaning |
|---|---|
|
success |
|
operational failure: conflict, network, policy |
|
usage or configuration error, such as a missing |
Global options#
Option |
Effect |
|---|---|
|
run as if started in |
|
the |
|
override the number of parallel jobs |
|
serve git repositories and forge and index data from the cache only |
|
ignore cached data; refresh everything first |
|
use cached data even when stale |
|
machine-readable output on stdout; see JSON output |
|
more or less progress on stderr |
--offline and --no-refresh save network time only: local work such as git,
pre-commit and odoo-lint takes as long as before. In a measured migration they
saved about 3 % of a ten-second run. --no-refresh still fetches a repository
that is not in the cache yet; --offline never does, and fails instead:
$ odx --offline aggregate
Failed pos: branch 17.0 of https://github.com/OCA/pos is not in the cache; fetch it once without --offline
Progress#
While repositories are fetched and built, odx writes a line per repository to
standard error; standard output keeps only the result, so --json and pipes
are unaffected:
$ odx aggregate
Fetched pos in 2.3s
Cached web
Built pos in 0.4s: 2 merged, 1 up to date
Built web in 0.1s: base only
Cached means no network was needed. -v adds a line when each fetch and
build starts, every source with its commit and where it came from (upstream,
a mirror, a local clone or the cache), and every merge. -q leaves only
errors on standard error: no progress lines and no warnings.
Commands#
Command |
What it does |
Explained in |
|---|---|---|
|
fetch and merge the configured pull requests and branches into working trees |
|
|
resolve every merge and package to a commit, vault it, write |
|
|
add or remove a repository, merge or package in |
|
|
prefetch into the shared cache, on a schedule, and trim it |
|
|
check that working trees, lockfiles, vendored content or installed wheels match |
|
|
install the locked packages into the addon directories |
|
|
prepare a local development workspace, or develop one package |
|
|
read and write |
|
|
per merge and package: its state upstream and what to do about it |
|
|
upstream changes on other series that touch the project’s addons |
|
|
one view of everything to act on, and the same as an issue with pull requests |
|
|
record and share decisions about upstream changes |
|
|
glue addons Odoo would install with what the project has |
|
|
addons the project may need later: there yet, or being migrated |
|
|
compare manifest dependencies with |
|
|
Odoo-specific lint checks with project context |
|
|
lines of code per language |
|
|
database migration scripts the merges bring in |
|
|
release notes between two states of |
|
|
changes between two states of |
|
|
addon availability and code readiness for the next series |
|
|
port pull requests or missing commits to another series |
|
|
migrate addons to another series, the OCA way |
|
|
list and compare environments; copy exact pins between them |
|
|
build and publish wheels of aggregated, unmerged and private addons |
|
|
check the local setup |
|
|
store or remove forge tokens in the OS keyring |
|
|
print shell completions |