Command Line
Run gimera from the root of your workspace — the directory containing
gimera.yml.
gimera <command> [options]
The command set below is from gimera 0.7.107. Check gimera --help and
gimera <command> --help for your installed version.
Commands
| Command | Purpose |
|---|---|
apply | Applies the configuration from gimera.yml. The command you will use most |
status | Shows the current state of the workspace |
add | Adds a repository entry to gimera.yml |
commit | Collects changes in an integrated repo and commits them to a branch |
clean | Removes all git-dirty items |
purge | Removes all dirty items |
abort | Aborts an in-progress operation |
edit-patch | Edit existing patch files |
combine-patch | Combine several patches into one |
snap | Take a named snapshot of one or more repos |
snaprestore | Restore a snapshot |
list-snapshots | List available snapshots |
check-all-submodules-initialized | Verify every submodule is initialised |
completion | Shell completion |
gimera apply
Clones or fetches each repository in gimera.yml, checks out the specified
branch or commit, applies patches, and integrates the result into your
workspace.
gimera apply
Repositories are given as positional arguments to limit the run to a subset:
gimera apply odoo addons_OCA/web
Options
| Option | Effect |
|---|---|
-u, --update | Pull the latest versions from the remotes |
-r, --recursive | Process nested gimera.yml files, like submodule init |
-s, --strict | Do not force submodules of integrated repos to integrated |
-I, --all-integrated | Treat every repo as integrated, overriding the file |
-S, --all-submodule | Treat every repo as submodule, overriding the file |
-m, --missing | Only fetch paths that do not exist yet |
-P, --no-patches | Skip patch application |
--do-not-apply-patches | Also skips patches |
-f, --force | Force the operation |
-n, --no-fetch | Do not fetch from remotes |
-C, --no-auto-commit | Do not auto-commit the result |
-SHA, --no-sha-update | Do not write resolved shas back to gimera.yml |
-M, --migrate-changes | Keep local changes to the repo |
--remove-invalid-branches | Drop config entries whose branch no longer exists |
-PC, --no-precommits | Skip pre-commit hooks |
--clear-cache | Clear gimera's cache |
-v, --verbose | Detailed output — use this when patches fail |
--raise-exception | Raise instead of exiting, for debugging |
-I is listed twice in gimera's own help — for both --all-integrated and
--non-interactive. Prefer the long forms to avoid ambiguity.
Updating to the latest commits
There is no separate update command. Use apply with --update:
gimera apply -u
This pulls the latest from each remote, re-applies patches, and writes the new
shas back into gimera.yml.
gimera status
Shows how the workspace compares with gimera.yml — which repositories are
present, and what is dirty.
gimera status
gimera clean and gimera purge
Both remove dirty items from the workspace.
These discard local modifications to integrated repositories. Anything you
changed inside an integrated repo and have not committed or captured as a patch
is lost. Run gimera status first.
gimera commit
Integrated repositories are merged into your workspace, so ordinary git commit
in the project root will not push changes back upstream. gimera commit does
that:
gimera commit <repo> "<message>" [branch]
gimera commit <repo> "<message>" --preview
--preview (-p) shows what would be committed without doing it.
gimera add
Appends a repository to gimera.yml without editing it by hand. All four
options are required:
gimera add \
--url git@github.com:OCA/web.git \
--branch 18.0 \
--path addons_OCA/web \
--type integrated
Snapshots
Snapshots capture the state of one or more repositories so you can experiment and roll back:
gimera snap before-upgrade
gimera list-snapshots
gimera snaprestore
Typical workflows
Set up a freshly cloned project
gimera apply -r
Add one addon repository and pull it in
gimera add -u https://github.com/OCA/web.git -b 18.0 -p addons_OCA/web -t integrated
gimera apply addons_OCA/web
Bring everything up to the latest commits
gimera status
gimera apply -u
git diff gimera.yml # review the sha changes before committing
Debug a failing patch
gimera apply -v <repo>
Tips
- Run from the workspace root, where
gimera.ymllives. - Pin shas so an unrelated upstream commit cannot break your build.
- Use
-vwhen a patch fails — the default output is not enough to diagnose it. - Review
git diff gimera.ymlafterapply -u; those sha changes are your record of what moved.