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-10-01 22:20:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chezmoi (Old)
 and      /work/SRC/openSUSE:Factory/.chezmoi.new.1253 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "chezmoi"

Thu Oct  1 22:20:30 2026 rev:101 rq:1381927 version:2.73.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/chezmoi/chezmoi.changes  2026-09-22 
15:50:44.481055957 +0200
+++ /work/SRC/openSUSE:Factory/.chezmoi.new.1253/chezmoi.changes        
2026-10-01 22:21:17.543067678 +0200
@@ -1,0 +2,11 @@
+Thu Oct  1 15:18:36 UTC 2026 - Filippo Bonazzi <[email protected]>
+
+- Update to version 2.73.0:
+  - Features
+    * feat: Add push command
+    * feat: Notify user if chezmoi is not in their PATH in install script
+  - Documentation
+    * docs: Add push command to daily operations
+    * docs: Align documentation with source
+
+-------------------------------------------------------------------

Old:
----
  chezmoi-2.72.2.obscpio

New:
----
  chezmoi-2.73.0.obscpio

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

Other differences:
------------------
++++++ chezmoi.spec ++++++
--- /var/tmp/diff_new_pack.qMfCQf/_old  2026-10-01 22:21:18.813120781 +0200
+++ /var/tmp/diff_new_pack.qMfCQf/_new  2026-10-01 22:21:18.815120865 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           chezmoi
-Version:        2.72.2
+Version:        2.73.0
 Release:        0
 Summary:        A multi-host manager for dotfiles
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.qMfCQf/_old  2026-10-01 22:21:18.859122705 +0200
+++ /var/tmp/diff_new_pack.qMfCQf/_new  2026-10-01 22:21:18.871123206 +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.2</param>
+    <param name="revision">v2.73.0</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
   </service>

++++++ chezmoi-2.72.2.obscpio -> chezmoi-2.73.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/.config/golangci.yml 
new/chezmoi-2.73.0/.config/golangci.yml
--- old/chezmoi-2.72.2/.config/golangci.yml     2026-09-12 22:17:54.000000000 
+0200
+++ new/chezmoi-2.73.0/.config/golangci.yml     2026-09-28 20:53:18.000000000 
+0200
@@ -7,7 +7,6 @@
   - bidichk
   - bodyclose
   - canonicalheader
-  - clickhouselint
   - containedctx
   - copyloopvar
   - decorder
@@ -72,6 +71,7 @@
   disable:
   - arangolint
   - asasalint
+  - clickhouselint
   - contextcheck
   - cyclop
   - depguard
@@ -179,6 +179,8 @@
         disabled: true
       - name: max-public-structs
         disabled: true
+      - name: multiline-if-init
+        disabled: true
       - name: nested-structs
         disabled: true
       - name: unhandled-error
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/.github/workflows/build-docs.yml 
new/chezmoi-2.73.0/.github/workflows/build-docs.yml
--- old/chezmoi-2.72.2/.github/workflows/build-docs.yml 2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/.github/workflows/build-docs.yml 2026-09-28 
20:53:18.000000000 +0200
@@ -15,7 +15,7 @@
 env:
   GO_VERSION: 1.27.1 # https://go.dev/doc/devel/release
   PYTHON_VERSION: '3.14' # https://www.python.org/downloads/
-  UV_VERSION: 0.12.13 # https://github.com/astral-sh/uv/releases
+  UV_VERSION: 0.12.19 # 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@bec219d24cd3e171d82865faccec33120bb574f4   # 
v10.1.0
+    - uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7   # 
v10.2.0
       with:
         enable-cache: false
         version: ${{ env.UV_VERSION }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/.github/workflows/installer.yml 
new/chezmoi-2.73.0/.github/workflows/installer.yml
--- old/chezmoi-2.72.2/.github/workflows/installer.yml  2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/.github/workflows/installer.yml  2026-09-28 
20:53:18.000000000 +0200
@@ -44,7 +44,7 @@
     - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1   # 
v7.0.1
       with:
         persist-credentials: false
-    - uses: reviewdog/action-misspell@ba7ac4030fa6812f8c8b2d4e516af8bc99553c32 
  # v1.28.0
+    - uses: reviewdog/action-misspell@7cea3d501cb3834c688e08c89ed77b71764d1784 
  # v1.30.1
       with:
         locale: US
         ignore: importas,Produktive
@@ -64,12 +64,42 @@
     - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1   # 
v7.0.1
       with:
         persist-credentials: false
-    - name: test-${{ matrix.os }}-local
+    - name: test-${{ matrix.os }}-local-not-on-path
       shell: bash
       run: |
         rm -f ${{ env.BINARY }}
-        sh assets/scripts/install.sh -d
+        if sh -c "command -v chezmoi"; then
+          echo "Test precondition failed: chezmoi is already available on 
PATH." >&2
+          exit 1
+        fi
+        sh assets/scripts/install.sh -d 2>installer-stderr.log || {
+          cat installer-stderr.log >&2
+          exit 1
+        }
+        cat installer-stderr.log >&2
+        if ! grep -Fq "add bin to your PATH to use chezmoi" 
installer-stderr.log; then
+          echo "Expected PATH guidance was not printed." >&2
+          exit 1
+        fi
         ${{ env.BINARY }} --version
+    - name: test-${{ matrix.os }}-local-on-path
+      shell: bash
+      run: |
+        export PATH="$PWD/bin:${PATH}"
+        if ! sh -c "command -v chezmoi"; then
+          echo "Test precondition failed: chezmoi is unavailable on PATH." >&2
+          exit 1
+        fi
+        sh assets/scripts/install.sh -d 2>installer-stderr.log || {
+          cat installer-stderr.log >&2
+          exit 1
+        }
+        cat installer-stderr.log >&2
+        if grep -Fq "add bin to your PATH to use chezmoi" 
installer-stderr.log; then
+          echo "Unexpected PATH guidance was printed." >&2
+          exit 1
+        fi
+        chezmoi --version
     - name: test-${{ matrix.os }}-url
       shell: bash
       run: |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/.github/workflows/main.yml 
new/chezmoi-2.73.0/.github/workflows/main.yml
--- old/chezmoi-2.72.2/.github/workflows/main.yml       2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/.github/workflows/main.yml       2026-09-28 
20:53:18.000000000 +0200
@@ -18,12 +18,12 @@
   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.1 # https://go.dev/doc/devel/release
-  GOLANGCI_LINT_VERSION: 2.13.2 # 
https://github.com/golangci/golangci-lint/releases
-  GORELEASER_VERSION: 2.18.1 # 
https://github.com/goreleaser/goreleaser/releases
+  GOLANGCI_LINT_VERSION: 2.14.0 # 
https://github.com/golangci/golangci-lint/releases
+  GORELEASER_VERSION: 2.18.2 # 
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.13 # https://github.com/astral-sh/uv/releases
+  SYFT_VERSION: 1.52.0 # https://github.com/anchore/syft/releases
+  UV_VERSION: 0.12.19 # 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@977e6ceaea7361825998245d787fa3b4d6b9e5df 
  # codeql-bundle-v2.27.0
+    - uses: github/codeql-action/init@416ff0dea110f80f0f56f0046500dbf7420e4bb0 
  # codeql-bundle-v2.27.1
       with:
         languages: go
-    - uses: 
github/codeql-action/analyze@977e6ceaea7361825998245d787fa3b4d6b9e5df   # 
codeql-bundle-v2.27.0
+    - uses: 
github/codeql-action/analyze@416ff0dea110f80f0f56f0046500dbf7420e4bb0   # 
codeql-bundle-v2.27.1
   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@ba7ac4030fa6812f8c8b2d4e516af8bc99553c32 
  # v1.28.0
+    - uses: reviewdog/action-misspell@7cea3d501cb3834c688e08c89ed77b71764d1784 
  # v1.30.1
       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@bec219d24cd3e171d82865faccec33120bb574f4   # 
v10.1.0
+    - uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7   # 
v10.2.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@bec219d24cd3e171d82865faccec33120bb574f4   # 
v10.1.0
+    - uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7   # 
v10.2.0
       with:
         enable-cache: false
         version: ${{ env.UV_VERSION }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/.github/workflows/preview-docs.yml 
new/chezmoi-2.73.0/.github/workflows/preview-docs.yml
--- old/chezmoi-2.72.2/.github/workflows/preview-docs.yml       2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/.github/workflows/preview-docs.yml       2026-09-28 
20:53:18.000000000 +0200
@@ -75,7 +75,7 @@
     - name: deploy-to-cloudflare-pages
       if: steps.compare.outputs.skip != 'true'
       id: deploy
-      uses: 
cloudflare/wrangler-action@ebbaa1584979971c8614a24965b4405ff95890e0   # v4.0.0
+      uses: 
cloudflare/wrangler-action@953926a2e2182532811c01a25e53647d93bf07c0   # v4.1.3
       with:
         apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
         accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/assets/chezmoi.io/docs/index.md.tmpl 
new/chezmoi-2.73.0/assets/chezmoi.io/docs/index.md.tmpl
--- old/chezmoi-2.72.2/assets/chezmoi.io/docs/index.md.tmpl     2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/assets/chezmoi.io/docs/index.md.tmpl     2026-09-28 
20:53:18.000000000 +0200
@@ -32,7 +32,7 @@
 As well as the `curl | sh` installation, you can [install chezmoi with your
 favorite package manager][install].
 
-Updating your dotfiles on any machine is a single command:
+Updating your dotfiles on any machine is a single command (assuming chezmoi's 
installation directory is [on your `PATH`][installation-path]):
 
 ```sh
 chezmoi update
@@ -87,6 +87,7 @@
 [guide]: /user-guide/setup.md
 [history]: /reference/release-history.md
 [install]: /install.md
+[installation-path]: /install.md#installation-path
 [issues]: https://github.com/twpayne/chezmoi/issues
 [listen1]: /voice_30-04-2025_09-20-13.ogx
 [listen2]: /voice_30-04-2025_09-20-48.ogx
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/chezmoi-2.72.2/assets/chezmoi.io/docs/install.md.tmpl 
new/chezmoi-2.73.0/assets/chezmoi.io/docs/install.md.tmpl
--- old/chezmoi-2.72.2/assets/chezmoi.io/docs/install.md.tmpl   2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/assets/chezmoi.io/docs/install.md.tmpl   2026-09-28 
20:53:18.000000000 +0200
@@ -216,6 +216,16 @@
     sh -c "$(curl -fsLS get.chezmoi.io)" -- -b $HOME/.local/bin
     ```
 
+<a id="installation-path"></a>
+
+!!! important
+
+    The installer does not modify your `PATH`. To run chezmoi by name, ensure 
its installation directory is on your `PATH`. For example, if you installed to 
`$HOME/bin`, add this to your Bash or Zsh configuration:
+
+    ```sh
+    export PATH="$HOME/bin:$PATH"
+    ```
+
 ## Download a pre-built package
 
 Download a package for your distribution and architecture.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/chezmoi-2.72.2/assets/chezmoi.io/docs/links/articles.md.yaml 
new/chezmoi-2.73.0/assets/chezmoi.io/docs/links/articles.md.yaml
--- old/chezmoi-2.72.2/assets/chezmoi.io/docs/links/articles.md.yaml    
2026-09-12 22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/assets/chezmoi.io/docs/links/articles.md.yaml    
2026-09-28 20:53:18.000000000 +0200
@@ -744,3 +744,8 @@
   version: 2.72.0
   title: 'Chezmoi and Git: Dotfiles Without Pretending Every Machine Is the 
Same'
   url: 
https://blog.hofstede.it/chezmoi-and-git-dotfiles-without-pretending-every-machine-is-the-same/
+- date: '2026-09-20'
+  version: 2.72.2
+  lang: CN
+  title: chezmoi 实战:在 `chezmoi init` 阶段用 `hooks.read-source-state.pre` 
自动安装密码管理器
+  url: https://blog.csdn.net/gitblog_00919/article/details/166142581
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/chezmoi-2.72.2/assets/chezmoi.io/docs/reference/commands/push.md 
new/chezmoi-2.73.0/assets/chezmoi.io/docs/reference/commands/push.md
--- old/chezmoi-2.72.2/assets/chezmoi.io/docs/reference/commands/push.md        
1970-01-01 01:00:00.000000000 +0100
+++ new/chezmoi-2.73.0/assets/chezmoi.io/docs/reference/commands/push.md        
2026-09-28 20:53:18.000000000 +0200
@@ -0,0 +1,10 @@
+# `push`
+
+Push all changes to your dotfiles repo by running `git add`, `git commit`, and
+`git push` in the source directory.
+
+## Examples
+
+```sh
+chezmoi push
+```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/chezmoi-2.72.2/assets/chezmoi.io/docs/reference/templates/github-functions/index.md
 
new/chezmoi-2.73.0/assets/chezmoi.io/docs/reference/templates/github-functions/index.md
--- 
old/chezmoi-2.72.2/assets/chezmoi.io/docs/reference/templates/github-functions/index.md
     2026-09-12 22:17:54.000000000 +0200
+++ 
new/chezmoi-2.73.0/assets/chezmoi.io/docs/reference/templates/github-functions/index.md
     2026-09-28 20:53:18.000000000 +0200
@@ -8,9 +8,9 @@
 period defined in `gitHub.refreshPeriod` (default one minute).
 
 If any of the environment variables `$CHEZMOI_GITHUB_ACCESS_TOKEN`,
-`$GITHUB_ACCESS_TOKEN`, or `$GITHUB_TOKEN` are found, then the first one found
-will be used to authenticate the GitHub API requests which have a higher rate
-limit (currently 5,000 requests per hour per user).
+`$CHEZMOI_GITHUB_TOKEN`, `$GITHUB_ACCESS_TOKEN`, or `$GITHUB_TOKEN` are found,
+then the first one found will be used to authenticate the GitHub API requests
+which have a higher rate limit (currently 5,000 requests per hour per user).
 
 In practice, GitHub API rate limits are high enough chezmoi's caching of 
results
 mean that you should rarely need to set a token, unless you are sharing a 
source
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/chezmoi-2.72.2/assets/chezmoi.io/docs/user-guide/daily-operations.md 
new/chezmoi-2.73.0/assets/chezmoi.io/docs/user-guide/daily-operations.md
--- old/chezmoi-2.72.2/assets/chezmoi.io/docs/user-guide/daily-operations.md    
2026-09-12 22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/assets/chezmoi.io/docs/user-guide/daily-operations.md    
2026-09-28 20:53:18.000000000 +0200
@@ -90,28 +90,16 @@
     W->>H: chezmoi apply
 ```
 
-## Automatically commit and push changes to your repo
+## Push all changes in your source state to your repo
 
-chezmoi can automatically commit and push changes to your source directory to
-your repo. This feature is disabled by default. To enable it, add the following
-to your config file:
+You can push all changes in your source state to your repo with a single
+command:
 
-<!-- example-formats -->
-```toml title="~/.config/chezmoi/chezmoi.toml"
-[git]
-    autoCommit = true
-    autoPush = true
+```sh
+chezmoi push
 ```
-<!-- /example-formats -->
 
-Whenever a change is made to your source directory, chezmoi will commit the
-changes with an automatically-generated commit message (if `autoCommit` is 
true)
-and push them to your repo (if `autoPush` is true). `autoPush` implies
-`autoCommit`, i.e. if `autoPush` is true then chezmoi will auto-commit your
-changes. If you only set `autoCommit` to true then changes will be committed 
but
-not pushed.
-
-By default, `autoCommit` will generate a commit message based on the files
+By default, `chezmoi push` will generate a commit message based on the files
 changed. You can override this by setting the `git.commitMessageTemplate`
 configuration variable. For example, to have chezmoi prompt you for a commit
 message each time, use:
@@ -119,7 +107,6 @@
 <!-- example-formats -->
 ```toml title="~/.config/chezmoi/chezmoi.toml"
 [git]
-    autoCommit = true
     commitMessageTemplate = "{{ promptString \"Commit message\" }}"
 ```
 <!-- /example-formats -->
@@ -131,11 +118,40 @@
 <!-- example-formats -->
 ```toml title="~/.config/chezmoi/chezmoi.toml"
 [git]
-    autoCommit = true
     commitMessageTemplateFile = ".commit_message.tmpl"
 ```
 <!-- /example-formats -->
 
+```mermaid
+sequenceDiagram
+    participant H as home directory
+    participant W as working copy
+    participant L as local repo
+    participant R as remote repo
+    W->>R: chezmoi push
+```
+
+## Automatically commit and push changes to your repo
+
+chezmoi can automatically commit and push changes to your source directory to
+your repo. This feature is disabled by default. To enable it, add the following
+to your config file:
+
+<!-- example-formats -->
+```toml title="~/.config/chezmoi/chezmoi.toml"
+[git]
+    autoCommit = true
+    autoPush = true
+```
+<!-- /example-formats -->
+
+Whenever a change is made to your source directory, chezmoi will commit the
+changes with an automatically-generated commit message (if `autoCommit` is 
true)
+and push them to your repo (if `autoPush` is true). `autoPush` implies
+`autoCommit`, i.e. if `autoPush` is true then chezmoi will auto-commit your
+changes. If you only set `autoCommit` to true then changes will be committed 
but
+not pushed.
+
 Be careful when using `autoPush`. If your dotfiles repo is public and you
 accidentally add a secret in plain text, that secret will be pushed to your
 public repo.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/assets/chezmoi.io/mkdocs.yml 
new/chezmoi-2.73.0/assets/chezmoi.io/mkdocs.yml
--- old/chezmoi-2.72.2/assets/chezmoi.io/mkdocs.yml     2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/assets/chezmoi.io/mkdocs.yml     2026-09-28 
20:53:18.000000000 +0200
@@ -186,6 +186,7 @@
     - merge-all: reference/commands/merge-all.md
     - podman: reference/commands/podman.md
     - purge: reference/commands/purge.md
+    - push: reference/commands/push.md
     - re-add: reference/commands/re-add.md
     - remove: reference/commands/remove.md
     - rm: reference/commands/rm.md
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/assets/scripts/install-local-bin.sh 
new/chezmoi-2.73.0/assets/scripts/install-local-bin.sh
--- old/chezmoi-2.72.2/assets/scripts/install-local-bin.sh      2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/assets/scripts/install-local-bin.sh      2026-09-28 
20:53:18.000000000 +0200
@@ -98,6 +98,10 @@
        install -- "${tmpdir}/${BINARY}" "${BINDIR}/"
        log_info "installed ${BINDIR}/${BINARY}"
 
+       if ! is_command chezmoi; then
+               log_info "add ${BINDIR} to your PATH to use chezmoi"
+       fi
+
        if [ -n "${1+n}" ]; then
                exec "${BINDIR}/${BINARY}" "${@}"
        fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/assets/scripts/install.sh 
new/chezmoi-2.73.0/assets/scripts/install.sh
--- old/chezmoi-2.72.2/assets/scripts/install.sh        2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/assets/scripts/install.sh        2026-09-28 
20:53:18.000000000 +0200
@@ -98,6 +98,10 @@
        install -- "${tmpdir}/${BINARY}" "${BINDIR}/"
        log_info "installed ${BINDIR}/${BINARY}"
 
+       if ! is_command chezmoi; then
+               log_info "add ${BINDIR} to your PATH to use chezmoi"
+       fi
+
        if [ -n "${1+n}" ]; then
                exec "${BINDIR}/${BINARY}" "${@}"
        fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/go.mod new/chezmoi-2.73.0/go.mod
--- old/chezmoi-2.72.2/go.mod   2026-09-12 22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/go.mod   2026-09-28 20:53:18.000000000 +0200
@@ -28,28 +28,29 @@
        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.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/aws/aws-sdk-go-v2 v1.47.1
+       github.com/aws/aws-sdk-go-v2/config v1.33.6
+       github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.50.1
        github.com/bartventer/httpcache v0.14.0
        github.com/betterleaks/betterleaks v1.8.1
-       github.com/bmatcuk/doublestar/v4 v4.10.0
+       github.com/bmatcuk/doublestar/v4 v4.10.2
        github.com/bradenhilton/mozillainstallhash v1.0.1
        github.com/charmbracelet/bubbles v0.20.0
        github.com/charmbracelet/bubbletea v1.3.10
        github.com/charmbracelet/glamour v1.0.0
        github.com/charmbracelet/lipgloss v1.1.1-0.20250404203927-76690c660834
        github.com/coreos/go-semver v0.3.1
+       github.com/dustin/go-humanize v1.1.0
        github.com/fsnotify/fsnotify v1.10.1
        github.com/go-git/go-git/v5 v5.19.2
-       github.com/go-sprout/sprout v1.1.1
+       github.com/go-sprout/sprout v1.1.2
        github.com/go-viper/mapstructure/v2 v2.5.0
        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.17.2
+       github.com/gopasspw/gopass v1.17.3
        github.com/itchyny/gojq v0.12.19
-       github.com/klauspost/compress v1.20.0
+       github.com/klauspost/compress v1.20.1
        github.com/mitchellh/copystructure v1.2.0
        github.com/muesli/combinator v0.3.0
        github.com/muesli/termenv v0.16.0
@@ -64,7 +65,7 @@
        github.com/twpayne/go-shell v0.5.0
        github.com/twpayne/go-vfs/v5 v5.0.5
        github.com/twpayne/go-xdg/v6 v6.1.3
-       github.com/ulikunitz/xz v0.5.16
+       github.com/ulikunitz/xz v0.5.17
        github.com/zalando/go-keyring v0.2.8
        go.etcd.io/bbolt v1.5.0
        golang.org/x/crypto v0.57.0
@@ -76,7 +77,7 @@
        gopkg.in/ini.v1 v1.67.3
        howett.net/plist v1.0.1
        mvdan.cc/sh/v3 v3.14.1
-       znkr.io/diff v1.0.1
+       znkr.io/diff v1.0.2
 )
 
 require (
@@ -87,29 +88,29 @@
        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
-       github.com/AzureAD/microsoft-authentication-library-for-go v1.9.0 // 
indirect
+       github.com/AzureAD/microsoft-authentication-library-for-go v1.10.0 // 
indirect
        github.com/Masterminds/goutils v1.1.1 // indirect
        github.com/Masterminds/semver/v3 v3.5.0 // indirect
        github.com/Microsoft/go-winio v0.6.2 // indirect
-       github.com/ProtonMail/go-crypto v1.4.1 // indirect
+       github.com/ProtonMail/go-crypto v1.5.2 // indirect
        github.com/STARRY-S/zip v0.2.3 // indirect
        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.4 // indirect
+       github.com/andybalholm/brotli v1.2.5 // indirect
        github.com/atotto/clipboard v0.1.4 // 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/credentials v1.20.6 // indirect
+       github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.1 // indirect
+       github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.4 // indirect
+       github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.4 // indirect
+       github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.4 // 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.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/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.4 // 
indirect
+       github.com/aws/aws-sdk-go-v2/service/signin v1.10.1 // indirect
+       github.com/aws/aws-sdk-go-v2/service/sso v1.38.1 // indirect
+       github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.1 // indirect
+       github.com/aws/aws-sdk-go-v2/service/sts v1.51.1 // indirect
+       github.com/aws/smithy-go v1.28.2 // indirect
        github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
        github.com/aymerick/douceur v0.2.0 // indirect
        github.com/blang/semver/v4 v4.0.0 // indirect
@@ -125,7 +126,7 @@
        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-20260906004030-3986e9119cf9 
// indirect
+       github.com/charmbracelet/x/exp/slice v0.1.0 // 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
@@ -138,9 +139,8 @@
        github.com/dlclark/regexp2 v1.12.0 // 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/v4 v4.0.1 // 
indirect
+       github.com/editorconfig-checker/editorconfig-checker/v4 v4.0.2 // 
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
@@ -161,13 +161,12 @@
        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
        github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
        github.com/hexops/gotextdiff v1.0.3 // indirect
-       github.com/huandu/xstrings v1.5.0 // indirect
+       github.com/huandu/xstrings v1.6.1 // indirect
        github.com/inconshreveable/mousetrap v1.1.0 // indirect
        github.com/itchyny/timefmt-go v0.1.8 // indirect
        github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // 
indirect
@@ -193,7 +192,7 @@
        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
+       github.com/pierrec/lz4/v4 v4.1.31 // indirect
        github.com/pjbgf/sha1cd v0.6.0 // indirect
        github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
        github.com/pkoukk/tiktoken-go v0.1.8 // indirect
@@ -213,10 +212,10 @@
        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/v3 v3.11.0 // indirect
+       github.com/urfave/cli/v3 v3.13.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/xo/terminfo v1.2.0 // indirect
        github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 // indirect
        github.com/yuin/goldmark v1.8.6 // indirect
        github.com/yuin/goldmark-emoji v1.0.6 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/go.sum new/chezmoi-2.73.0/go.sum
--- old/chezmoi-2.72.2/go.sum   2026-09-12 22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/go.sum   2026-09-28 20:53:18.000000000 +0200
@@ -44,8 +44,8 @@
 github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.2.0/go.mod 
h1:ucUjca2JtSZboY8IoUqyQyuuXvwbMBVwFOm0vdQPNhA=
 github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 
h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM=
 github.com/AzureAD/microsoft-authentication-extensions-for-go/cache 
v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE=
-github.com/AzureAD/microsoft-authentication-library-for-go v1.9.0 
h1:MDT4FxAPve5FnYn6vOL1r7RCRDG+l9cI7a5LlCuHsqA=
-github.com/AzureAD/microsoft-authentication-library-for-go v1.9.0/go.mod 
h1:Y33QHnf0FfdVewFFISOGe20mkZbxX4H839o955/PoeI=
+github.com/AzureAD/microsoft-authentication-library-for-go v1.10.0 
h1:Byx2mFH6zOunKuxJlzKj/L31czf2B45rsjToG4yo8uI=
+github.com/AzureAD/microsoft-authentication-library-for-go v1.10.0/go.mod 
h1:OZ+YRWCg7N54lg8lzu1OiGRGbWsqPh+FEGHA7bvbLKA=
 github.com/BurntSushi/toml v1.6.0 
h1:dRaEfpa2VI55EwlIW72hMRHdWouJeRF7TPYhI+AUQjk=
 github.com/BurntSushi/toml v1.6.0/go.mod 
h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
 github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp 
v1.30.0 h1:sBEjpZlNHzK1voKq9695PJSX2o5NEXl7/OL3coiIY0c=
@@ -65,8 +65,8 @@
 github.com/Microsoft/go-winio v0.5.2/go.mod 
h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
 github.com/Microsoft/go-winio v0.6.2 
h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
 github.com/Microsoft/go-winio v0.6.2/go.mod 
h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
-github.com/ProtonMail/go-crypto v1.4.1 
h1:9RfcZHqEQUvP8RzecWEUafnZVtEvrBVL9BiF67IQOfM=
-github.com/ProtonMail/go-crypto v1.4.1/go.mod 
h1:e1OaTyu5SYVrO9gKOEhTc+5UcXtTUa+P3uLudwcgPqo=
+github.com/ProtonMail/go-crypto v1.5.2 
h1:cucYnvqcY7UOXVD//mSyjeaPY0SSN3v5cDkYPxumINk=
+github.com/ProtonMail/go-crypto v1.5.2/go.mod 
h1:/RaSu30DaKO4RY+XdV/ACcCcZkGr7AhUIduq5sjzzCo=
 github.com/STARRY-S/zip v0.2.3 h1:luE4dMvRPDOWQdeDdUxUoZkzUIpTccdKdhHHsQJ1fm4=
 github.com/STARRY-S/zip v0.2.3/go.mod 
h1:lqJ9JdeRipyOQJrYSOtpNAiaesFO6zVDsE8GIGFaoSk=
 github.com/Shopify/ejson v1.5.5 h1:qwlQU3R1gPEzURCwn+Y1W2ZRaeydjCiU6FbZNIpUO1g=
@@ -81,44 +81,44 @@
 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.4 
h1:649LN6qF+/7JJYNN3Wdu4Dt5PS6eC/yP/Go3Bb0/AHI=
-github.com/andybalholm/brotli v1.2.4/go.mod 
h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY=
+github.com/andybalholm/brotli v1.2.5 
h1:BSI8V4zmx/3BAn6OKjF1PmfVq7Aoi52AdFsi6bpCx+s=
+github.com/andybalholm/brotli v1.2.5/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.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 v1.47.1 
h1:uOIZnp4PK3ZhKI0dNrJrhTEsLxbpXHTAJlwoS1pvAtw=
+github.com/aws/aws-sdk-go-v2 v1.47.1/go.mod 
h1:bttEH6JqnUL8LepvDVfdrds/fZ5bCIxzpe3abyUrhDU=
+github.com/aws/aws-sdk-go-v2/config v1.33.6 
h1:MBjkSTLczek/UgiK+EYPIoRTqE7gP8vtW3OFbFo7Nug=
+github.com/aws/aws-sdk-go-v2/config v1.33.6/go.mod 
h1:grRAFzdAZJrwcbasJRg2MPvIrVjtlfXllHssN6+E1JE=
+github.com/aws/aws-sdk-go-v2/credentials v1.20.6 
h1:NpAFXCU7NzXNkdGK3zQTtsRJ+3v9tZQV0xcdRw8uBdw=
+github.com/aws/aws-sdk-go-v2/credentials v1.20.6/go.mod 
h1:mcZCoiPnyMvP8VMNbygNX5lLqSlkYJIMPODylQMurOk=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.1 
h1:8gALAAmacnIXh+z6VkdDanv4/IkG5APdg4DZLDTmLog=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.1/go.mod 
h1:Z7IJhJU+poOdJjUR2wpyY21ossQ1XS/R3Lk9Msq5kM4=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.4 
h1:CLq4+8UHCI+ZZYl/EuJxXovaIVN2xeeT8JV+dsApQ5E=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.4/go.mod 
h1:Wv4q5sAM04xAMkoOedxLx2inVf6K5FdxYp+A61L+q/0=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.4 
h1:dD4MR81I7YkpEBRk6UP9rocC2QnT3qVuXwzlYTtfGEs=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.4/go.mod 
h1:EcXV1kAFd5XwSkDHlj94gnF3q5CkJyYiIJfH8N0VmrE=
+github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.4 
h1:7Wo47d/xn/7KttCSBd8EGYeZ7ULRFRkUHr6vkZPBzVQ=
+github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.4/go.mod 
h1:tDB2IVC1xC3vX8o+6uRlzhTxP3g1b77CZXFX/oD2FnQ=
 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.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/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.4 
h1:29SvnfGhXjTl8ONxFwbj2rs6lbhiFXD2CgFQmbT/bXY=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.4/go.mod 
h1:wm04I5DMuNVvZHFe/dHnUxincvNbbK7AiNBbYsQivek=
+github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.50.1 
h1:xYoGDAZtoSXI5wOfjv1jzG1AUOdXZthz4YL9DFvunrQ=
+github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.50.1/go.mod 
h1:dgXxccOMNsXm/eOkrQbBfxm4a6H8IiRphA7z69RG8hM=
+github.com/aws/aws-sdk-go-v2/service/signin v1.10.1 
h1:DzCCWLzcIRQ77F3DEUljud7bEjTgFOIKXP52NmVRyhU=
+github.com/aws/aws-sdk-go-v2/service/signin v1.10.1/go.mod 
h1:xpo/geVldu8payT375WekctUzopG/hBU7miiqItMUlw=
+github.com/aws/aws-sdk-go-v2/service/sso v1.38.1 
h1:Umtl/0YZhng4xndfW3lKJrYYP7NLEjI6bGXVomwLcs0=
+github.com/aws/aws-sdk-go-v2/service/sso v1.38.1/go.mod 
h1:rRD/dnm7q0HYE/I5TMaPgkWyyUGLcwuxHLABsLnQ3e0=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.1 
h1:orIWdNiLgzrhu/11RcPPKO/SBzUUymbUQuZbSPImghg=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.1/go.mod 
h1:skwM/xsbR/1ReUTesv9BhpJp1VjajR7DWQnuVLwiXsQ=
+github.com/aws/aws-sdk-go-v2/service/sts v1.51.1 
h1:0HOqZXRvMytH6bFHVIc0oJX07sZjfhz0zXtjs6gdE8s=
+github.com/aws/aws-sdk-go-v2/service/sts v1.51.1/go.mod 
h1:26zA0GhDrLo+yiLI2yXWxqB1PdsShfLikoI7GOEgugM=
+github.com/aws/smithy-go v1.28.2 
h1:myhcykQcatTul2B/zITjDk203G7t0awUAs1hVry5Bvg=
+github.com/aws/smithy-go v1.28.2/go.mod 
h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
 github.com/aymanbagabas/go-osc52/v2 v2.0.1 
h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
 github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod 
h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
 github.com/aymanbagabas/go-udiff v0.2.0 
h1:TK0fH4MteXUDspT88n8CKzvK0X9O2xu9yQjWpi6yML8=
@@ -135,8 +135,8 @@
 github.com/bits-and-blooms/bitset v1.24.6/go.mod 
h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
 github.com/blang/semver/v4 v4.0.0 
h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
 github.com/blang/semver/v4 v4.0.0/go.mod 
h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
-github.com/bmatcuk/doublestar/v4 v4.10.0 
h1:zU9WiOla1YA122oLM6i4EXvGW62DvKZVxIe6TYWexEs=
-github.com/bmatcuk/doublestar/v4 v4.10.0/go.mod 
h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc=
+github.com/bmatcuk/doublestar/v4 v4.10.2 
h1:eF7W7HWKg3z9NrWV9pTLnNeoXaqq3Tq9DNKXVMfoCnw=
+github.com/bmatcuk/doublestar/v4 v4.10.2/go.mod 
h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc=
 github.com/bodgit/plumbing v1.3.0 
h1:pf9Itz1JOQgn7vEOE7v7nlEfBykYqvUYioC61TwWCFU=
 github.com/bodgit/plumbing v1.3.0/go.mod 
h1:JOTb4XiRu5xfnmdnDJo6GmSbSbtSyufrsyZFByMtKEs=
 github.com/bodgit/sevenzip v1.6.5 
h1:7H7BxgmeX0j6UX42lH+KXQ92WgMQJ49DoocFdfHbCng=
@@ -179,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-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/exp/slice v0.1.0 
h1:m46dwuDf3M5SFYMRhxYkLC6z9WnENGVKbcbJlp13/og=
+github.com/charmbracelet/x/exp/slice v0.1.0/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=
@@ -221,14 +221,14 @@
 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=
 github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod 
h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY=
-github.com/dustin/go-humanize v1.0.1 
h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
-github.com/dustin/go-humanize v1.0.1/go.mod 
h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
+github.com/dustin/go-humanize v1.1.0 
h1:dbKTrvD0klcbBV/h4AWJdMuZogJACoMlvWIWZ5b2xWg=
+github.com/dustin/go-humanize v1.1.0/go.mod 
h1:hc1CvRkJMsgxqjmjMQF3QNRAZBwY8AXBAzKYoSX9sFI=
 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/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-checker/editorconfig-checker/v4 v4.0.2 
h1:Q3K6NmNP9L+A8UBQ+swykFNcnvIjTpQlfByv09CJH4w=
+github.com/editorconfig-checker/editorconfig-checker/v4 v4.0.2/go.mod 
h1:DcfI0deg/0mEE5yuYotV4EfSa2ZiKr/BxhC9X6+7VSc=
 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=
@@ -287,8 +287,8 @@
 github.com/go-logr/stdr v1.2.2/go.mod 
h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
 github.com/go-quicktest/qt v1.102.0 
h1:HSQxCeh5YZH3EL3W39ixjtyaEhcWSXQHtHnMBzSs474=
 github.com/go-quicktest/qt v1.102.0/go.mod 
h1:p4lGIVX+8Wa6ZPNDvqcxq36XpUDLh42FLetFU7odllI=
-github.com/go-sprout/sprout v1.1.1 
h1:W1k8rnSGnKHDR5Z5M8pi22zjFvAx9mRsomsfFT9c85c=
-github.com/go-sprout/sprout v1.1.1/go.mod 
h1:/gb8yk3HCg6S5+X16PDh+mVjk+6KFtKb6j5xoix4sVk=
+github.com/go-sprout/sprout v1.1.2 
h1:SXwcvySDM3mUaLyM9TKoT1/z6qunYC4nmMhvm0mQmbE=
+github.com/go-sprout/sprout v1.1.2/go.mod 
h1:U/0DFWSpcwLV5iNgK/4EZCllGvQFxhLSZTappEdLTqE=
 github.com/go-viper/mapstructure/v2 v2.5.0 
h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro=
 github.com/go-viper/mapstructure/v2 v2.5.0/go.mod 
h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
 github.com/gobwas/glob v1.0.0 h1:p+FKbLEIsK1yZ39/OINwFvqNb5oyPY4H8xcy6uYu8dg=
@@ -336,14 +336,12 @@
 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.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/clipboard v0.0.5 
h1:vwp7PlntZuvgc1CZDz2GxRnaStNhwmBN5PALdRkHGQY=
+github.com/gopasspw/clipboard v0.0.5/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.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/gopasspw/gopass v1.17.3 
h1:mcrRYPf4ueAUCELDChqkEcMsr929CH5xiTD9jnovX5Y=
+github.com/gopasspw/gopass v1.17.3/go.mod 
h1:29y7rYOqA9NuylLQ2RM2ZZEARnsPr0wXBzYrpEqmnpI=
 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=
@@ -356,8 +354,8 @@
 github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod 
h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
 github.com/hexops/gotextdiff v1.0.3 
h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
 github.com/hexops/gotextdiff v1.0.3/go.mod 
h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
-github.com/huandu/xstrings v1.5.0 
h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
-github.com/huandu/xstrings v1.5.0/go.mod 
h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
+github.com/huandu/xstrings v1.6.1 
h1:yYdKSd6Sjv3fNZt9BDjl1FDsPNfQEaYi19L5LzK2JKs=
+github.com/huandu/xstrings v1.6.1/go.mod 
h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
 github.com/inconshreveable/mousetrap v1.1.0 
h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
 github.com/inconshreveable/mousetrap v1.1.0/go.mod 
h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
 github.com/itchyny/go-yaml v0.0.0-20251001235044-fca9a0999f15 
h1:m4jKsIK0QS9ihQzOxUN2zJcPdrACwqIWCwvdzv9skMQ=
@@ -390,11 +388,9 @@
 github.com/kevinburke/ssh_config v1.6.0/go.mod 
h1:q2RIzfka+BXARoNexmF9gkxEX7DmvbW9P4hIVx2Kg4M=
 github.com/keybase/go-keychain v0.0.1 
h1:way+bWYa6lDppZoZcgMbYsvC7GxljxrskdNInRtuthU=
 github.com/keybase/go-keychain v0.0.1/go.mod 
h1:PdEILRW3i9D8JcdM+FmY6RwkHGnhHxXwkPPMeUgOK1k=
-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.20.0 
h1:a3C1ke2ohxFymNlb2HWAHjDeKCI90scRskErZkR0ezA=
-github.com/klauspost/compress v1.20.0/go.mod 
h1:LUdAzn7YLVvxLpc7y3V1m40wESHTgc1422pwwBSKYuI=
+github.com/klauspost/compress v1.20.1 
h1:T7kKElXUMXrUJ2E9QhQhxFtcK5rPyLdsGZvdbLMPdiQ=
+github.com/klauspost/compress v1.20.1/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=
@@ -478,8 +474,8 @@
 github.com/pelletier/go-toml/v2 v2.4.3/go.mod 
h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
 github.com/pete-woods/go-expect v0.1.4 
h1:8QHAAyq44i6o9XbqjUgVaamCD7Gtf5zCdXzYNFtlkRg=
 github.com/pete-woods/go-expect v0.1.4/go.mod 
h1:SuLVVtsOBMqVrA2lUvmPiS2v/MrQFRmrsqkxFoFDKuI=
-github.com/pierrec/lz4/v4 v4.1.29 
h1:CDQY6qZOLI4DW0Nx6R1vRrifrCeQHnNXkMb0hZWXFjg=
-github.com/pierrec/lz4/v4 v4.1.29/go.mod 
h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4=
+github.com/pierrec/lz4/v4 v4.1.31 
h1:TI8ck6XSudzSzotzAmy0+kh/KpRHaVsKLPzS97gRyNg=
+github.com/pierrec/lz4/v4 v4.1.31/go.mod 
h1:7SE9MC2STkNtL4PIwGhjmyVwvILaGI9/COYQNBhKM/c=
 github.com/pjbgf/sha1cd v0.6.0 h1:3WJ8Wz8gvDz29quX1OcEmkAlUg9diU4GxJHqs0/XiwU=
 github.com/pjbgf/sha1cd v0.6.0/go.mod 
h1:lhpGlyHLpQZoxMv8HcgXvZEhcGs0PG/vsZnEJ7H0iCM=
 github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c 
h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
@@ -603,12 +599,12 @@
 github.com/twpayne/go-xdg/v6 v6.1.3 
h1:viM0S9v4KAc0IRW2xI3Zp8ZkqOCoCxmCmVZ7GTnG0y0=
 github.com/twpayne/go-xdg/v6 v6.1.3/go.mod 
h1:kVT9oShzQ0Cb5r4gzwziZUfluW2sTR72slQC/4N1AXI=
 github.com/ulikunitz/xz v0.5.8/go.mod 
h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
-github.com/ulikunitz/xz v0.5.16 h1:ld6NyySjx5lowVKwJvMRLnW5nxKX/xnpSiFYZ/Lxur0=
-github.com/ulikunitz/xz v0.5.16/go.mod 
h1:H9Rt/W6/Qj27PGauhQc6nfCDy7vHpzsOThBSaYDoEhw=
+github.com/ulikunitz/xz v0.5.17 h1:flR0y/x1hgM8EGV1AW3Xll6T413G0glV8UfBwR617V4=
+github.com/ulikunitz/xz v0.5.17/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/v3 v3.11.0 
h1:P/euJp99kb9p0tlVY+iYTLYYTAQlfl0hR2gUO1Img1Q=
-github.com/urfave/cli/v3 v3.11.0/go.mod 
h1:ysVLtOEmg2tOy6PknnYVhDoouyC/6N42TMeoMzskhso=
+github.com/urfave/cli/v3 v3.13.0 
h1:Dr6jqMfIyyFsRVn7Nz5mqLsMY+ZMpfh3a0aMs+umPVY=
+github.com/urfave/cli/v3 v3.13.0/go.mod 
h1:vXn6HxPNccJSzQr2QvwVncOKrgYGIHU0HY5h8B2nQj4=
 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=
@@ -617,8 +613,8 @@
 github.com/xanzy/ssh-agent v0.3.3/go.mod 
h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
 github.com/xhit/go-str2duration/v2 v2.1.0 
h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc=
 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/xo/terminfo v1.2.0 h1:d0ZTOCpuGE0lwSAOs0zcJjwz3jWQyqcRt9XbGJpCOl4=
+github.com/xo/terminfo v1.2.0/go.mod 
h1:lGzkSo8Fe7IRh/w+Gqz7n5mDog4FVXCj3gy/DYTBqio=
 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=
@@ -795,5 +791,5 @@
 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=
-znkr.io/diff v1.0.1/go.mod h1:4MRwV40UKLveWSNArVT3wjYxbl8XFN+I+6QY2BlSGQM=
+znkr.io/diff v1.0.2 h1:/0qZNOoOhcTIdlqMnGeV/C29K55JXdY22W0dV/qZ2tE=
+znkr.io/diff v1.0.2/go.mod h1:AipFDJvE32KwX3cWS0BP/HgsfxBOH5cVBiAMO11THeM=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/internal/chezmoi/entrytypeset.go 
new/chezmoi-2.73.0/internal/chezmoi/entrytypeset.go
--- old/chezmoi-2.72.2/internal/chezmoi/entrytypeset.go 2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/internal/chezmoi/entrytypeset.go 2026-09-28 
20:53:18.000000000 +0200
@@ -251,7 +251,7 @@
 }
 
 // MarshalJSON implements encoding/json.Marshaler.MarshalJSON.
-func (s *EntryTypeSet) MarshalJSON() ([]byte, error) {
+func (s EntryTypeSet) MarshalJSON() ([]byte, error) {
        switch s.bits {
        case EntryTypesAll:
                return []byte(`["all"]`), nil
@@ -269,7 +269,7 @@
 }
 
 // MarshalYAML implements github.com/goccy/go-yaml.Marshaler.
-func (s *EntryTypeSet) MarshalYAML() (any, error) {
+func (s EntryTypeSet) MarshalYAML() (any, error) {
        if s.bits == EntryTypesAll {
                return []string{"all"}, nil
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/internal/chezmoi/sourcestate.go 
new/chezmoi-2.73.0/internal/chezmoi/sourcestate.go
--- old/chezmoi-2.72.2/internal/chezmoi/sourcestate.go  2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/internal/chezmoi/sourcestate.go  2026-09-28 
20:53:18.000000000 +0200
@@ -367,11 +367,11 @@
        if !o.Exact {
                return false
        }
-       // If ExactTargetRelPaths is nil, use legacy behavior (all dirs are 
exact)
+       // If ExactTargetRelPaths is nil, use legacy behavior (all dirs are 
exact).
        if o.ExactTargetRelPaths == nil {
                return true
        }
-       // Check if targetRelPath equals or is a descendant of any exact target
+       // Check if targetRelPath equals or is a descendant of any exact target.
        for exactTarget := range o.ExactTargetRelPaths {
                if targetRelPath == exactTarget || 
targetRelPath.HasDirPrefix(exactTarget) {
                        return true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/internal/cmd/choiceflag.go 
new/chezmoi-2.73.0/internal/cmd/choiceflag.go
--- old/chezmoi-2.72.2/internal/cmd/choiceflag.go       2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/internal/cmd/choiceflag.go       2026-09-28 
20:53:18.000000000 +0200
@@ -30,12 +30,12 @@
 }
 
 // MarshalJSON implements encoding/json.Marshaler.MarshalJSON.
-func (f *choiceFlag) MarshalJSON() ([]byte, error) {
+func (f choiceFlag) MarshalJSON() ([]byte, error) {
        return []byte(strconv.Quote(f.value)), nil
 }
 
 // MarshalText implements encoding.TextMarshaler.MarshalText.
-func (f *choiceFlag) MarshalText() ([]byte, error) {
+func (f choiceFlag) MarshalText() ([]byte, error) {
        return []byte(f.value), nil
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/internal/cmd/cmd.go 
new/chezmoi-2.73.0/internal/cmd/cmd.go
--- old/chezmoi-2.72.2/internal/cmd/cmd.go      2026-09-12 22:17:54.000000000 
+0200
+++ new/chezmoi-2.73.0/internal/cmd/cmd.go      2026-09-28 20:53:18.000000000 
+0200
@@ -127,6 +127,9 @@
        if chezmoiDev["ignorehelp"] != "1" && (!ok || 
strings.TrimSpace(help.longHelp) == "") {
                panic(command + ": missing long help")
        }
+       if help == nil {
+               return ""
+       }
        return "Description\n" + help.longHelp
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/internal/cmd/config.go 
new/chezmoi-2.73.0/internal/cmd/config.go
--- old/chezmoi-2.72.2/internal/cmd/config.go   2026-09-12 22:17:54.000000000 
+0200
+++ new/chezmoi-2.73.0/internal/cmd/config.go   2026-09-28 20:53:18.000000000 
+0200
@@ -32,6 +32,7 @@
        "github.com/bartventer/httpcache"
        "github.com/betterleaks/betterleaks/detect"
        "github.com/coreos/go-semver/semver"
+       "github.com/dustin/go-humanize/english"
        "github.com/go-git/go-git/v5"
        "github.com/go-git/go-git/v5/plumbing/format/diff"
        "github.com/go-viper/mapstructure/v2"
@@ -1096,7 +1097,7 @@
                                configFileAbsPathStr := 
configDirAbsPath.JoinString("chezmoi", name)
                                configFileAbsPathStrs = 
append(configFileAbsPathStrs, configFileAbsPathStr.String())
                        }
-                       return chezmoi.EmptyAbsPath, fmt.Errorf("multiple 
config files: %s", englishList(configFileAbsPathStrs))
+                       return chezmoi.EmptyAbsPath, fmt.Errorf("multiple 
config files: %s", english.OxfordWordSeries(configFileAbsPathStrs, "and"))
                }
        }
 
@@ -1580,7 +1581,7 @@
                        sourceAbsPathStr := 
configTemplate.sourceAbsPath.String()
                        sourceAbsPathStrs[i] = sourceAbsPathStr
                }
-               return nil, fmt.Errorf("multiple config file templates: %s ", 
englishList(sourceAbsPathStrs))
+               return nil, fmt.Errorf("multiple config file templates: %s ", 
english.OxfordWordSeries(sourceAbsPathStrs, "and"))
        }
 }
 
@@ -1789,8 +1790,8 @@
        }
 }
 
-// gitAutoAdd adds all changes to the git index and returns the new git status.
-func (c *Config) gitAutoAdd() (*chezmoigit.Status, error) {
+// gitAdd adds all changes to the git index and returns the new git status.
+func (c *Config) gitAdd() (*chezmoigit.Status, error) {
        if err := c.run(c.SourceDirAbsPath, c.Git.Command, []string{"add", 
"."}); err != nil {
                return nil, err
        }
@@ -1801,9 +1802,9 @@
        return chezmoigit.ParseStatusPorcelainV2(output)
 }
 
-// gitAutoCommit commits all changes in the git index, including generating a
+// gitCommit commits all changes in the git index, including generating a
 // commit message from status.
-func (c *Config) gitAutoCommit(cmd *cobra.Command, status *chezmoigit.Status) 
error {
+func (c *Config) gitCommit(cmd *cobra.Command, status *chezmoigit.Status) 
error {
        if status.IsEmpty() {
                return nil
        }
@@ -1820,20 +1821,6 @@
        return c.runHookPost("git-auto-commit")
 }
 
-// gitAutoPush pushes all changes to the remote if status is not empty.
-func (c *Config) gitAutoPush(status *chezmoigit.Status) error {
-       if status.IsEmpty() {
-               return nil
-       }
-       if err := c.runHookPre("git-auto-push"); err != nil {
-               return err
-       }
-       if err := c.run(c.SourceDirAbsPath, c.Git.Command, []string{"push"}); 
err != nil {
-               return err
-       }
-       return c.runHookPost("git-auto-push")
-}
-
 // gitCommitMessage returns the git commit message for the given status.
 func (c *Config) gitCommitMessage(cmd *cobra.Command, status 
*chezmoigit.Status) ([]byte, error) {
        templateFuncs := maps.Clone(c.templateFuncs)
@@ -1884,6 +1871,20 @@
        return commitMessageTmpl.Execute(templateDataMap)
 }
 
+// gitPush pushes all changes to the remote if status is not empty.
+func (c *Config) gitPush(status *chezmoigit.Status) error {
+       if status.IsEmpty() {
+               return nil
+       }
+       if err := c.runHookPre("git-auto-push"); err != nil {
+               return err
+       }
+       if err := c.run(c.SourceDirAbsPath, c.Git.Command, []string{"push"}); 
err != nil {
+               return err
+       }
+       return c.runHookPost("git-auto-push")
+}
+
 // makeRunEWithSourceState returns a function for
 // github.com/spf13/cobra.Command.RunE that includes reading the source state.
 func (c *Config) makeRunEWithSourceState(
@@ -2064,6 +2065,7 @@
                c.newMergeCmd(),
                c.newMergeAllCmd(),
                c.newPurgeCmd(),
+               c.newPushCmd(),
                c.newReAddCmd(),
                c.newRemoveCmd(),
                c.newSSHCmd(),
@@ -2357,18 +2359,18 @@
                var status *chezmoigit.Status
                if c.Git.AutoAdd || c.Git.AutoCommit || c.Git.AutoPush {
                        var err error
-                       status, err = c.gitAutoAdd()
+                       status, err = c.gitAdd()
                        if err != nil {
                                return err
                        }
                }
                if c.Git.AutoCommit || c.Git.AutoPush {
-                       if err := c.gitAutoCommit(cmd, status); err != nil {
+                       if err := c.gitCommit(cmd, status); err != nil {
                                return err
                        }
                }
                if c.Git.AutoPush {
-                       if err := c.gitAutoPush(status); err != nil {
+                       if err := c.gitPush(status); err != nil {
                                return err
                        }
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/internal/cmd/doctorcmd.go 
new/chezmoi-2.73.0/internal/cmd/doctorcmd.go
--- old/chezmoi-2.72.2/internal/cmd/doctorcmd.go        2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/internal/cmd/doctorcmd.go        2026-09-28 
20:53:18.000000000 +0200
@@ -20,6 +20,7 @@
        "time"
 
        "github.com/coreos/go-semver/semver"
+       "github.com/dustin/go-humanize/english"
        "github.com/google/go-github/v72/github"
        "github.com/spf13/cobra"
        "github.com/twpayne/go-shell"
@@ -784,7 +785,7 @@
                return checkResultError, err.Error()
        }
        if len(suspiciousEntries) > 0 {
-               return checkResultWarning, englishList(suspiciousEntries)
+               return checkResultWarning, 
english.OxfordWordSeries(suspiciousEntries, "and")
        }
        return checkResultOK, "no suspicious entries"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/internal/cmd/helps.gen.go 
new/chezmoi-2.73.0/internal/cmd/helps.gen.go
--- old/chezmoi-2.72.2/internal/cmd/helps.gen.go        2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/internal/cmd/helps.gen.go        2026-09-28 
20:53:18.000000000 +0200
@@ -692,6 +692,13 @@
                        "P",
                ),
        },
+       "push": {
+               longHelp: "" +
+                       "  Push all changes to your dotfiles repo by running 
git add, git commit, and\n" +
+                       "  git push in the source directory.",
+               example: "" +
+                       "  chezmoi push",
+       },
        "re-add": {
                longHelp: "" +
                        "  Re-add modified files in the target state, 
preserving any encrypted_\n" +
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/internal/cmd/pushcmd.go 
new/chezmoi-2.73.0/internal/cmd/pushcmd.go
--- old/chezmoi-2.72.2/internal/cmd/pushcmd.go  1970-01-01 01:00:00.000000000 
+0100
+++ new/chezmoi-2.73.0/internal/cmd/pushcmd.go  2026-09-28 20:53:18.000000000 
+0200
@@ -0,0 +1,35 @@
+package cmd
+
+import (
+       "github.com/spf13/cobra"
+)
+
+func (c *Config) newPushCmd() *cobra.Command {
+       pushCmd := &cobra.Command{
+               GroupID: groupIDDaily,
+               Use:     "push",
+               Args:    cobra.NoArgs,
+               Short:   "Add, commit, and push all changes in the source 
state",
+               Long:    mustLongHelp("push"),
+               Example: example("push"),
+               RunE:    c.runPushCmd,
+               Annotations: newAnnotations(
+                       persistentStateModeEmpty,
+                       requiresSourceDirectory,
+                       requiresWorkingTree,
+               ),
+       }
+
+       return pushCmd
+}
+
+func (c *Config) runPushCmd(cmd *cobra.Command, args []string) error {
+       status, err := c.gitAdd()
+       if err != nil {
+               return err
+       }
+       if err := c.gitCommit(cmd, status); err != nil {
+               return err
+       }
+       return c.gitPush(status)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/chezmoi-2.72.2/internal/cmd/testdata/scripts/push.txtar 
new/chezmoi-2.73.0/internal/cmd/testdata/scripts/push.txtar
--- old/chezmoi-2.72.2/internal/cmd/testdata/scripts/push.txtar 1970-01-01 
01:00:00.000000000 +0100
+++ new/chezmoi-2.73.0/internal/cmd/testdata/scripts/push.txtar 2026-09-28 
20:53:18.000000000 +0200
@@ -0,0 +1,16 @@
+[!exec:git] skip 'git not found in $PATH'
+
+mkgitconfig
+
+# create a repo
+exec git init --bare $WORK/dotfiles.git
+exec chezmoi init file://$WORK/dotfiles.git
+
+# test that chezmoi push pushes changes to the repo
+exec chezmoi add $HOME${/}.file
+exec chezmoi push
+exec git --git-dir=$WORK/dotfiles.git show
+stdout 'Add \.file'
+
+-- home/user/.file --
+# contents of .file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/internal/cmd/util.go 
new/chezmoi-2.73.0/internal/cmd/util.go
--- old/chezmoi-2.72.2/internal/cmd/util.go     2026-09-12 22:17:54.000000000 
+0200
+++ new/chezmoi-2.73.0/internal/cmd/util.go     2026-09-28 20:53:18.000000000 
+0200
@@ -5,6 +5,8 @@
        "strings"
        "unicode"
 
+       "github.com/dustin/go-humanize/english"
+
        "chezmoi.io/chezmoi/v2/internal/chezmoiset"
 )
 
@@ -64,43 +66,17 @@
        return strings.Join(words, "_")
 }
 
-// englishList returns ss formatted as a list, including an Oxford comma.
-func englishList(ss []string) string {
-       switch n := len(ss); n {
-       case 0:
-               return ""
-       case 1:
-               return ss[0]
-       case 2:
-               return ss[0] + " and " + ss[1]
-       default:
-               return strings.Join(ss[:n-1], ", ") + ", and " + ss[n-1]
-       }
-}
-
 // englishListWithNoun returns ss formatted as an English list, including an
 // Oxford comma.
 func englishListWithNoun(ss []string, singular, plural string) string {
-       if len(ss) == 1 {
-               return ss[0] + " " + singular
-       }
-       if plural == "" {
-               plural = pluralize(singular)
-       }
        switch n := len(ss); n {
        case 0:
-               return "no " + plural
+               return "no " + english.PluralWord(0, singular, plural)
+       case 1:
+               return ss[0] + " " + singular
        default:
-               return englishList(ss) + " " + plural
-       }
-}
-
-// pluralize returns the English plural form of singular.
-func pluralize(singular string) string {
-       if prefix, found := strings.CutSuffix(singular, "y"); found {
-               return prefix + "ies"
+               return english.OxfordWordSeries(ss, "and") + " " + 
english.PluralWord(n, singular, plural)
        }
-       return singular + "s"
 }
 
 // stringersToStrings converts a slice of fmt.Stringers to a list of strings.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/internal/cmd/util_test.go 
new/chezmoi-2.73.0/internal/cmd/util_test.go
--- old/chezmoi-2.72.2/internal/cmd/util_test.go        2026-09-12 
22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/internal/cmd/util_test.go        2026-09-28 
20:53:18.000000000 +0200
@@ -35,36 +35,6 @@
        }
 }
 
-func TestEnglishList(t *testing.T) {
-       for _, tc := range []struct {
-               ss       []string
-               expected string
-       }{
-               {
-                       expected: "",
-               },
-               {
-                       ss:       []string{"first"},
-                       expected: "first",
-               },
-               {
-                       ss:       []string{"first", "second"},
-                       expected: "first and second",
-               },
-               {
-                       ss:       []string{"first", "second", "third"},
-                       expected: "first, second, and third",
-               },
-               {
-                       ss:       []string{"first", "second", "third", 
"fourth"},
-                       expected: "first, second, third, and fourth",
-               },
-       } {
-               actual := englishList(tc.ss)
-               assert.Equal(t, tc.expected, actual)
-       }
-}
-
 func TestEnglishListWithNoun(t *testing.T) {
        for _, tc := range []struct {
                ss       []string
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/chezmoi-2.72.2/internal/cmds/generate-install.sh/install.sh.tmpl 
new/chezmoi-2.73.0/internal/cmds/generate-install.sh/install.sh.tmpl
--- old/chezmoi-2.72.2/internal/cmds/generate-install.sh/install.sh.tmpl        
2026-09-12 22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/internal/cmds/generate-install.sh/install.sh.tmpl        
2026-09-28 20:53:18.000000000 +0200
@@ -98,6 +98,10 @@
        install -- "${tmpdir}/${BINARY}" "${BINDIR}/"
        log_info "installed ${BINDIR}/${BINARY}"
 
+       if ! is_command chezmoi; then
+               log_info "add ${BINDIR} to your PATH to use chezmoi"
+       fi
+
        if [ -n "${1+n}" ]; then
                exec "${BINDIR}/${BINARY}" "${@}"
        fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/pyproject.toml 
new/chezmoi-2.73.0/pyproject.toml
--- old/chezmoi-2.72.2/pyproject.toml   2026-09-12 22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/pyproject.toml   2026-09-28 20:53:18.000000000 +0200
@@ -11,7 +11,7 @@
     "pymdown-extensions>=11.0.1",
     "ruamel.yaml>=0.19.1",
     "ruff>=0.15.6",
-    "soupsieve>2.8.3",
+    "soupsieve>=2.9",
     "taskipy>=1.14.1",
     "urllib3>=2.7.0",
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/chezmoi-2.72.2/uv.lock new/chezmoi-2.73.0/uv.lock
--- old/chezmoi-2.72.2/uv.lock  2026-09-12 22:17:54.000000000 +0200
+++ new/chezmoi-2.73.0/uv.lock  2026-09-28 20:53:18.000000000 +0200
@@ -87,7 +87,7 @@
     { name = "pymdown-extensions", specifier = ">=11.0.1" },
     { name = "ruamel-yaml", specifier = ">=0.19.1" },
     { name = "ruff", specifier = ">=0.15.6" },
-    { name = "soupsieve", specifier = ">2.8.3" },
+    { name = "soupsieve", specifier = ">=2.9" },
     { name = "taskipy", specifier = ">=1.14.1" },
     { name = "urllib3", specifier = ">=2.7.0" },
 ]
@@ -455,11 +455,11 @@
 
 [[package]]
 name = "soupsieve"
-version = "2.8.4"
+version = "2.9.2"
 source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/47/2c/0a5f6f8ee0d5589e48c7640213ed5175d52cf540a06725b628cc1a45d6ce/soupsieve-2.8.4.tar.gz";,
 hash = 
"sha256:e121fd02e975c695e4e9e8774a5ee35d74714b59307868dcc5319ad2d9e3328e", size 
= 121110, upload-time = "2026-05-24T13:55:57.154Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/69/99/a6ca3beb3ccacb41fb3321d8a60e5566f9e6467601ef8eba6a17e1b89778/soupsieve-2.9.2.tar.gz";,
 hash = 
"sha256:4a55d8cf158a9c2e587fa4922f1bbb91d68ac829e2d6f25403a85747c71daf74", size 
= 122445, upload-time = "2026-08-07T00:57:24.801Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/5e/f5/0c41cb68dcae6b7de4fac4188a3a9589e21fb31df21ea3a2e888db95e6c9/soupsieve-2.8.4-py3-none-any.whl";,
 hash = 
"sha256:e7e6b0769c8f51ed59acab6e994b00621096cfb1c640a7509295987388fbaf65", size 
= 37304, upload-time = "2026-05-24T13:55:55.406Z" },
+    { url = 
"https://files.pythonhosted.org/packages/eb/dc/ad025c1ee131eba60c69f4dd5779b18fcf1e6b21a343e2162a84d5d133c7/soupsieve-2.9.2-py3-none-any.whl";,
 hash = 
"sha256:8089a26fd974ca7a1f30276d3d8492ab266ab15af581642dfe8aa162e0c1c823", size 
= 37370, upload-time = "2026-08-07T00:57:23.524Z" },
 ]
 
 [[package]]

++++++ chezmoi.obsinfo ++++++
--- /var/tmp/diff_new_pack.qMfCQf/_old  2026-10-01 22:21:19.576152685 +0200
+++ /var/tmp/diff_new_pack.qMfCQf/_new  2026-10-01 22:21:19.582152935 +0200
@@ -1,5 +1,5 @@
 name: chezmoi
-version: 2.72.2
-mtime: 1789244274
-commit: 125d00fe730fc9abf456ec312ba85b18c859bc50
+version: 2.73.0
+mtime: 1790621598
+commit: 24b71e4cf9d98cce0801cfc68e7553355efeaff7
 

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

Reply via email to