← 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 pathTypeRequiredDefaultCanonical description
gitsectionoptionalDaemon git backend selection: subprocess (default) or in-process gitoxide, globally and per operation class.
└ git.backendstring (subprocess|gitoxide)optionalsubprocessGlobal default git backend for all operation classes.
└ git.backendsmapoptionalOptional per-operation-class backend overrides.
└ git.backends.checkoutsstring (subprocess|gitoxide)optionalBackend for checkout management (clone/fetch/keep-fresh/local-clone/checkout). Defaults to git.backend.
└ git.backends.reintegrationstring (subprocess|gitoxide)optionalBackend for reintegration (merge/rebase/push). Defaults to git.backend; subprocess recommended.
└ git.backends.cacophony_statestring (subprocess|gitoxide)optionalBackend for cacophony-state sidecar git ops (state-branch read/write/publish, summaries/artefact publication). Defaults to git.backend.
└ git.configmap (git config key -> value)optionalDeclarative 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_smudgebooloptionalfalsefoolproof 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.