gitconfig template: [gitflow] autopush = @AUTOPUSH@ (exact true/false, the hooks fail closed on anything else) and a fixed core.hooksPath = ~/.claude/githooks (created by `make link` in claude-config, git expands ~). install.sh: resolve_autopush at the identity step. A true/false already in ~/.gitconfig wins silently, else DOTFILES_GITFLOW_AUTOPUSH (any other value aborts before a file is touched), else a prompt that re-asks until the answer is exactly true or false (Enter = true), else true. render_gitconfig refuses to write when the mode is not a boolean or @AUTOPUSH@ survives. Fix: deploy_gitconfig received the repo bashrc template, so every install wrote `name = @USER@` / `email = @EMAIL@`. It now takes the resolved identity directly. patsub_replacement is turned off so an `&` in a name is not expanded on bash >= 5.2.
38 lines
1.2 KiB
Plaintext
38 lines
1.2 KiB
Plaintext
# Template for the user-scope ~/.gitconfig, rendered by install.sh. Git never
|
|
# expands $VARS, so the identity and the gitflow push mode are placeholders
|
|
# filled at install time with the installer's answers. A repo .git/config
|
|
# still overrides these values for that repo.
|
|
[user]
|
|
name = @USER@
|
|
email = @EMAIL@
|
|
[gitflow]
|
|
# Push mode of the gitflow hooks: false = manual, you run `git push`;
|
|
# true = every commit and merge is pushed. Exact true/false only (fail-closed).
|
|
autopush = @AUTOPUSH@
|
|
[push]
|
|
default = current
|
|
[color]
|
|
ui = auto
|
|
[pull]
|
|
rebase = true
|
|
[core]
|
|
editor = vim
|
|
pager = delta
|
|
excludesfile = ~/.gitignore
|
|
# gitflow hooks (created by `make link` in claude-config); git expands ~ itself.
|
|
hooksPath = ~/.claude/githooks
|
|
[advice]
|
|
detachedHead = false
|
|
[merge]
|
|
tool = vimdiff
|
|
conflictStyle = zdiff3
|
|
[pager]
|
|
branch = false
|
|
[url "git@salsa.debian.org:installer-team/"]
|
|
pushInsteadOf = https://salsa.debian.org/installer-team/
|
|
[interactive]
|
|
diffFilter = delta --color-only
|
|
[delta]
|
|
navigate = true # use n and N to move between diff sections
|
|
dark = true # or light = true, or omit for auto-detection
|