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
