Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Configuration

Git Config Settings

Set them with git config <setting> <value>.

SettingValuesDefaultDescription
loom.remoteTypegithub, gitlab, azure, gerrit, plainDetected, else askedHow git loom push pushes
loom.pushRemoteA remote nameDetectedThe remote git loom push pushes to
loom.hideBranchPatternA prefixlocal-Branches hidden from git loom status
loom.statusContextAn integer ≥ 11Commits shown at and before the base by status and tui
loom.pruneGoneBranchestrue, falsefalseLet git loom update remove merged and gone branches without asking
loom.changeIdtrue, falsetrueAdd a Change-Id trailer to the commits loom creates

loom.remoteType

git loom push detects the forge from the remote URL (github.com, gitlab, dev.azure.com, an ssh:// URL on Gerrit’s port 29418) or a Gerrit commit-msg hook. When it can’t tell, it asks. Either way the result is saved here; set it yourself if detection guessed wrong:

git config loom.remoteType gitlab

See push for what each type does.

loom.pushRemote

By default, git loom push pushes to the remote your integration branch tracks. On GitHub, if that remote is upstream and an origin exists, it pushes to origin, your fork. Set this for any other layout, and when your integration branch tracks a local branch, which is on no remote:

git config loom.pushRemote personal

loom.hideBranchPattern

Branches whose names start with this prefix are hidden from git loom status, commits included, unless you pass --all. Use it for local-only work such as personal configuration. Every other command still accepts them, but push never publishes them.

git config loom.hideBranchPattern "secret-"   # hide secret-* instead of local-*
git config loom.hideBranchPattern ""          # hide nothing

loom.statusContext

How much history to show at and before the base: 1 shows the base alone, 3 adds the two commits before it, dimmed. git loom status -n overrides it for one run, and +/- change it live in git loom tui.

loom.pruneGoneBranches

When true, git loom update removes branches that were fully merged upstream, or whose remote branch was deleted, without asking — as update -y does.

loom.changeId

Commits created by commit, split and reword get a Gerrit-style Change-Id trailer, which gives them short IDs that survive rewrites. Set it to false to create commits without one.

Gerrit’s own settings are honored: gerrit.createChangeId false also turns it off, and gerrit.reviewUrl switches to Gerrit’s Link: form. A commit that already has a Change-Id, from a commit-msg hook for example, keeps it.

Note

When you write the message in your editor, loom adds the trailer by amending the commit afterwards. That amend uses your git config, not options passed after --: a commit signed with a forwarded -S loses its signature. Use commit.gpgsign, or -m.

Environment Variables

VariableDescription
NO_COLORDisable colored output when set (see no-color.org)
TERMdumb disables colored output
LOOM_AGENTAny non-empty value other than 0 turns on agent mode, like --agent

Global Flags

These go before or after the command.

FlagDescription
--no-colorDisable colored output
--theme <auto|dark|light>Colors for a dark or light terminal background. auto (the default) detects it, and falls back to dark.
--agentMachine-readable output for AI agents and scripts — see agent mode