From a787c7ed514d319d39dddcc0c8f4e00e1d2c6256 Mon Sep 17 00:00:00 2001 From: Xavier Logerais Date: Fri, 11 Sep 2026 23:42:19 +0200 Subject: [PATCH] fix(git): Guard $gitConfig.name/email lookup against missing map keys Accessing a missing key on a map value in text/template raises an error before `default` can run, so `configs.git` without `name`/`email` (or hosts without a `configs` key, e.g. termux-*) broke `chezmoi diff` with "map has no entry for key". Use `hasKey` before accessing each field instead. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_0145M6KGu5gQ3brTPzqs8NwG --- private_dot_config/git/config.tmpl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/private_dot_config/git/config.tmpl b/private_dot_config/git/config.tmpl index ad0c025..5b221fc 100644 --- a/private_dot_config/git/config.tmpl +++ b/private_dot_config/git/config.tmpl @@ -13,8 +13,14 @@ {{- $gitConfig = $currentUser.configs.git -}} {{- end -}} {{- end -}} -{{- $gitName := $gitConfig.name | default "Xavier Logerais" -}} -{{- $gitEmail := $gitConfig.email | default "xavier@logerais.com" -}} +{{- $gitName := "Xavier Logerais" -}} +{{- $gitEmail := "xavier@logerais.com" -}} +{{- if hasKey $gitConfig "name" -}} + {{- $gitName = $gitConfig.name -}} +{{- end -}} +{{- if hasKey $gitConfig "email" -}} + {{- $gitEmail = $gitConfig.email -}} +{{- end -}} [core] excludesfile = ~/.config/git/ignore attributesfile = ~/.config/git/attributes