Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package chezmoi for openSUSE:Factory checked 
in at 2026-09-22 15:50:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chezmoi (Old)
 and      /work/SRC/openSUSE:Factory/.chezmoi.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "chezmoi"

Tue Sep 22 15:50:35 2026 rev:100 rq:1379490 version:2.72.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/chezmoi/chezmoi.changes  2026-09-07 
11:33:36.844007022 +0200
+++ /work/SRC/openSUSE:Factory/.chezmoi.new.383539/chezmoi.changes      
2026-09-22 15:50:44.481055957 +0200
@@ -1,0 +2,8 @@
+Mon Sep 21 14:42:12 UTC 2026 - Filippo Bonazzi <[email protected]>
+
+- Update to version 2.72.2:
+  - Features
+    * feat: Allow private_ attribute to apply to external_ dirs
+    * feat: Ignore common localhost.localdomain values when determining 
hostname
+
+-------------------------------------------------------------------

Old:
----
  chezmoi-2.72.1.obscpio

New:
----
  chezmoi-2.72.2.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ chezmoi.spec ++++++
--- /var/tmp/diff_new_pack.bUCDSp/_old  2026-09-22 15:50:45.851113114 +0200
+++ /var/tmp/diff_new_pack.bUCDSp/_new  2026-09-22 15:50:45.856113323 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           chezmoi
-Version:        2.72.1
+Version:        2.72.2
 Release:        0
 Summary:        A multi-host manager for dotfiles
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.bUCDSp/_old  2026-09-22 15:50:45.950117244 +0200
+++ /var/tmp/diff_new_pack.bUCDSp/_new  2026-09-22 15:50:45.959117620 +0200
@@ -2,7 +2,7 @@
   <service name="obs_scm" mode="manual">
     <param name="scm">git</param>
     <param name="url">https://github.com/twpayne/chezmoi.git</param>
-    <param name="revision">v2.72.1</param>
+    <param name="revision">v2.72.2</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
   </service>

++++++ chezmoi-2.72.1.obscpio -> chezmoi-2.72.2.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.1/.github/workflows/build-docs.yml 
new/chezmoi-2.72.2/.github/workflows/build-docs.yml
--- old/chezmoi-2.72.1/.github/workflows/build-docs.yml 2026-08-30 
15:02:22.000000000 +0200
+++ new/chezmoi-2.72.2/.github/workflows/build-docs.yml 2026-09-12 
22:17:54.000000000 +0200
@@ -13,9 +13,9 @@
   group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
   cancel-in-progress: true
 env:
-  GO_VERSION: 1.27.0 # https://go.dev/doc/devel/release
+  GO_VERSION: 1.27.1 # https://go.dev/doc/devel/release
   PYTHON_VERSION: '3.14' # https://www.python.org/downloads/
-  UV_VERSION: 0.12.7 # https://github.com/astral-sh/uv/releases
+  UV_VERSION: 0.12.13 # https://github.com/astral-sh/uv/releases
   NO_MKDOCS_2_WARNING: 1
 jobs:
   build-docs:
@@ -30,7 +30,7 @@
       with:
         cache-prefix: website-go
         go-version: ${{ env.GO_VERSION }}
-    - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d   # 
v10.0.1
+    - uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4   # 
v10.1.0
       with:
         enable-cache: false
         version: ${{ env.UV_VERSION }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.1/.github/workflows/installer.yml 
new/chezmoi-2.72.2/.github/workflows/installer.yml
--- old/chezmoi-2.72.1/.github/workflows/installer.yml  2026-08-30 
15:02:22.000000000 +0200
+++ new/chezmoi-2.72.2/.github/workflows/installer.yml  2026-09-12 
22:17:54.000000000 +0200
@@ -44,7 +44,7 @@
     - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1   # 
v7.0.1
       with:
         persist-credentials: false
-    - uses: reviewdog/action-misspell@d6429416b12b09b4e2768307d53bef58d172e962 
  # v1.27.0
+    - uses: reviewdog/action-misspell@ba7ac4030fa6812f8c8b2d4e516af8bc99553c32 
  # v1.28.0
       with:
         locale: US
         ignore: importas,Produktive
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.1/.github/workflows/main.yml 
new/chezmoi-2.72.2/.github/workflows/main.yml
--- old/chezmoi-2.72.1/.github/workflows/main.yml       2026-08-30 
15:02:22.000000000 +0200
+++ new/chezmoi-2.72.2/.github/workflows/main.yml       2026-09-12 
22:17:54.000000000 +0200
@@ -17,13 +17,13 @@
   AGE_VERSION: 1.3.2 # https://github.com/FiloSottile/age/releases
   CHOCOLATEY_VERSION: 2.7.4 # https://github.com/chocolatey/choco/releases
   COSIGN_VERSION: 3.1.3 # https://github.com/sigstore/cosign/releases
-  GO_VERSION: 1.27.0 # https://go.dev/doc/devel/release
+  GO_VERSION: 1.27.1 # https://go.dev/doc/devel/release
   GOLANGCI_LINT_VERSION: 2.13.2 # 
https://github.com/golangci/golangci-lint/releases
-  GORELEASER_VERSION: 2.18.0 # 
https://github.com/goreleaser/goreleaser/releases
+  GORELEASER_VERSION: 2.18.1 # 
https://github.com/goreleaser/goreleaser/releases
   PYTHON_VERSION: '3.14' # https://www.python.org/downloads/
   RAGE_VERSION: 0.12.1 # https://github.com/str4d/rage/releases
   SYFT_VERSION: 1.51.1 # https://github.com/anchore/syft/releases
-  UV_VERSION: 0.12.7 # https://github.com/astral-sh/uv/releases
+  UV_VERSION: 0.12.13 # https://github.com/astral-sh/uv/releases
   NO_MKDOCS_2_WARNING: 1
 jobs:
   changes:
@@ -70,10 +70,10 @@
       with:
         go-version: ${{ env.GO_VERSION }}
         upload-cache: false
-    - uses: github/codeql-action/init@486fec2a3ea2626afcd8c7e9208b4f515078dd7e 
  # codeql-bundle-v2.26.4
+    - uses: github/codeql-action/init@977e6ceaea7361825998245d787fa3b4d6b9e5df 
  # codeql-bundle-v2.27.0
       with:
         languages: go
-    - uses: 
github/codeql-action/analyze@486fec2a3ea2626afcd8c7e9208b4f515078dd7e   # 
codeql-bundle-v2.26.4
+    - uses: 
github/codeql-action/analyze@977e6ceaea7361825998245d787fa3b4d6b9e5df   # 
codeql-bundle-v2.27.0
   misspell:
     runs-on: ubuntu-22.04
     permissions:
@@ -82,7 +82,7 @@
     - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1   # 
v7.0.1
       with:
         persist-credentials: false
-    - uses: reviewdog/action-misspell@d6429416b12b09b4e2768307d53bef58d172e962 
  # v1.27.0
+    - uses: reviewdog/action-misspell@ba7ac4030fa6812f8c8b2d4e516af8bc99553c32 
  # v1.28.0
       with:
         locale: US
         ignore: importas,Produktive
@@ -324,7 +324,7 @@
       with:
         cache-prefix: website-go
         go-version: ${{ env.GO_VERSION }}
-    - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d   # 
v10.0.1
+    - uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4   # 
v10.1.0
       with:
         enable-cache: false
         version: ${{ env.UV_VERSION }}
@@ -526,7 +526,7 @@
       with:
         cache-prefix: website-go
         go-version: ${{ env.GO_VERSION }}
-    - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d   # 
v10.0.1
+    - uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4   # 
v10.1.0
       with:
         enable-cache: false
         version: ${{ env.UV_VERSION }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.1/Makefile new/chezmoi-2.72.2/Makefile
--- old/chezmoi-2.72.1/Makefile 2026-08-30 15:02:22.000000000 +0200
+++ new/chezmoi-2.72.2/Makefile 2026-09-12 22:17:54.000000000 +0200
@@ -195,7 +195,7 @@
 .PHONY: update-go-tools
 update-go-tools:
        go get \
-               github.com/editorconfig-checker/editorconfig-checker/v3@latest \
+               github.com/editorconfig-checker/editorconfig-checker/v4@latest \
                github.com/google/capslock@latest \
                github.com/josephspurrier/goversioninfo@latest \
                github.com/rhysd/actionlint@latest \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/chezmoi-2.72.1/assets/chezmoi.io/docs/reference/configuration-file/variables.md.yaml
 
new/chezmoi-2.72.2/assets/chezmoi.io/docs/reference/configuration-file/variables.md.yaml
--- 
old/chezmoi-2.72.1/assets/chezmoi.io/docs/reference/configuration-file/variables.md.yaml
    2026-08-30 15:02:22.000000000 +0200
+++ 
new/chezmoi-2.72.2/assets/chezmoi.io/docs/reference/configuration-file/variables.md.yaml
    2026-09-12 22:17:54.000000000 +0200
@@ -44,7 +44,7 @@
     scriptTempDir:
       description: Temporary directory for scripts.
     sourceDir:
-      default: '`$XDG_SHARE_HOME/chezmoi` / `$HOME/.local/share/chezmoi` / 
`%USERPROFILE%/.local/share/chezmoi`'
+      default: '`$XDG_DATA_HOME/chezmoi` / `$HOME/.local/share/chezmoi` / 
`%USERPROFILE%/.local/share/chezmoi`'
       description: Source directory.
     tempDir:
       default: '*from system*'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/chezmoi-2.72.1/assets/chezmoi.io/docs/reference/special-files/chezmoiexternal-format.md
 
new/chezmoi-2.72.2/assets/chezmoi.io/docs/reference/special-files/chezmoiexternal-format.md
--- 
old/chezmoi-2.72.1/assets/chezmoi.io/docs/reference/special-files/chezmoiexternal-format.md
 2026-08-30 15:02:22.000000000 +0200
+++ 
new/chezmoi-2.72.2/assets/chezmoi.io/docs/reference/special-files/chezmoiexternal-format.md
 2026-09-12 22:17:54.000000000 +0200
@@ -34,7 +34,7 @@
 | `exact`                      | bool     | `false`       | Add `exact_` 
attribute to directories in archive                 |
 | `exclude`                    | []string | *none*        | Patterns to 
exclude from archive                                 |
 | `executable`                 | bool     | `false`       | Add `executable_` 
attribute to file                              |
-| `private`                    | bool     | `false`       | Add `private_` 
attribute to file                                 |
+| `private`                    | bool     | `false`       | Add `private_` 
attribute to file or directory                    |
 | `readonly`                   | bool     | `false`       | Add `readonly_` 
attribute to file                                |
 | `format`                     | string   | *autodetect*  | Format of archive  
                                              |
 | `path`                       | string   | *none*        | Path to file in 
archive                                          |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/chezmoi-2.72.1/assets/templates/versioninfo.json.tmpl 
new/chezmoi-2.72.2/assets/templates/versioninfo.json.tmpl
--- old/chezmoi-2.72.1/assets/templates/versioninfo.json.tmpl   2026-08-30 
15:02:22.000000000 +0200
+++ new/chezmoi-2.72.2/assets/templates/versioninfo.json.tmpl   2026-09-12 
22:17:54.000000000 +0200
@@ -32,4 +32,4 @@
         "OriginalFilename" $filename
         "ProductName" $name
         "ProductVersion" ($versionStr | trimPrefix "v"))
-      | toPrettyJson }}
+      | toPrettyJSON }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.1/go.mod new/chezmoi-2.72.2/go.mod
--- old/chezmoi-2.72.1/go.mod   2026-08-30 15:02:22.000000000 +0200
+++ new/chezmoi-2.72.2/go.mod   2026-09-12 22:17:54.000000000 +0200
@@ -13,7 +13,7 @@
        chezmoi.io/chezmoi/v2/internal/cmds/lint-commit-messages
        chezmoi.io/chezmoi/v2/internal/cmds/lint-txtar
        chezmoi.io/chezmoi/v2/internal/cmds/lint-whitespace
-       
github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker
+       
github.com/editorconfig-checker/editorconfig-checker/v4/cmd/editorconfig-checker
        github.com/google/capslock/cmd/capslock
        github.com/josephspurrier/goversioninfo/cmd/goversioninfo
        github.com/rhysd/actionlint/cmd/actionlint
@@ -28,9 +28,9 @@
        github.com/Masterminds/sprig/v3 v3.3.0
        github.com/Shopify/ejson v1.5.5
        github.com/alecthomas/assert/v2 v2.11.0
-       github.com/aws/aws-sdk-go-v2 v1.45.1
-       github.com/aws/aws-sdk-go-v2/config v1.33.1
-       github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.46.1
+       github.com/aws/aws-sdk-go-v2 v1.47.0
+       github.com/aws/aws-sdk-go-v2/config v1.33.4
+       github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.49.0
        github.com/bartventer/httpcache v0.14.0
        github.com/betterleaks/betterleaks v1.8.1
        github.com/bmatcuk/doublestar/v4 v4.10.0
@@ -47,9 +47,9 @@
        github.com/goccy/go-yaml v1.19.2
        github.com/google/go-github/v72 v72.0.0
        github.com/google/renameio/v2 v2.0.2
-       github.com/gopasspw/gopass v1.16.1
+       github.com/gopasspw/gopass v1.17.2
        github.com/itchyny/gojq v0.12.19
-       github.com/klauspost/compress v1.19.2
+       github.com/klauspost/compress v1.20.0
        github.com/mitchellh/copystructure v1.2.0
        github.com/muesli/combinator v0.3.0
        github.com/muesli/termenv v0.16.0
@@ -67,15 +67,15 @@
        github.com/ulikunitz/xz v0.5.16
        github.com/zalando/go-keyring v0.2.8
        go.etcd.io/bbolt v1.5.0
-       golang.org/x/crypto v0.55.0
-       golang.org/x/oauth2 v0.36.0
-       golang.org/x/sync v0.22.0
-       golang.org/x/sys v0.47.0
-       golang.org/x/term v0.45.0
-       golang.org/x/text v0.41.0
+       golang.org/x/crypto v0.57.0
+       golang.org/x/oauth2 v0.37.0
+       golang.org/x/sync v0.23.0
+       golang.org/x/sys v0.48.0
+       golang.org/x/term v0.46.0
+       golang.org/x/text v0.42.0
        gopkg.in/ini.v1 v1.67.3
        howett.net/plist v1.0.1
-       mvdan.cc/sh/v3 v3.14.0
+       mvdan.cc/sh/v3 v3.14.1
        znkr.io/diff v1.0.1
 )
 
@@ -83,6 +83,7 @@
        dario.cat/mergo v1.0.2 // indirect
        filippo.io/edwards25519 v1.2.0 // indirect
        filippo.io/hpke v0.4.0 // indirect
+       filippo.io/nistec v0.0.4 // indirect
        github.com/Azure/azure-sdk-for-go/sdk/azcore v1.23.1 // indirect
        github.com/Azure/azure-sdk-for-go/sdk/internal v1.12.0 // indirect
        github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.2.0 
// indirect
@@ -95,19 +96,19 @@
        github.com/akavel/rsrc v0.10.2 // indirect
        github.com/alecthomas/chroma/v2 v2.27.0 // indirect
        github.com/alecthomas/repr v0.5.4 // indirect
-       github.com/andybalholm/brotli v1.2.3 // indirect
+       github.com/andybalholm/brotli v1.2.4 // indirect
        github.com/atotto/clipboard v0.1.4 // indirect
-       github.com/aws/aws-sdk-go-v2/credentials v1.20.1 // indirect
-       github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.19.1 // indirect
-       github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.1 // indirect
-       github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.1 // indirect
-       github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.1 // indirect
+       github.com/aws/aws-sdk-go-v2/credentials v1.20.4 // indirect
+       github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.0 // indirect
+       github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.3 // indirect
+       github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.3 // indirect
+       github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.3 // indirect
        github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19 
// indirect
-       github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.1 // 
indirect
-       github.com/aws/aws-sdk-go-v2/service/signin v1.7.1 // indirect
-       github.com/aws/aws-sdk-go-v2/service/sso v1.35.1 // indirect
-       github.com/aws/aws-sdk-go-v2/service/ssooidc v1.40.1 // indirect
-       github.com/aws/aws-sdk-go-v2/service/sts v1.47.1 // indirect
+       github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.3 // 
indirect
+       github.com/aws/aws-sdk-go-v2/service/signin v1.10.0 // indirect
+       github.com/aws/aws-sdk-go-v2/service/sso v1.38.0 // indirect
+       github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.0 // indirect
+       github.com/aws/aws-sdk-go-v2/service/sts v1.50.0 // indirect
        github.com/aws/smithy-go v1.28.1 // indirect
        github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
        github.com/aymerick/douceur v0.2.0 // indirect
@@ -124,23 +125,22 @@
        github.com/charmbracelet/x/ansi v0.11.8 // indirect
        github.com/charmbracelet/x/cellbuf v0.0.15 // indirect
        github.com/charmbracelet/x/conpty v0.2.0 // indirect
-       github.com/charmbracelet/x/exp/slice v0.0.0-20260830003929-9f48cc723c1c 
// indirect
+       github.com/charmbracelet/x/exp/slice v0.0.0-20260906004030-3986e9119cf9 
// indirect
        github.com/charmbracelet/x/term v0.2.2 // indirect
        github.com/charmbracelet/x/termios v0.1.1 // indirect
        github.com/charmbracelet/x/xpty v0.1.4 // indirect
        github.com/clipperhouse/displaywidth v0.11.0 // indirect
        github.com/clipperhouse/uax29/v2 v2.7.0 // indirect
        github.com/cloudflare/circl v1.6.5 // indirect
-       github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect
        github.com/creack/pty v1.1.24 // indirect
        github.com/cyphar/filepath-securejoin v0.7.0 // indirect
        github.com/danieljoos/wincred v1.2.3 // indirect
        github.com/dlclark/regexp2 v1.12.0 // indirect
-       github.com/dlclark/regexp2/v2 v2.7.1 // indirect
+       github.com/dlclark/regexp2/v2 v2.8.0 // indirect
        github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707 // 
indirect
        github.com/dustin/go-humanize v1.0.1 // indirect
        github.com/dustin/gojson v0.0.0-20160307161227-2e71ec9dd5ad // indirect
-       github.com/editorconfig-checker/editorconfig-checker/v3 v3.11.1 // 
indirect
+       github.com/editorconfig-checker/editorconfig-checker/v4 v4.0.1 // 
indirect
        github.com/editorconfig/editorconfig-core-go/v2 v2.6.4 // indirect
        github.com/emirpasic/gods v1.18.1 // indirect
        github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // 
indirect
@@ -149,6 +149,7 @@
        github.com/fatih/semgroup v1.3.0 // indirect
        github.com/gabriel-vasile/mimetype v1.4.15 // indirect
        github.com/gitleaks/go-gitdiff v0.9.1 // indirect
+       github.com/gkampitakis/ciinfo v0.3.4 // indirect
        github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
        github.com/go-git/go-billy/v5 v5.9.1 // indirect
        github.com/gobwas/glob v1.0.0 // indirect
@@ -160,6 +161,7 @@
        github.com/google/go-querystring v1.2.0 // indirect
        github.com/google/uuid v1.6.0 // indirect
        github.com/gopasspw/gitconfig v0.0.4 // indirect
+       github.com/gopasspw/gopass-hibp v1.17.2 // indirect
        github.com/gorilla/css v1.0.1 // indirect
        github.com/h2non/filetype v1.1.3 // indirect
        github.com/hashicorp/go-version v1.9.0 // indirect
@@ -170,6 +172,7 @@
        github.com/itchyny/timefmt-go v0.1.8 // indirect
        github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // 
indirect
        github.com/josephspurrier/goversioninfo v1.7.0 // indirect
+       github.com/jsimonetti/pwscheme v0.0.0-20220922140336-67a4d090f150 // 
indirect
        github.com/kevinburke/ssh_config v1.6.0 // indirect
        github.com/klauspost/cpuid/v2 v2.4.0 // indirect
        github.com/klauspost/pgzip v1.2.6 // indirect
@@ -178,7 +181,7 @@
        github.com/mattn/go-colorable v0.1.15 // indirect
        github.com/mattn/go-isatty v0.0.24 // indirect
        github.com/mattn/go-localereader v0.0.1 // indirect
-       github.com/mattn/go-runewidth v0.0.28 // indirect
+       github.com/mattn/go-runewidth v0.0.30 // indirect
        github.com/mattn/go-shellwords v1.0.12 // indirect
        github.com/mholt/archives v0.1.6-0.20260429171216-ef71b7a32fae // 
indirect
        github.com/microcosm-cc/bluemonday v1.0.27 // indirect
@@ -187,6 +190,7 @@
        github.com/mitchellh/reflectwalk v1.0.2 // indirect
        github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
        github.com/muesli/cancelreader v0.2.2 // indirect
+       github.com/muesli/crunchy v0.4.0 // indirect
        github.com/muesli/reflow v0.3.0 // indirect
        github.com/pelletier/go-toml/v2 v2.4.3 // indirect
        github.com/pierrec/lz4/v4 v4.1.29 // indirect
@@ -198,7 +202,6 @@
        github.com/robfig/cron/v3 v3.0.1 // indirect
        github.com/rrethy/ahocorasick v1.0.0 // indirect
        github.com/rs/zerolog v1.35.1 // indirect
-       github.com/russross/blackfriday/v2 v2.1.0 // indirect
        github.com/sergi/go-diff v1.4.0 // indirect
        github.com/shopspring/decimal v1.4.0 // indirect
        github.com/shurcooL/githubv4 v0.0.0-20260209031235-2402fdf4a9ed // 
indirect
@@ -210,28 +213,27 @@
        github.com/stangelandcl/ppmd v0.1.1 // indirect
        github.com/tobischo/argon2 v0.2.0 // indirect
        github.com/twpayne/find-typos v0.0.3 // indirect
-       github.com/urfave/cli/v2 v2.27.7 // indirect
+       github.com/urfave/cli/v3 v3.11.0 // indirect
        github.com/wlynxg/chardet v1.0.5 // indirect
        github.com/xanzy/ssh-agent v0.3.3 // indirect
        github.com/xo/terminfo v1.0.0 // indirect
        github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 // indirect
-       github.com/yuin/goldmark v1.8.5 // indirect
+       github.com/yuin/goldmark v1.8.6 // indirect
        github.com/yuin/goldmark-emoji v1.0.6 // indirect
+       github.com/zeebo/blake3 v0.2.4 // indirect
        go.yaml.in/yaml/v3 v3.0.5 // indirect
        go.yaml.in/yaml/v4 v4.0.0-rc.3 // indirect
        go4.org v0.0.0-20260112195520-a5071408f32f // indirect
-       golang.org/x/exp v0.0.0-20260824195058-e88cd73687aa // indirect
-       golang.org/x/mod v0.39.0 // indirect
-       golang.org/x/net v0.58.0 // indirect
-       golang.org/x/tools v0.49.0 // indirect
+       golang.org/x/exp v0.0.0-20260908205506-85c1c2202aba // indirect
+       golang.org/x/mod v0.41.0 // indirect
+       golang.org/x/net v0.59.0 // indirect
+       golang.org/x/tools v0.50.0 // indirect
        google.golang.org/protobuf v1.36.11 // indirect
        gopkg.in/warnings.v0 v0.1.2 // indirect
-       gopkg.in/yaml.v3 v3.0.1 // indirect
 )
 
 exclude (
        github.com/charmbracelet/bubbles v0.21.0 // 
https://github.com/twpayne/chezmoi/issues/4405
        github.com/charmbracelet/bubbles v0.21.1 // 
https://github.com/twpayne/chezmoi/issues/4405
        github.com/charmbracelet/bubbles v1.0.0 // 
https://github.com/twpayne/chezmoi/issues/4405
-       github.com/editorconfig-checker/editorconfig-checker/v3 v3.11.2 // 
Requires Go 1.27
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.1/go.sum new/chezmoi-2.72.2/go.sum
--- old/chezmoi-2.72.1/go.sum   2026-08-30 15:02:22.000000000 +0200
+++ new/chezmoi-2.72.2/go.sum   2026-09-12 22:17:54.000000000 +0200
@@ -1,5 +1,3 @@
-al.essio.dev/pkg/shellescape v1.6.0 
h1:NxFcEqzFSEVCGN2yq7Huv/9hyCEGVa/TncnOOBBeXHA=
-al.essio.dev/pkg/shellescape v1.6.0/go.mod 
h1:6sIqp7X2P6mThCQ7twERpZTuigpr6KbZWtls1U8I890=
 c2sp.org/CCTV/age v0.0.0-20260829155415-4448f2097b2d 
h1:Blprhc2SbChNZtWcU+BLTM4YdoqYAS9V7cJgOwJKyAs=
 c2sp.org/CCTV/age v0.0.0-20260829155415-4448f2097b2d/go.mod 
h1:SrHC2C7r5GkDk8R+NFVzYy/sdj0Ypg9htaPXQq5Cqeo=
 cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY=
@@ -18,8 +16,8 @@
 cloud.google.com/go/monitoring v1.24.3/go.mod 
h1:nYP6W0tm3N9H/bOw8am7t62YTzZY+zUeQ+Bi6+2eonI=
 cloud.google.com/go/storage v1.56.0 
h1:iixmq2Fse2tqxMbWhLWC9HfBj1qdxqAmiK8/eqtsLxI=
 cloud.google.com/go/storage v1.56.0/go.mod 
h1:Tpuj6t4NweCLzlNbw9Z9iwxEkrSem20AetIeH/shgVU=
-codeberg.org/tslocum/cbind v0.1.6 
h1:RhnKC7tmrCf0ZJBTQ6b1voAFcGqIEjDsKzqlqFWwkV8=
-codeberg.org/tslocum/cbind v0.1.6/go.mod 
h1:gfR4e1lfYqC4xlR0N//omQc1JbHx+e1Mk5F8UfotYYc=
+codeberg.org/tslocum/cbind v0.1.9 
h1:Y/l7h7xnu24lKf/Z6y6SpaIzDw8aJjPZDg+uIGLp1Rw=
+codeberg.org/tslocum/cbind v0.1.9/go.mod 
h1:xoMczSDzG2VHsT3UmUcusliDhuMss8Q0GL+IhapG1nk=
 cyphar.com/go-pathrs v0.2.5 h1:SnX9FBvnoyn3lUs1dkMgZ52bAETpirNu3FTRh5HlRik=
 cyphar.com/go-pathrs v0.2.5/go.mod 
h1:y8f1EMG7r+hCuFf/rXsKqMJrJAUoADZGNh5/vZPKcGc=
 dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8=
@@ -83,42 +81,42 @@
 github.com/alecthomas/chroma/v2 v2.27.0/go.mod 
h1:NjJ3ciIgrqBNeIkWZ4e46nseoLDslxU1LmfCoL+wcY8=
 github.com/alecthomas/repr v0.5.4 
h1:OVP7JEcuzU9CCDsT6STCr3rg17oQfWILtPWd2EG0uN4=
 github.com/alecthomas/repr v0.5.4/go.mod 
h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
-github.com/andybalholm/brotli v1.2.3 
h1:8H1qwOkl2LPfjf3YezB90JnCliZb6SInJ/OJkEbA5NQ=
-github.com/andybalholm/brotli v1.2.3/go.mod 
h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY=
+github.com/andybalholm/brotli v1.2.4 
h1:649LN6qF+/7JJYNN3Wdu4Dt5PS6eC/yP/Go3Bb0/AHI=
+github.com/andybalholm/brotli v1.2.4/go.mod 
h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY=
 github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be 
h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
 github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod 
h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
 github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 
h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
 github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod 
h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
 github.com/atotto/clipboard v0.1.4 
h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4=
 github.com/atotto/clipboard v0.1.4/go.mod 
h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI=
-github.com/aws/aws-sdk-go-v2 v1.45.1 
h1:iIoG3NaLhV6UZpPXyPXlDj2I9oS8tV/nMcMnITCC6Ks=
-github.com/aws/aws-sdk-go-v2 v1.45.1/go.mod 
h1:bttEH6JqnUL8LepvDVfdrds/fZ5bCIxzpe3abyUrhDU=
-github.com/aws/aws-sdk-go-v2/config v1.33.1 
h1:bq9jze1hQ5YTCLoVxNnbp0T7rglrlOE7N9YsHqjGkEw=
-github.com/aws/aws-sdk-go-v2/config v1.33.1/go.mod 
h1:2A3HQwG4zaL5Tm80rc6RZj8LmWWv4WYT5v8raSz/L7A=
-github.com/aws/aws-sdk-go-v2/credentials v1.20.1 
h1:Z8GRNEx0u9sDkZOq4PUnN8mjGwbUQGRzMSXpvt3d8xQ=
-github.com/aws/aws-sdk-go-v2/credentials v1.20.1/go.mod 
h1:uBIK00kFo95dnemqfFMTWx0X8YRqsh6ecIoCjjOkZqM=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.19.1 
h1:YIEBqcqRnpi4Pfv0YHImtgi6czGCwKHANC7SwmUAVD0=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.19.1/go.mod 
h1:imEf0oufgAo8KAkCHhrOdqGEC0YWx1PPBQH82shSxGw=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.1 
h1:pc138gM1CW+XPc60rEwUlwwuwWFQK16CI1T7v1F9Oec=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.1/go.mod 
h1:1+koxpPIbfBdfzP6vojm5/zTpTQ/micYwlxIiNB3TxI=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.1 
h1:K0JsbZQj+1h208Ro1zHeA4l7bMp0NvRffHQ91q8Ol1s=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.1/go.mod 
h1:W3/vL6EtCIatICGy9ab29QhMuae+cOKPWcMxv02CO+Q=
-github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.1 
h1:yhw5KD1phVyP9vijxOUzDfEtJx+bt+L63k+VfuiYFAA=
-github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.1/go.mod 
h1:ZW2e0d7DYlRxlS9hEiMXE47gTdX5KRN4byUiNbUpG+Q=
+github.com/aws/aws-sdk-go-v2 v1.47.0 
h1:0jsHallhJCeaU0Ko48c/3FK1ctOQ7NpzggxriJOQ8MQ=
+github.com/aws/aws-sdk-go-v2 v1.47.0/go.mod 
h1:bttEH6JqnUL8LepvDVfdrds/fZ5bCIxzpe3abyUrhDU=
+github.com/aws/aws-sdk-go-v2/config v1.33.4 
h1:FzvkXKSzwqHni4U7nDigHg4jjtqMpVUuHgmZfSoJVQ0=
+github.com/aws/aws-sdk-go-v2/config v1.33.4/go.mod 
h1:VZqGZnZsCWVfK/iGPptJIyNIX3XEX6iQU2Rel4sLrr8=
+github.com/aws/aws-sdk-go-v2/credentials v1.20.4 
h1:hTvrJJseKbvw32kmiE0G+u/9ZqpqscjDrTigHIXP2qs=
+github.com/aws/aws-sdk-go-v2/credentials v1.20.4/go.mod 
h1:gWp9O1ZBWwpcIrgV+mVHk4gZUurAEDkgypu/OXOlIaw=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.0 
h1:AM4hHjww+PSFtt6E+UrBrPlZkWsePCLEt9AjkfQX+yM=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.0/go.mod 
h1:3x/yXezeQjpOvBb4jEMxrS8SXvpdvJ5abv6l5c1gWM8=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.3 
h1:Hp/VgjP0BysR3OgLlR057Vz2LcbbVnoWeJ+3qWiS/fY=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.3/go.mod 
h1:nwGV5qw7F1IZPgxCvA/ph8N2TAuz+BkRG/bXn808qMA=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.3 
h1:MUaM4f+kj1ZIBPZfUS8cxP1GKXXZtHJjAthy93AN7SM=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.3/go.mod 
h1:6YmVmEVRI5ZZzRjCSsb9SryKH0hAlMRdgA7kG9aDvBU=
+github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.3 
h1:fuSCw4Z2qfRCztMPO3GXJNSiEp6Wee+WOLwrHHUMy9c=
+github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.3/go.mod 
h1:6SxcHheD1pPR5+kWm1wGvjlL/YqUsh267sAfEmN4K7A=
 github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19 
h1:bAdDl/HkGCcGPoe25ToSHEw23VIxt6CT5fLcg111BKg=
 github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19/go.mod 
h1:KaUzbLxv4CeSxh6ZCl9B4m7CuFenS8kUEaDs+f/DQr4=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.1 
h1:RmmWQPREQdk9U+PfqeHW3MqZaBaNK7TpV9W3RY+b+7g=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.1/go.mod 
h1:0A3W4F+68ZnNk5XcNL/e9HFMwnP8RlEicFfy6eOEDyw=
-github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.46.1 
h1:WnWkXm0wdenvdzG5QhMvTMWlG7Kh4MNTPcjQn4iuD4M=
-github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.46.1/go.mod 
h1:2rdJeO95tT+EGmjF4jWmIzNKRwIMpr7Dnf7W6mIB9EQ=
-github.com/aws/aws-sdk-go-v2/service/signin v1.7.1 
h1:mdMtSVKdQ3+mzBh+l0ogrFYZVQUCg6pJZOirA2ARsYE=
-github.com/aws/aws-sdk-go-v2/service/signin v1.7.1/go.mod 
h1:9IqUlsJDbUPcg6cgx3WEzXdjrbWzLDQrak0aaSqlTcI=
-github.com/aws/aws-sdk-go-v2/service/sso v1.35.1 
h1:B6WFn91tobD6gG4724ONHaqrpKsoETGnv98LHe/yIGM=
-github.com/aws/aws-sdk-go-v2/service/sso v1.35.1/go.mod 
h1:tWuiVBUtPBr8/rgRiYS8Uf85sHcAN+G7XS3D3CEoUh8=
-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.40.1 
h1:6yeYCWFvgbI2TI3K6jr9LtBNhXgJ7g4xqD+DEiaDDmM=
-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.40.1/go.mod 
h1:naFe83jSMuYkH+QjQPX8n1MLhBkeCFM5Lsnh5m5wz3c=
-github.com/aws/aws-sdk-go-v2/service/sts v1.47.1 
h1:Sv2xPnRHlThSUtVujYuUBPI/Il8si6UPHXL8DMiB/F0=
-github.com/aws/aws-sdk-go-v2/service/sts v1.47.1/go.mod 
h1:mKo/CzaCz8qytGW70NG4vIIGAx1HXTlb5lHNkC5k3lk=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.3 
h1:bON1rJf67TSTDCKg816AAIE4xSTtoo9tl0XRkO72R+I=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.3/go.mod 
h1:c5BBpjJcQXpfeq9iASyVKA3T6vX6B6LEXY4mL/gklDY=
+github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.49.0 
h1:XkHFx2EDC1VxiXaPVBkq3NWD4O+geADhelhl/nvr2Q0=
+github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.49.0/go.mod 
h1:HMOw7but3OQg86ARfV8Hvoc8h/kNiB3OQm1q6AwO27I=
+github.com/aws/aws-sdk-go-v2/service/signin v1.10.0 
h1:ZD5qFpWcaOKdTuhBi431pIDkCgrMkMlMT6jlpSPoIRI=
+github.com/aws/aws-sdk-go-v2/service/signin v1.10.0/go.mod 
h1:8Nuuf+tR346PjJ3MvZPh9pekbLiLQFWJhzMXfwy7alA=
+github.com/aws/aws-sdk-go-v2/service/sso v1.38.0 
h1:JGeeBcMlhg1xtOXYpeCaTQBZObtXMPQCUqBcmr65NRA=
+github.com/aws/aws-sdk-go-v2/service/sso v1.38.0/go.mod 
h1:XwteswG9EOMRFm73UT0t+MbTwyLxMrEXkU6e+v92Lzo=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.0 
h1:obhahQXDEdVEv8y5bTKXR30LVaxYe1kyYM0L7l2Iq+k=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.0/go.mod 
h1:6twZZ/aXHNy1vXUO8koUbp++MYzMASkOgEBdkbJYmO0=
+github.com/aws/aws-sdk-go-v2/service/sts v1.50.0 
h1:khXV3+K5D3f4e8xtplaRdSFn1bEg3gj5EBHQvbCOZbQ=
+github.com/aws/aws-sdk-go-v2/service/sts v1.50.0/go.mod 
h1:/8JRcdTt//hG0Q4BTmGbuOplT7ABe+5rdtqUHqXvYIM=
 github.com/aws/smithy-go v1.28.1 
h1:R/nXH00c8qcfCzQVELtRw+eLQWtzv+VAIEFJ1/xxXlQ=
 github.com/aws/smithy-go v1.28.1/go.mod 
h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
 github.com/aymanbagabas/go-osc52/v2 v2.0.1 
h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
@@ -181,8 +179,8 @@
 github.com/charmbracelet/x/conpty v0.2.0/go.mod 
h1:fexgUnVrZgw8scD49f6VSi0Ggj9GWYIrpedRthAwW/8=
 github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b 
h1:MnAMdlwSltxJyULnrYbkZpp4k58Co7Tah3ciKhSNo0Q=
 github.com/charmbracelet/x/exp/golden 
v0.0.0-20240815200342-61de596daa2b/go.mod 
h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U=
-github.com/charmbracelet/x/exp/slice v0.0.0-20260830003929-9f48cc723c1c 
h1:NrexJt03stF3jc99mH9MwkYCc8rKMmLmOgk16D4blTo=
-github.com/charmbracelet/x/exp/slice v0.0.0-20260830003929-9f48cc723c1c/go.mod 
h1:vqEfX6xzqW1pKKZUUiFOKg0OQ7bCh54Q2vR/tserrRA=
+github.com/charmbracelet/x/exp/slice v0.0.0-20260906004030-3986e9119cf9 
h1:zW96vcZ3zDetccerbN7sS/sCydOE/l/9S+C94pozsaU=
+github.com/charmbracelet/x/exp/slice v0.0.0-20260906004030-3986e9119cf9/go.mod 
h1:vqEfX6xzqW1pKKZUUiFOKg0OQ7bCh54Q2vR/tserrRA=
 github.com/charmbracelet/x/term v0.2.2 
h1:xVRT/S2ZcKdhhOuSP4t5cLi5o+JxklsoEObBSgfgZRk=
 github.com/charmbracelet/x/term v0.2.2/go.mod 
h1:kF8CY5RddLWrsgVwpw4kAa6TESp6EB5y3uxGLeCqzAI=
 github.com/charmbracelet/x/termios v0.1.1 
h1:o3Q2bT8eqzGnGPOYheoYS8eEleT5ZVNYNy8JawjaNZY=
@@ -203,9 +201,8 @@
 github.com/coreos/go-semver v0.3.1/go.mod 
h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec=
 github.com/coreos/go-systemd/v22 v22.7.0 
h1:LAEzFkke61DFROc7zNLX/WA2i5J8gYqe0rSj9KI28KA=
 github.com/coreos/go-systemd/v22 v22.7.0/go.mod 
h1:xNUYtjHu2EDXbsxz1i41wouACIwT7Ybq9o0BQhMwD0w=
+github.com/cpuguy83/go-md2man/v2 v2.0.6 
h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0=
 github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod 
h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
-github.com/cpuguy83/go-md2man/v2 v2.0.7 
h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo=
-github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod 
h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
 github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s=
 github.com/creack/pty v1.1.24/go.mod 
h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE=
 github.com/cyphar/filepath-securejoin v0.7.0 
h1:s0Y3ITPy6sQn5xt54DuYvTF8hu134ooYLUb58DX/HjE=
@@ -218,8 +215,8 @@
 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/dlclark/regexp2 v1.12.0 
h1:0j4c5qQmnC6XOWNjP3PIXURXN2gWx76rd3KvgdPkCz8=
 github.com/dlclark/regexp2 v1.12.0/go.mod 
h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
-github.com/dlclark/regexp2/v2 v2.7.1 
h1:yqDtwI1ptXXvEUNpYTk2lad4jLtAcKqkzepn4savSk4=
-github.com/dlclark/regexp2/v2 v2.7.1/go.mod 
h1:avUrQvPaLz2DrFNHJF0taWAFFX2C1GMSSoeiqFjcBmU=
+github.com/dlclark/regexp2/v2 v2.8.0 
h1:CekDhPLGfm+GAJmPVFIG+5dqMIQPkyHJll7BbdneDfw=
+github.com/dlclark/regexp2/v2 v2.8.0/go.mod 
h1:avUrQvPaLz2DrFNHJF0taWAFFX2C1GMSSoeiqFjcBmU=
 github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707 
h1:2tV76y6Q9BB+NEBasnqvs7e49aEBFI8ejC89PSnWH+4=
 github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707/go.mod 
h1:qssHWj60/X5sZFNxpG4HBPDHVqxNm4DfnCKgrbZOT+s=
 github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780 
h1:tFh1tRc4CA31yP6qDcu+Trax5wW5GuMxvkIba07qVLY=
@@ -228,8 +225,10 @@
 github.com/dustin/go-humanize v1.0.1/go.mod 
h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
 github.com/dustin/gojson v0.0.0-20160307161227-2e71ec9dd5ad 
h1:Qk76DOWdOp+GlyDKBAG3Klr9cn7N+LcYc82AZ2S7+cA=
 github.com/dustin/gojson v0.0.0-20160307161227-2e71ec9dd5ad/go.mod 
h1:mPKfmRa823oBIgl2r20LeMSpTAteW5j7FLkc0vjmzyQ=
-github.com/editorconfig-checker/editorconfig-checker/v3 v3.11.1 
h1:PMiVPghyO7JSKLh87UfVdJUUC/qzT2oqVUxeEfazOzw=
-github.com/editorconfig-checker/editorconfig-checker/v3 v3.11.1/go.mod 
h1:9W53jUVb5cBaBWslsOEDXDya3i7v3g2JDxOuqUXdyeE=
+github.com/ebitengine/purego v0.10.1 
h1:dewVBCBT2GaMu1SrNTYxQhgQBethzfhiwvZiLGP/qyY=
+github.com/ebitengine/purego v0.10.1/go.mod 
h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
+github.com/editorconfig-checker/editorconfig-checker/v4 v4.0.1 
h1:RBY86dpChVdvRB4B9xhUvvvI6wnrn0T5E4hQhdwWbWc=
+github.com/editorconfig-checker/editorconfig-checker/v4 v4.0.1/go.mod 
h1:jusSYdzw5UQUreCSzoQ8Otom0SXiaKhBtS2k6B3lZCg=
 github.com/editorconfig/editorconfig-core-go/v2 v2.6.4 
h1:CHwUbBVVyKWRX9kt5A/OtwhYUJB32DrFp9xzmjR6cac=
 github.com/editorconfig/editorconfig-core-go/v2 v2.6.4/go.mod 
h1:JWRVKHdVW+dkv6F8p+xGCa6a+TyMrqsFbFkSs/aQkrQ=
 github.com/elazarl/goproxy v1.7.2 
h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o=
@@ -260,8 +259,8 @@
 github.com/gabriel-vasile/mimetype v1.4.15/go.mod 
h1:azpTcoLcDZRNgFou5j+APrqQx9HqVPWa6ijYQIIVswQ=
 github.com/gdamore/encoding v1.0.1 
h1:YzKZckdBL6jVt2Gc+5p82qhrGiqMdG/eNs6Wy0u3Uhw=
 github.com/gdamore/encoding v1.0.1/go.mod 
h1:0Z0cMFinngz9kS1QfMjCP8TY7em3bZYeeklsSDPivEo=
-github.com/gdamore/tcell/v2 v2.9.0 
h1:N6t+eqK7/xwtRPwxzs1PXeRWnm0H9l02CrgJ7DLn1ys=
-github.com/gdamore/tcell/v2 v2.9.0/go.mod 
h1:8/ZoqM9rxzYphT9tH/9LnunhV9oPBqwS8WHGYm5nrmo=
+github.com/gdamore/tcell/v3 v3.4.0 
h1:VUym1HQZiYodA5PGQrqLxF7QwqQndcAUwQD7G7XUy5E=
+github.com/gdamore/tcell/v3 v3.4.0/go.mod 
h1:fjKxNiIFwbzTxDU+i+AAMz+xPOgXVaZq5tbShsKseHc=
 github.com/gen2brain/shm v0.1.1 h1:1cTVA5qcsUFixnDHl14TmRoxgfWEEZlTezpUj1vm5uQ=
 github.com/gen2brain/shm v0.1.1/go.mod 
h1:UgIcVtvmOu+aCJpqJX7GOtiN7X2ct+TKLg4RTxwPIUA=
 github.com/gitleaks/go-gitdiff v0.9.1 
h1:ni6z6/3i9ODT685OLCTf+s/ERlWUNWQF4x1pvoNICw0=
@@ -337,14 +336,14 @@
 github.com/googleapis/enterprise-certificate-proxy v0.3.7/go.mod 
h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA=
 github.com/googleapis/gax-go/v2 v2.16.0 
h1:iHbQmKLLZrexmb0OSsNGTeSTS0HO4YvFOG8g5E4Zd0Y=
 github.com/googleapis/gax-go/v2 v2.16.0/go.mod 
h1:o1vfQjjNZn4+dPnRdl/4ZD7S9414Y4xA+a/6Icj6l14=
-github.com/gopasspw/clipboard v0.0.4 
h1:v3HUlVHfBXPx9woIQnsBIbs9ZM3i77OCtVKRMLhmR+c=
-github.com/gopasspw/clipboard v0.0.4/go.mod 
h1:i0cShr7JEbOXZ/iKM5RyfBLbu1FPzouO8BTCJy0uHy8=
+github.com/gopasspw/clipboard v0.0.5-0.20260524141134-6b387ae5aa1a 
h1:L7qDnmetJ62Fr59V/8Rrhb5l1+TdrmxORyHJ/WNlwdg=
+github.com/gopasspw/clipboard v0.0.5-0.20260524141134-6b387ae5aa1a/go.mod 
h1:i0cShr7JEbOXZ/iKM5RyfBLbu1FPzouO8BTCJy0uHy8=
 github.com/gopasspw/gitconfig v0.0.4 
h1:7JE0iTm92OdXCtkS33CnbqcAEqQXYWTUriYFf3sRTBk=
 github.com/gopasspw/gitconfig v0.0.4/go.mod 
h1:W5AHsZgCbBRsc8TnElO82GYflOz/l2dIndncymoCv+A=
-github.com/gopasspw/gopass v1.16.1 
h1:eqlW8zkWVzcJsEstDYDuvaPnEYZ0HALc7+n/o1/JZNM=
-github.com/gopasspw/gopass v1.16.1/go.mod 
h1:Dsxqt+adcFszXvA+yMvPMfx8dteUtZKrSQ2qgaKFZgI=
-github.com/gopasspw/gopass-hibp v1.15.18 
h1:OoMr1ugY0aso5Qjn3MRPaVJoYGuwdhaebUxKP611Cj0=
-github.com/gopasspw/gopass-hibp v1.15.18/go.mod 
h1:5JOaWMoQbOFTRUdiCOw3JTNPtjbUPWKpw7OEFjQwAdo=
+github.com/gopasspw/gopass v1.17.2 
h1:9ATqQtKApqZS2+qjoEbl+9esUT6oy3FuntEf6Y5/Z5w=
+github.com/gopasspw/gopass v1.17.2/go.mod 
h1:hXQVanPKZ8dJExckO0lo+tovEdwiGZCi2HIEjq6rB+I=
+github.com/gopasspw/gopass-hibp v1.17.2 
h1:TeTaLTLHUSNkTVBy2NaY2NKVTelHV0IG0AQQcM0pmE4=
+github.com/gopasspw/gopass-hibp v1.17.2/go.mod 
h1:NQiyuG2d+iA/wEykjFE8r8Px/wCXk+1y4ICBJ89hAUA=
 github.com/gopherjs/gopherjs v1.17.2 
h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g=
 github.com/gopherjs/gopherjs v1.17.2/go.mod 
h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k=
 github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8=
@@ -394,8 +393,8 @@
 github.com/kjk/lzmadec v0.0.0-20210713164611-19ac3ee91a71 
h1:TYp9Fj0apeZMWentXRaFM6B0ixdFefrlgY8n8XYEz1s=
 github.com/kjk/lzmadec v0.0.0-20210713164611-19ac3ee91a71/go.mod 
h1:2zRkQCuw/eK6cqkYAeNqyBU7JKa2Gcq40BZ9GSJbmfE=
 github.com/klauspost/compress v1.4.1/go.mod 
h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
-github.com/klauspost/compress v1.19.2 
h1:hMRETovs/pu/dVWN7zIT1PGG8t509MwT6bO7XSi26R8=
-github.com/klauspost/compress v1.19.2/go.mod 
h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ=
+github.com/klauspost/compress v1.20.0 
h1:a3C1ke2ohxFymNlb2HWAHjDeKCI90scRskErZkR0ezA=
+github.com/klauspost/compress v1.20.0/go.mod 
h1:LUdAzn7YLVvxLpc7y3V1m40wESHTgc1422pwwBSKYuI=
 github.com/klauspost/cpuid v1.2.0 
h1:NMpwD2G9JSFOE1/TJjGSo5zG7Yb2bTe7eq1jH+irmeE=
 github.com/klauspost/cpuid v1.2.0/go.mod 
h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
 github.com/klauspost/cpuid/v2 v2.4.0 
h1:S6Hrbc7+ywsr0r+RLapfGBHfyefhCTwEh3A0tV913Dw=
@@ -431,12 +430,12 @@
 github.com/mattn/go-localereader v0.0.1 
h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=
 github.com/mattn/go-localereader v0.0.1/go.mod 
h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
 github.com/mattn/go-runewidth v0.0.12/go.mod 
h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk=
-github.com/mattn/go-runewidth v0.0.28 
h1:rPyg2ybwEKPebvpzVWe1gKBkH8EQFkxO4Y0hjBeLaBU=
-github.com/mattn/go-runewidth v0.0.28/go.mod 
h1:3qAiGCV4Koz/yuveO58qUefmUTRm8r0IGEXZ9jeHp/8=
+github.com/mattn/go-runewidth v0.0.30 
h1:+KUuiDA4fF0R1p5FeueHefjDm+GIM+kWfFnDjybOPgk=
+github.com/mattn/go-runewidth v0.0.30/go.mod 
h1:3qAiGCV4Koz/yuveO58qUefmUTRm8r0IGEXZ9jeHp/8=
 github.com/mattn/go-shellwords v1.0.12 
h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk=
 github.com/mattn/go-shellwords v1.0.12/go.mod 
h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y=
-github.com/mattn/go-tty v0.0.7 h1:KJ486B6qI8+wBO7kQxYgmmEFDaFEE96JMBQ7h400N8Q=
-github.com/mattn/go-tty v0.0.7/go.mod 
h1:f2i5ZOvXBU/tCABmLmOfzLz9azMo5wdAaElRNnJKr+k=
+github.com/mattn/go-tty v0.0.8 h1:yxtc0Ye17/1ne/bjy993YUoyP8bJJFa9n5M9XTdwoZQ=
+github.com/mattn/go-tty v0.0.8/go.mod 
h1:f2i5ZOvXBU/tCABmLmOfzLz9azMo5wdAaElRNnJKr+k=
 github.com/mholt/archives v0.1.6-0.20260429171216-ef71b7a32fae 
h1:J5ek2lGxYgdh5SMMmlNTSKLmS1x2oJQla/V0NaAH7vo=
 github.com/mholt/archives v0.1.6-0.20260429171216-ef71b7a32fae/go.mod 
h1:IbMrpOL3881/V4qoZRFTSTSRzjjZkD3qoRLX07MitpY=
 github.com/microcosm-cc/bluemonday v1.0.27 
h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwXFM08ygZfk=
@@ -465,12 +464,12 @@
 github.com/muesli/reflow v0.3.0/go.mod 
h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8=
 github.com/muesli/termenv v0.16.0 
h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
 github.com/muesli/termenv v0.16.0/go.mod 
h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
-github.com/noborus/guesswidth v0.4.0 
h1:+PPh+Z+GM4mKmVrhYR4lpjeyBuLMSVo2arM+VErdHIc=
-github.com/noborus/guesswidth v0.4.0/go.mod 
h1:ghA6uh9RcK+uSmaDDmBMj/tRZ3BSpspDP6DMF5Xk3bc=
-github.com/noborus/ov v0.45.1 h1:wlyehWHzsn/9QcS1Y2E52q+PbcufI98Vn+pJgcF5BQs=
-github.com/noborus/ov v0.45.1/go.mod 
h1:3XW/dJo/FtcMJz6amDMaYR0LmUj/W+uSSjm5NRtsWd4=
-github.com/noborus/tcellansi v0.2.0 
h1:GoSLIya57T7IiojDyNLps+9SjjCaCuLmvnGqHr3ldYU=
-github.com/noborus/tcellansi v0.2.0/go.mod 
h1:hZhcjTUr0iNe3XmyErkIMW3kBQmKZTngSARCWF+DxT0=
+github.com/noborus/guesswidth v0.5.0 
h1:Hjy0Eb/8YrqyTT9PdA8hUcfJ054IKO+d4Or0PBQSkVc=
+github.com/noborus/guesswidth v0.5.0/go.mod 
h1:o1bPqsYL/HOX9haPUcmQGJ07mHfOCLIgAsMOQsE3Hbo=
+github.com/noborus/ov v0.54.0 h1:LXUE4OUuEq8AfgcY8cTEDWkXGgCDrYiOVjxPc6E1rok=
+github.com/noborus/ov v0.54.0/go.mod 
h1:qpMUkPucNsLdxkWxbU8fk98hnWJRi/lSZ5WK/iMNGKU=
+github.com/noborus/tcellansi v0.4.1 
h1:Z7rliNUCtXNek/TjRugLNr15DxbQt4jgg4cDBzjJ+oQ=
+github.com/noborus/tcellansi v0.4.1/go.mod 
h1:V1q4ffVGQ5t9BopMAdAh9UuTMqnhEd88XA1Ilsb5+qg=
 github.com/nwaples/rardecode/v2 v2.4.1 
h1:F7zNW2LdAuuBThHWXQaiFUGVD/sef299NfWSB1nHAl4=
 github.com/nwaples/rardecode/v2 v2.4.1/go.mod 
h1:7uz379lSxPe6j9nvzxUZ+n7mnJNgjsRNb6IbvGVHRmw=
 github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
@@ -521,8 +520,8 @@
 github.com/sagikazarmark/locafero v0.12.0/go.mod 
h1:sZh36u/YSZ918v0Io+U9ogLYQJ9tLLBmM4eneO6WwsI=
 github.com/sahilm/fuzzy v0.1.1 h1:ceu5RHF8DGgoi+/dR5PsECjCDH1BE3Fnmpo7aVXOdRA=
 github.com/sahilm/fuzzy v0.1.1/go.mod 
h1:VFvziUEIMCrT6A6tw2RFIXPXXmzXbOsSHF0DOI8ZK9Y=
-github.com/schollz/closestmatch v0.0.0-20190308193919-1fbe626be92e 
h1:HFUDYOpUVZ0oTXeZy2A59Lkf69SsOF03Lg1GsI3Xh9o=
-github.com/schollz/closestmatch v0.0.0-20190308193919-1fbe626be92e/go.mod 
h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g=
+github.com/schollz/closestmatch v2.1.0+incompatible 
h1:Uel2GXEpJqOWBrlyI+oY9LTiyyjYS17cCYRqP13/SHk=
+github.com/schollz/closestmatch v2.1.0+incompatible/go.mod 
h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g=
 github.com/sergi/go-diff v1.4.0 h1:n/SP9D5ad1fORl+llWyN+D6qoUETXNZARKjyY2/KVCw=
 github.com/sergi/go-diff v1.4.0/go.mod 
h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
 github.com/shopspring/decimal v1.4.0 
h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
@@ -608,8 +607,8 @@
 github.com/ulikunitz/xz v0.5.16/go.mod 
h1:H9Rt/W6/Qj27PGauhQc6nfCDy7vHpzsOThBSaYDoEhw=
 github.com/urfave/cli v1.22.14 h1:ebbhrRiGK2i4naQJr+1Xj92HXZCrK7MsyTS/ob3HnAk=
 github.com/urfave/cli v1.22.14/go.mod 
h1:X0eDS6pD6Exaclxm99NJ3FiCDRED7vIHpx2mDOHLvkA=
-github.com/urfave/cli/v2 v2.27.7 
h1:bH59vdhbjLv3LAvIu6gd0usJHgoTTPhCFib8qqOwXYU=
-github.com/urfave/cli/v2 v2.27.7/go.mod 
h1:CyNAG/xg+iAOg0N4MPGZqVmv2rCoP267496AOXUZjA4=
+github.com/urfave/cli/v3 v3.11.0 
h1:P/euJp99kb9p0tlVY+iYTLYYTAQlfl0hR2gUO1Img1Q=
+github.com/urfave/cli/v3 v3.11.0/go.mod 
h1:ysVLtOEmg2tOy6PknnYVhDoouyC/6N42TMeoMzskhso=
 github.com/wasilibs/wazero-helpers v0.0.0-20250123031827-cd30c44769bb 
h1:gQ+ZV4wJke/EBKYciZ2MshEouEHFuinB85dY3f5s1q8=
 github.com/wasilibs/wazero-helpers v0.0.0-20250123031827-cd30c44769bb/go.mod 
h1:jMeV4Vpbi8osrE/pKUxRZkVaA0EX7NZN0A9/oRzgpgY=
 github.com/wlynxg/chardet v1.0.5 
h1:BNEolSEujJUtKwkaqNb0D6Ue+d7VTKTh5rXDyEdiipU=
@@ -620,19 +619,24 @@
 github.com/xhit/go-str2duration/v2 v2.1.0/go.mod 
h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU=
 github.com/xo/terminfo v1.0.0 h1:2ZpYzqWzyyytjk3TP6aJVDhkMAkc99/1xKQdA3TDTBY=
 github.com/xo/terminfo v1.0.0/go.mod 
h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
+github.com/xrash/smetrics v0.0.0-20170218160415-a3153f7040e9/go.mod 
h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
 github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 
h1:FnBeRrxr7OU4VvAzt5X7s6266i6cSVkkFPS0TuXWbIg=
 github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342/go.mod 
h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM=
 github.com/xyproto/randomstring v1.0.5 
h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU=
 github.com/xyproto/randomstring v1.0.5/go.mod 
h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E=
 github.com/yuin/goldmark v1.4.13/go.mod 
h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
-github.com/yuin/goldmark v1.8.5 h1:r6N5afV5qj/5S4UTch8agZHJ8UxNCMwX7WjkkJam2NA=
-github.com/yuin/goldmark v1.8.5/go.mod 
h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg=
+github.com/yuin/goldmark v1.8.6 h1:d0VcaP1sx9GkFVkoW+KtggpGi2KZ965i14b0+bDQST4=
+github.com/yuin/goldmark v1.8.6/go.mod 
h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg=
 github.com/yuin/goldmark-emoji v1.0.6 
h1:QWfF2FYaXwL74tfGOW5izeiZepUDroDJfWubQI9HTHs=
 github.com/yuin/goldmark-emoji v1.0.6/go.mod 
h1:ukxJDKFpdFb5x0a5HqbdlcKtebh086iJpI31LTKmWuA=
 github.com/zalando/go-keyring v0.2.8 
h1:6sD/Ucpl7jNq10rM2pgqTs0sZ9V3qMrqfIIy5YPccHs=
 github.com/zalando/go-keyring v0.2.8/go.mod 
h1:tsMo+VpRq5NGyKfxoBVjCuMrG47yj8cmakZDO5QGii0=
+github.com/zeebo/assert v1.1.0 h1:hU1L1vLTHsnO8x8c9KAR5GmM5QscxHg5RNU5z5qbUWY=
+github.com/zeebo/assert v1.1.0/go.mod 
h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
 github.com/zeebo/blake3 v0.2.4 h1:KYQPkhpRtcqh0ssGYcKLG1JYvddkEA8QwCM/yBqhaZI=
 github.com/zeebo/blake3 v0.2.4/go.mod 
h1:7eeQ6d2iXWRGF6npfaxl2CU+xy2Fjo2gxeyZGCRUjcE=
+github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo=
+github.com/zeebo/pcg v1.0.1/go.mod 
h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4=
 go.etcd.io/bbolt v1.5.0 h1:S7GAl7Fxv12yohbwFfIbQCGDWbQbtDGPET4P/bD4lxU=
 go.etcd.io/bbolt v1.5.0/go.mod h1:mkltfYE5aUHQxUct9N9V+Kp7aSjFqjgrhcXIS70Lrdk=
 go.etcd.io/gofail v0.2.0 h1:p19drv16FKK345a09a1iubchlw/vmRuksmRzgBIGjcA=
@@ -662,34 +666,46 @@
 go.yaml.in/yaml/v4 v4.0.0-rc.3/go.mod 
h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0=
 go4.org v0.0.0-20260112195520-a5071408f32f 
h1:ziUVAjmTPwQMBmYR1tbdRFJPtTcQUI12fH9QQjfb0Sw=
 go4.org v0.0.0-20260112195520-a5071408f32f/go.mod 
h1:ZRJnO5ZI4zAwMFp+dS1+V6J6MSyAowhRqAE+DPa1Xp0=
+golang.design/x/clipboard v0.8.0 
h1:6VEcH28wwcSgKc+vnxHHDWiRjrakTQIAJnPUrt3aOgg=
+golang.design/x/clipboard v0.8.0/go.mod 
h1:s0pwrtA3Q9fgnVtGDmP5ZK/pp55cQKB23esKsjwWhWM=
+golang.design/x/x11 v0.2.0 h1:Uiwu2guGihsJX/ZCzpoDPFz5gR/Qntm08mvoBCmRydo=
+golang.design/x/x11 v0.2.0/go.mod 
h1:/5q1mFkdc1rL8mvB7DsQFi6as4tIkBv4FXjcP07mrkE=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod 
h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod 
h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.55.0 h1:+KWHjbgOaAQ66dh/YlkZKHlz9ZUlq61AFirAR9ntP8M=
-golang.org/x/crypto v0.55.0/go.mod 
h1:uq0V9dE/fzQuJtbnL+2EhWOE63vo164FY8xqEnV9xis=
-golang.org/x/exp v0.0.0-20260824195058-e88cd73687aa 
h1:QSyA8ishJCyT21kER9KwNt0b7BM3iRK4x9QXhjN5Fdk=
-golang.org/x/exp v0.0.0-20260824195058-e88cd73687aa/go.mod 
h1:zeBbvyFKDaLwa7CH/zI8KXt7gTl14SF7sO08Pl5jBCM=
+golang.org/x/crypto v0.0.0-20220919173607-35f4265a4bc0/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.57.0 h1:3ZVCjf8Ggz7zneR/EHRVx68Ctf+2pmIMP2UFhh9cC6M=
+golang.org/x/crypto v0.57.0/go.mod 
h1:Fdz0i5U6CoizGwLda9DttjSk6qlZo25zYNtR+ycvuZA=
+golang.org/x/exp v0.0.0-20260908205506-85c1c2202aba 
h1:Ck8QetSgk912qxWLMCKxd0in+aiyBQyDSMae6e/xmpU=
+golang.org/x/exp v0.0.0-20260908205506-85c1c2202aba/go.mod 
h1:50RgIsmK7OwqzTTeqcSXQW8SswW0o8fRcDxmqGluJ8E=
+golang.org/x/exp/shiny v0.0.0-20260709172345-9ea1abe57597 
h1:p+4whLHGgPO3BqS9S06jZcgh9LFJsgsG0N3N5EFeTtY=
+golang.org/x/exp/shiny v0.0.0-20260709172345-9ea1abe57597/go.mod 
h1:JRiBNgSZB8uVKtHGrvbGDQ8p9Ghn3+lkFSk1KqRIiPc=
+golang.org/x/image v0.44.0 h1:+tDekMZED9+LrtB3G5xzRggpVh9CARjZqROla3R3R+I=
+golang.org/x/image v0.44.0/go.mod 
h1:V8K3KE9KKKE+pLpQDOeN18w9oacNSvy1tDOirTu4xtY=
+golang.org/x/mobile v0.0.0-20260709172247-6129f5bee9d5 
h1:Mn1OzFmF0ZKX/ZayHz/UdnWHufPp1wlD9lZ5U8LRDFY=
+golang.org/x/mobile v0.0.0-20260709172247-6129f5bee9d5/go.mod 
h1:YX+n47s+53POxN3dx9cIGxG3hGUm/lD64hvrRJFbcSA=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod 
h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.39.0 h1:UF5zwQdCRRUpHfyPwr7d4UrGiVeldIsogtzWVnczL74=
-golang.org/x/mod v0.39.0/go.mod h1:bvIbwjQ0HUFFf5AKukeeYQG4ZBUG9yxQbR9aEweIwYY=
+golang.org/x/mod v0.41.0 h1:qJmnOUb4YB+FsEuM3HcWucdZASCPGhsX6uljO6pog0c=
+golang.org/x/mod v0.41.0/go.mod h1:Ek9pY8RKWXwsWvd3rQiHYtMqkjSUV+s1Rj7j4H5Ur6o=
 golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod 
h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod 
h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod 
h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod 
h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod 
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220921155015-db77216a4ee9/go.mod 
h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
 golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
-golang.org/x/net v0.58.0 h1:ynWG7rqYi4ccpTEuPZ2QGWHktVEM9DMCj9yzDE0Q7To=
-golang.org/x/net v0.58.0/go.mod h1:YwCddHnFlT7eLQqVprV19OnhLGtc5xOKgE0RyqgfWAU=
-golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs=
-golang.org/x/oauth2 v0.36.0/go.mod 
h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q=
+golang.org/x/net v0.59.0 h1:5zfYln+w5XCxwrnMMJPufRgNoXEaGxl0wo5GqPXyues=
+golang.org/x/net v0.59.0/go.mod h1:2DA/G1UfVbCpQPeWTmMPGY7Cs2PkBkwu743bVX5PIVg=
+golang.org/x/oauth2 v0.37.0 h1:JUlcxA8oAtauLfiH8FX2/FkAWHAdi0QtGCGc+hofE98=
+golang.org/x/oauth2 v0.37.0/go.mod 
h1:IxwZNxUULJmpBFf9K/9NTMSIfZZuvuTy1gGxhigP/58=
 golang.org/x/perf v0.0.0-20250813145418-2f7363a06fe1 
h1:stGRioFgvBd3x8HoGVg9bb41lLTWLjBMFT/dMB7f4mQ=
 golang.org/x/perf v0.0.0-20250813145418-2f7363a06fe1/go.mod 
h1:rjfRjhHXb3XNVh/9i5Jr2tXoTd0vOlZN5rzsM8cQE6k=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek=
-golang.org/x/sync v0.22.0/go.mod 
h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
+golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk=
+golang.org/x/sync v0.23.0/go.mod 
h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -700,25 +716,28 @@
 golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220919091848-fb04ddd9f9c8/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs=
-golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
-golang.org/x/telemetry v0.0.0-20260811182544-a038080d80e5 
h1:ZUSxONxc981v7AW7QUg+I9WwZzSTTJ019ENBYr5pV/Q=
-golang.org/x/telemetry v0.0.0-20260811182544-a038080d80e5/go.mod 
h1:LVehoXe41cL5SCVQilsV7Gg6BNG+Js6P9PhSbYTIUkQ=
+golang.org/x/sys v0.48.0 h1:bbX/i/6MgT9BVLM9RT1thmxL04yeTAhbEz4SyadbXoo=
+golang.org/x/sys v0.48.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og=
+golang.org/x/telemetry v0.0.0-20260908163034-4bcc4b2ee518 
h1:F5BWKvW126NXR74uxkxuc1jQHhm/rwm/J3rSiFyuRs4=
+golang.org/x/telemetry v0.0.0-20260908163034-4bcc4b2ee518/go.mod 
h1:i+ivNqjDnTF3WTElsdk5g9V5DTSBYgdNo7xTU9SDwYA=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.0.0-20220919170432-7a66f970e087/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
-golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0=
-golang.org/x/term v0.45.0/go.mod 
h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w=
+golang.org/x/term v0.46.0 h1:3+OXuTbaKDgwk8jTi3aSLHRlmWqHEUDUtxnbFigO4YE=
+golang.org/x/term v0.46.0/go.mod 
h1:+K02xbkittuwc0Am4abfA3Fc+XRGXkvBXNO88NCXPoc=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
 golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
-golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8=
-golang.org/x/text v0.41.0/go.mod 
h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M=
+golang.org/x/text v0.42.0 h1:JbOZXgfeCPU9gacVtYliJqOhD+zhrEqK4LfdpmlUZqI=
+golang.org/x/text v0.42.0/go.mod 
h1:ojzP1Z+2QtioaF8DTtO8K5q7JWVVYwZKenzujK0Zd0E=
 golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
 golang.org/x/time v0.14.0/go.mod 
h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod 
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -726,8 +745,8 @@
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod 
h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.1.12/go.mod 
h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 golang.org/x/tools v0.6.0/go.mod 
h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
-golang.org/x/tools v0.49.0 h1:3NI7VXzL9+1WZD52Dx2ttoPwD5DWrFGpl9mFZDlmisI=
-golang.org/x/tools v0.49.0/go.mod 
h1:SJNXV9DBKT0UbdttsQjbfJlAE/q+y36++zo3uL3N0Oo=
+golang.org/x/tools v0.50.0 h1:c2ifzfcuY7L90lZ2aKd8S4K2NpASF08SZx9ZuJkHmSU=
+golang.org/x/tools v0.50.0/go.mod 
h1:7ulVMw3831Mwi5EZD6RomGyffr4VFjuNYXf2BbCEAV0=
 golang.org/x/tools/go/expect v0.1.1-deprecated 
h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM=
 golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod 
h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY=
 golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated 
h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM=
@@ -772,8 +791,8 @@
 howett.net/plist v1.0.1/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g=
 mvdan.cc/editorconfig v0.3.0 h1:D1D2wLYEYGpawWT5SpM5pRivgEgXjtEXwC9MWhEY0gQ=
 mvdan.cc/editorconfig v0.3.0/go.mod 
h1:NcJHuDtNOTEJ6251indKiWuzK6+VcrMuLzGMLKBFupQ=
-mvdan.cc/sh/v3 v3.14.0 h1:wsPjcfrSXLJomdxwhVZqZ5j5Cue68l549Aj/DCqzbpc=
-mvdan.cc/sh/v3 v3.14.0/go.mod h1:syYCoFET8w9tvevxiXUtY8/ICrU+l26jHmhJDra3Vwo=
+mvdan.cc/sh/v3 v3.14.1 h1:bXkhQWNHCs0KZEChF8hYS6FC+T2N9mUZLbQv9blditI=
+mvdan.cc/sh/v3 v3.14.1/go.mod h1:syYCoFET8w9tvevxiXUtY8/ICrU+l26jHmhJDra3Vwo=
 rsc.io/qr v0.2.0 h1:6vBLea5/NRMVTz8V66gipeLycZMl/+UlFmk8DvqQ6WY=
 rsc.io/qr v0.2.0/go.mod h1:IF+uZjkb9fqyeF/4tlBoynqmQxUoPfWEKh921coOuXs=
 znkr.io/diff v1.0.1 h1:h+kd4J3DQHccrvJC6pZ5pI4B56cLQvGVubjJnXtU8rU=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.1/internal/chezmoi/chezmoi.go 
new/chezmoi-2.72.2/internal/chezmoi/chezmoi.go
--- old/chezmoi-2.72.1/internal/chezmoi/chezmoi.go      2026-08-30 
15:02:22.000000000 +0200
+++ new/chezmoi-2.72.2/internal/chezmoi/chezmoi.go      2026-09-12 
22:17:54.000000000 +0200
@@ -319,7 +319,7 @@
                if !net.ParseIP(ipAddress).IsLoopback() {
                        continue
                }
-               if hostname, _, found := strings.Cut(canonicalHostname, "."); 
!found || hostname == "localhost" {
+               if hostname, domainname, found := 
strings.Cut(canonicalHostname, "."); !found || strings.HasPrefix(hostname, 
"localhost") || strings.HasPrefix(domainname, "localdomain") {
                        continue
                }
                for _, ignoredHostnameSuffix := range ignoredHostnameSuffixes {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.1/internal/chezmoi/chezmoi_test.go 
new/chezmoi-2.72.2/internal/chezmoi/chezmoi_test.go
--- old/chezmoi-2.72.1/internal/chezmoi/chezmoi_test.go 2026-08-30 
15:02:22.000000000 +0200
+++ new/chezmoi-2.72.2/internal/chezmoi/chezmoi_test.go 2026-09-12 
22:17:54.000000000 +0200
@@ -57,7 +57,15 @@
                        name: 
"etc_hosts_loopback_ipv4_localhost_dot_localdomain",
                        root: map[string]any{
                                "/etc/hosts": chezmoitest.JoinLines(
+                                       `127.0.0.1 host1.localdomain`,
+                                       `127.0.0.1 host2.localdomain4`,
+                                       `127.0.0.1 host3.localdomain6`,
                                        `127.0.0.1 localhost.localdomain`,
+                                       `127.0.0.1 localhost.example.com`,
+                                       `127.0.0.1 localhost4.localdomain4`,
+                                       `127.0.0.1 localhost4.example.com`,
+                                       `127.0.0.1 localhost6.localdomain6`,
+                                       `127.0.0.1 localhost6.example.com`,
                                        `127.0.0.2 service.local`,
                                        `127.0.0.4 multi.part.domain.example`,
                                        `127.0.0.4 host.example.com host`,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.1/internal/chezmoi/sourcestate.go 
new/chezmoi-2.72.2/internal/chezmoi/sourcestate.go
--- old/chezmoi-2.72.1/internal/chezmoi/sourcestate.go  2026-08-30 
15:02:22.000000000 +0200
+++ new/chezmoi-2.72.2/internal/chezmoi/sourcestate.go  2026-09-12 
22:17:54.000000000 +0200
@@ -1098,7 +1098,7 @@
                        }
                        return nil
                case fileInfo.IsDir():
-                       da, err := parseDirAttr(sourceName.String())
+                       dirAttr, err := parseDirAttr(sourceName.String())
                        if err != nil {
                                return err
                        }
@@ -1106,14 +1106,14 @@
                        if err != nil {
                                return err
                        }
-                       targetRelPath = targetRelPath.JoinString(da.TargetName)
+                       targetRelPath = 
targetRelPath.JoinString(dirAttr.TargetName)
                        if s.Ignore(targetRelPath) {
                                return fs.SkipDir
                        }
-                       sourceStateDir := s.newSourceStateDir(sourceAbsPath, 
sourceRelPath, da)
+                       sourceStateDir := s.newSourceStateDir(sourceAbsPath, 
sourceRelPath, dirAttr)
                        addSourceStateEntries(targetRelPath, sourceStateDir)
-                       if da.External {
-                               sourceStateEntries, err := 
s.readExternalDir(sourceAbsPath, sourceRelPath, targetRelPath)
+                       if dirAttr.External {
+                               sourceStateEntries, err := 
s.readExternalDir(sourceAbsPath, sourceRelPath, targetRelPath, dirAttr)
                                if err != nil {
                                        return err
                                }
@@ -1131,7 +1131,7 @@
                        }
                        return nil
                case fileInfo.Mode().IsRegular():
-                       fa, err := parseFileAttr(sourceName.String(), 
s.encryption.EncryptedSuffix())
+                       fileAttr, err := parseFileAttr(sourceName.String(), 
s.encryption.EncryptedSuffix())
                        if err != nil {
                                return err
                        }
@@ -1139,12 +1139,12 @@
                        if err != nil {
                                return err
                        }
-                       targetRelPath = targetRelPath.JoinString(fa.TargetName)
+                       targetRelPath = 
targetRelPath.JoinString(fileAttr.TargetName)
                        if s.Ignore(targetRelPath) {
                                return nil
                        }
                        var sourceStateEntry SourceStateEntry
-                       targetRelPath, sourceStateEntry = 
s.newSourceStateFile(sourceAbsPath, sourceRelPath, fa, targetRelPath)
+                       targetRelPath, sourceStateEntry = 
s.newSourceStateFile(sourceAbsPath, sourceRelPath, fileAttr, targetRelPath)
                        addSourceStateEntries(targetRelPath, sourceStateEntry)
                        return nil
                default:
@@ -2749,6 +2749,7 @@
        rootSourceAbsPath AbsPath,
        rootSourceRelPath SourceRelPath,
        rootTargetRelPath RelPath,
+       dirAttr DirAttr,
 ) (map[RelPath][]SourceStateEntry, error) {
        sourceStateEntries := make(map[RelPath][]SourceStateEntry)
        walkFunc := func(absPath AbsPath, fileInfo fs.FileInfo, err error) 
error {
@@ -2798,7 +2799,7 @@
                        dirAttr := DirAttr{
                                TargetName: fileInfo.Name(),
                                Exact:      true,
-                               Private:    isPrivate(fileInfo),
+                               Private:    isPrivate(fileInfo) || 
dirAttr.Private,
                                ReadOnly:   isReadOnly(fileInfo),
                        }
                        sourceStateEntry = &SourceStateDir{
@@ -2933,23 +2934,23 @@
                case fileInfo.IsDir():
                        return nil
                case fileInfo.Mode().IsRegular():
-                       fa, err := parseFileAttr(sourceName.String(), 
s.encryption.EncryptedSuffix())
+                       fileAttr, err := parseFileAttr(sourceName.String(), 
s.encryption.EncryptedSuffix())
                        if err != nil {
                                return err
                        }
-                       if fa.Type != SourceFileTypeScript {
+                       if fileAttr.Type != SourceFileTypeScript {
                                return fmt.Errorf("%s: not a script", 
sourceAbsPath)
                        }
                        targetRelPath, err := 
parentSourceRelPath.Dir().TargetRelPath(s.encryption.EncryptedSuffix())
                        if err != nil {
                                return err
                        }
-                       targetRelPath = targetRelPath.JoinString(fa.TargetName)
+                       targetRelPath = 
targetRelPath.JoinString(fileAttr.TargetName)
                        if s.Ignore(targetRelPath) {
                                return nil
                        }
                        var sourceStateEntry SourceStateEntry
-                       targetRelPath, sourceStateEntry = 
s.newSourceStateFile(sourceAbsPath, sourceRelPath, fa, targetRelPath)
+                       targetRelPath, sourceStateEntry = 
s.newSourceStateFile(sourceAbsPath, sourceRelPath, fileAttr, targetRelPath)
                        addSourceStateEntry(targetRelPath, sourceStateEntry)
                        return nil
                default:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.1/internal/cmd/initcmd.go 
new/chezmoi-2.72.2/internal/cmd/initcmd.go
--- old/chezmoi-2.72.1/internal/cmd/initcmd.go  2026-08-30 15:02:22.000000000 
+0200
+++ new/chezmoi-2.72.2/internal/cmd/initcmd.go  2026-09-12 22:17:54.000000000 
+0200
@@ -339,7 +339,7 @@
                attrs = append(attrs, slog.String("URL", o.URL))
        }
        if o.Auth != nil {
-               attrs = append(attrs, chezmoilog.Stringer("Auth", o.Auth))
+               attrs = append(attrs, slog.String("Auth", "$AUTH"))
        }
        if o.RemoteName != "" {
                attrs = append(attrs, slog.String("RemoteName", o.RemoteName))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/chezmoi-2.72.1/internal/cmd/testdata/scripts/externaldir.txtar 
new/chezmoi-2.72.2/internal/cmd/testdata/scripts/externaldir.txtar
--- old/chezmoi-2.72.1/internal/cmd/testdata/scripts/externaldir.txtar  
2026-08-30 15:02:22.000000000 +0200
+++ new/chezmoi-2.72.2/internal/cmd/testdata/scripts/externaldir.txtar  
2026-09-12 22:17:54.000000000 +0200
@@ -23,6 +23,14 @@
 cmp $HOME/.vim/bundle/symlink_example 
$CHEZMOISOURCEDIR/dot_vim/external_bundle/symlink_example
 ! issymlink $HOME/.vim/bundle/symlink_example
 
+# test that private_ attributes apply to external dirs but not files in them
+isdir $HOME/.private
+cmpmod 700 $HOME/.private
+cmp $HOME/.private/file golden/file
+cmpmod 644 $HOME/.private/file
+
+-- golden/file --
+# contents of .private/file
 -- home/user/.local/share/chezmoi/.chezmoiignore --
 **/.keep
 -- home/user/.local/share/chezmoi/dot_vim/external_bundle/executable_file --
@@ -33,3 +41,5 @@
 echo evil
 -- home/user/.local/share/chezmoi/dot_vim/external_bundle/symlink_example --
 # contents of .vim/bundle/symlink_example
+-- home/user/.local/share/chezmoi/external_private_dot_private/file --
+# contents of .private/file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.1/pyproject.toml 
new/chezmoi-2.72.2/pyproject.toml
--- old/chezmoi-2.72.1/pyproject.toml   2026-08-30 15:02:22.000000000 +0200
+++ new/chezmoi-2.72.2/pyproject.toml   2026-09-12 22:17:54.000000000 +0200
@@ -7,7 +7,7 @@
 dependencies = [
     "idna>=3.15",
     "mkdocs>=1.6.1",
-    "mkdocs-material>=9.7.5",
+    "mkdocs-material>=9.7.7",
     "pymdown-extensions>=11.0.1",
     "ruamel.yaml>=0.19.1",
     "ruff>=0.15.6",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.1/uv.lock new/chezmoi-2.72.2/uv.lock
--- old/chezmoi-2.72.1/uv.lock  2026-08-30 15:02:22.000000000 +0200
+++ new/chezmoi-2.72.2/uv.lock  2026-09-12 22:17:54.000000000 +0200
@@ -83,7 +83,7 @@
 requires-dist = [
     { name = "idna", specifier = ">=3.15" },
     { name = "mkdocs", specifier = ">=1.6.1" },
-    { name = "mkdocs-material", specifier = ">=9.7.5" },
+    { name = "mkdocs-material", specifier = ">=9.7.7" },
     { name = "pymdown-extensions", specifier = ">=11.0.1" },
     { name = "ruamel-yaml", specifier = ">=0.19.1" },
     { name = "ruff", specifier = ">=0.15.6" },
@@ -234,7 +234,7 @@
 
 [[package]]
 name = "mkdocs-material"
-version = "9.7.5"
+version = "9.7.7"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "babel" },
@@ -249,9 +249,9 @@
     { name = "pymdown-extensions" },
     { name = "requests" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/74/76/5c202fecdc45d53e83e03a85bae70c48b6c81e9f87f0bc19a9e9c723bdc0/mkdocs_material-9.7.5.tar.gz";,
 hash = 
"sha256:f76bdab532bad1d9c57ca7187b37eccf64dd12e1586909307f8856db3be384ea", size 
= 4097749, upload-time = "2026-03-10T15:43:22.809Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/f1/cd/c05d3a530ba7934f144fb45f7203cd236adc25c7bdcc34673d202f4b0278/mkdocs_material-9.7.7.tar.gz";,
 hash = 
"sha256:c0649c065b1b0512d60aad8c10f947f8e455284475239b364b610f2deb4d0855", size 
= 4097923, upload-time = "2026-07-17T16:21:33.156Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/45/e1/e8080dcfa95cca267662a6f4afe29237452bdeb5a2a6555ac83646d21915/mkdocs_material-9.7.5-py3-none-any.whl";,
 hash = 
"sha256:7cf9df2ff121fd098ff6e05c732b0be3699afca9642e2dfe4926c40eb5873eec", size 
= 9305251, upload-time = "2026-03-10T15:43:19.089Z" },
+    { url = 
"https://files.pythonhosted.org/packages/ad/21/17c1bc9e6f47c972ad66fb2ac2568f99f90f1207eeb6fc3b34d094dba7b5/mkdocs_material-9.7.7-py3-none-any.whl";,
 hash = 
"sha256:8ea9bb1737a5b524a5f9dcf2e1b4ebda8274ae3008aa7845720a97083bef708f", size 
= 9305438, upload-time = "2026-07-17T16:21:30.017Z" },
 ]
 
 [[package]]

++++++ chezmoi.obsinfo ++++++
--- /var/tmp/diff_new_pack.bUCDSp/_old  2026-09-22 15:50:47.311174026 +0200
+++ /var/tmp/diff_new_pack.bUCDSp/_new  2026-09-22 15:50:47.319174360 +0200
@@ -1,5 +1,5 @@
 name: chezmoi
-version: 2.72.1
-mtime: 1788094942
-commit: f901167e4685db90da56d6a2a19df642cb3e0247
+version: 2.72.2
+mtime: 1789244274
+commit: 125d00fe730fc9abf456ec312ba85b18c859bc50
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/chezmoi/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.chezmoi.new.383539/vendor.tar.gz differ: char 13, 
line 1

Reply via email to