← Schema index / Config Reference
git schema
Canonical generated docsThis section is generated from
caco config schema --json. The table below preserves the runtime field path, type, required/default markers, and canonical description for every value in this slice.Daemon git backend selection: subprocess (default) or in-process gitoxide, globally and per operation class.
| Field path | Type | Required | Default | Canonical description |
|---|---|---|---|---|
git | section | optional | Daemon git backend selection: subprocess (default) or in-process gitoxide, globally and per operation class. | |
└ git.backend | string (subprocess|gitoxide) | optional | subprocess | Global default git backend for all operation classes. |
└ git.backends | map | optional | Optional per-operation-class backend overrides. | |
└ git.backends.checkouts | string (subprocess|gitoxide) | optional | Backend for checkout management (clone/fetch/keep-fresh/local-clone/checkout). Defaults to git.backend. | |
└ git.backends.reintegration | string (subprocess|gitoxide) | optional | Backend for reintegration (merge/rebase/push). Defaults to git.backend; subprocess recommended. | |
└ git.backends.cacophony_state | string (subprocess|gitoxide) | optional | Backend for cacophony-state sidecar git ops (state-branch read/write/publish, summaries/artefact publication). Defaults to git.backend. | |
└ git.config | map (git config key -> value) | optional | Declarative git config entries the daemon reconciles and enforces (anti-drift) into managed checkouts (canonical, agent, integration clones) on each pass, e.g. filter.lfs.smudge='git-lfs smudge --skip -- %f' to keep Git-LFS assets as pointers so reconciliation/reintegration never materialize them. | |
└ git.lfs_skip_smudge | bool | optional | false | foolproof per-project flag that expands into the SAFE Git-LFS skip-smudge form (filter.lfs.smudge/process => 'git-lfs... --skip' plus filter.lfs.required=false) enforced into managed checkouts, so checkouts and reintegration keep LFS assets as pointers and never block on (or fail because of) LFS blob fetches. The one-line alternative to hand-writing those config entries, avoiding the gotcha where filter.lfs.smudge=false with required=true fails the checkout. Explicit `config` entries override the expanded defaults on key collision. Default false => inert. |