Script 'mail_helper' called by obssrc
Hello community,

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

Package is "topgrade"

Tue Sep 22 15:51:20 2026 rev:34 rq:1379553 version:17.12.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/topgrade/topgrade.changes        2026-09-21 
12:24:20.405102284 +0200
+++ /work/SRC/openSUSE:Factory/.topgrade.new.383539/topgrade.changes    
2026-09-22 15:52:07.155499973 +0200
@@ -1,0 +2,10 @@
+Tue Sep 22 01:26:09 UTC 2026 - Gerald Chen <[email protected]>
+
+- Update to version 17.12.1:
+  * chore: release v17.12.1 (#2365)
+  * fix: don't set cwd when respawning in tmux to fix crash (#2367)
+  * fix(mise): skip self-update when managed by Homebrew (#2363)
+  * chore(deps): update github/codeql-action action to v4.38.1 (#2351)
+  * chore(deps): lock file maintenance (#2364)
+
+-------------------------------------------------------------------

Old:
----
  topgrade-17.12.0.tar.zst

New:
----
  topgrade-17.12.1.tar.zst

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

Other differences:
------------------
++++++ topgrade.spec ++++++
--- /var/tmp/diff_new_pack.ZN6ta1/_old  2026-09-22 15:52:09.841611271 +0200
+++ /var/tmp/diff_new_pack.ZN6ta1/_new  2026-09-22 15:52:09.842611313 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           topgrade
-Version:        17.12.0
+Version:        17.12.1
 Release:        0
 Summary:        Upgrade all the things
 License:        GPL-3.0-only

++++++ _service ++++++
--- /var/tmp/diff_new_pack.ZN6ta1/_old  2026-09-22 15:52:09.898613633 +0200
+++ /var/tmp/diff_new_pack.ZN6ta1/_new  2026-09-22 15:52:09.909614089 +0200
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/topgrade-rs/topgrade.git</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="scm">git</param>
-    <param name="revision">v17.12.0</param>
+    <param name="revision">v17.12.1</param>
     <param name="match-tag">*</param>
     <param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
     <param name="versionrewrite-replacement">\1</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.ZN6ta1/_old  2026-09-22 15:52:09.940615373 +0200
+++ /var/tmp/diff_new_pack.ZN6ta1/_new  2026-09-22 15:52:09.947615663 +0200
@@ -1,7 +1,7 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/topgrade-rs/topgrade.git</param>
-              <param 
name="changesrevision">b194f967150612d51596ef7e3cb1ddbdbd1369c6</param></service><service
 name="tar_scm">
+              <param 
name="changesrevision">25e20b9e0e1d035b1e731d7fa913ad9463f21c8f</param></service><service
 name="tar_scm">
                 <param 
name="url">https://ghproxy.net/https://github.com/topgrade-rs/topgrade.git</param>
               <param 
name="changesrevision">ef0a0d69bbe0cb08d6c4930ee18b734e03c215fb</param></service></servicedata>
 (No newline at EOF)

++++++ topgrade-17.12.0.tar.zst -> topgrade-17.12.1.tar.zst ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/topgrade-17.12.0/.github/workflows/check_security_vulnerability.yml 
new/topgrade-17.12.1/.github/workflows/check_security_vulnerability.yml
--- old/topgrade-17.12.0/.github/workflows/check_security_vulnerability.yml     
2026-09-20 19:17:38.000000000 +0200
+++ new/topgrade-17.12.1/.github/workflows/check_security_vulnerability.yml     
2026-09-21 20:30:21.000000000 +0200
@@ -32,6 +32,6 @@
         uses: 
microsoft/DevSkim-Action@4b5047945a44163b94642a1cecc0d93a3f428cc6 # v1.0.16
 
       - name: Upload DevSkim scan results to GitHub Security tab
-        uses: 
github/codeql-action/upload-sarif@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # 
v4.38.0
+        uses: 
github/codeql-action/upload-sarif@1c5b675653bb5c22dbe9b12b556ec555138e09fd # 
v4.38.1
         with:
           sarif_file: devskim-results.sarif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/topgrade-17.12.0/.github/workflows/scorecards.yml 
new/topgrade-17.12.1/.github/workflows/scorecards.yml
--- old/topgrade-17.12.0/.github/workflows/scorecards.yml       2026-09-20 
19:17:38.000000000 +0200
+++ new/topgrade-17.12.1/.github/workflows/scorecards.yml       2026-09-21 
20:30:21.000000000 +0200
@@ -71,6 +71,6 @@
 
       # Upload the results to GitHub's code scanning dashboard.
       - name: "Upload to code-scanning"
-        uses: 
github/codeql-action/upload-sarif@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # 
v4.38.0
+        uses: 
github/codeql-action/upload-sarif@1c5b675653bb5c22dbe9b12b556ec555138e09fd # 
v4.38.1
         with:
           sarif_file: results.sarif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/topgrade-17.12.0/CHANGELOG.md 
new/topgrade-17.12.1/CHANGELOG.md
--- old/topgrade-17.12.0/CHANGELOG.md   2026-09-20 19:17:38.000000000 +0200
+++ new/topgrade-17.12.1/CHANGELOG.md   2026-09-21 20:30:21.000000000 +0200
@@ -7,6 +7,12 @@
 
 ## [Unreleased]
 
+## 
[17.12.1](https://github.com/topgrade-rs/topgrade/compare/v17.12.0...v17.12.1) 
- 2026-09-21
+
+### Fixed
+- don't set cwd when respawning in tmux to fix crash 
([#2367](https://github.com/topgrade-rs/topgrade/pull/2367))
+- *(mise)* skip self-update when managed by Homebrew 
([#2363](https://github.com/topgrade-rs/topgrade/pull/2363))
+
 ## 
[17.12.0](https://github.com/topgrade-rs/topgrade/compare/v17.11.0...v17.12.0) 
- 2026-09-20
 
 ### Changed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/topgrade-17.12.0/Cargo.lock 
new/topgrade-17.12.1/Cargo.lock
--- old/topgrade-17.12.0/Cargo.lock     2026-09-20 19:17:38.000000000 +0200
+++ new/topgrade-17.12.1/Cargo.lock     2026-09-21 20:30:21.000000000 +0200
@@ -184,7 +184,7 @@
  "futures-lite",
  "parking",
  "polling",
- "rustix 1.1.4",
+ "rustix 1.1.5",
  "slab",
  "windows-sys 0.61.2",
 ]
@@ -215,7 +215,7 @@
  "cfg-if",
  "event-listener",
  "futures-lite",
- "rustix 1.1.4",
+ "rustix 1.1.5",
 ]
 
 [[package]]
@@ -241,7 +241,7 @@
  "cfg-if",
  "futures-core",
  "futures-io",
- "rustix 1.1.4",
+ "rustix 1.1.5",
  "signal-hook-registry",
  "slab",
  "windows-sys 0.61.2",
@@ -261,7 +261,7 @@
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 3.0.5",
+ "syn 3.0.6",
 ]
 
 [[package]]
@@ -412,9 +412,9 @@
 
 [[package]]
 name = "cc"
-version = "1.4.6"
+version = "1.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a3eb0f42d6c360dc3f8a821f6bf2fdea7f72bfd36b3076eb0e6d1e9e0752fff4"
+checksum = "54413ede23c2daf518f35156dfde027feb2374004d63bd497f983c8db9c0e313"
 dependencies = [
  "find-msvc-tools",
  "jobserver",
@@ -424,9 +424,9 @@
 
 [[package]]
 name = "cfg-if"
-version = "1.0.4"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
+checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600"
 
 [[package]]
 name = "cfg_aliases"
@@ -460,9 +460,9 @@
 
 [[package]]
 name = "clap"
-version = "4.6.6"
+version = "4.6.7"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "473c7e07f409a8d772161724aa8db6a765a2532a70f9667eeb7b49d3d02fbdca"
+checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -480,9 +480,9 @@
 
 [[package]]
 name = "clap_builder"
-version = "4.6.6"
+version = "4.6.7"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "7b48fea5a88e9ae728a2dcbedbfc0e730f7d60da42e1cb049a83c9fb8b789889"
+checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d"
 dependencies = [
  "anstream",
  "anstyle",
@@ -492,30 +492,30 @@
 
 [[package]]
 name = "clap_complete"
-version = "4.6.9"
+version = "4.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3be2ad0423bdbbb0e25bc89add796f3559706d4a95e1bc98e4d9662a957b6a19"
+checksum = "037e2a1a92236d0aff7e845093f64661d6df4c02c9fcc61a60e9e1d736fa392f"
 dependencies = [
  "clap",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "4.6.4"
+version = "4.6.7"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d012d2b9d65aca7f18f4d9878a045bc17899bba951561ba5ec3c2ba1eed9a061"
+checksum = "f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 3.0.5",
+ "syn 3.0.6",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "1.1.0"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
+checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486"
 
 [[package]]
 name = "clap_mangen"
@@ -751,7 +751,7 @@
  "filedescriptor",
  "mio",
  "parking_lot",
- "rustix 1.1.4",
+ "rustix 1.1.5",
  "signal-hook",
  "signal-hook-mio",
  "winapi",
@@ -885,7 +885,7 @@
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 3.0.5",
+ "syn 3.0.6",
 ]
 
 [[package]]
@@ -1102,9 +1102,9 @@
 
 [[package]]
 name = "find-msvc-tools"
-version = "0.1.12"
+version = "0.1.13"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3e0f1c7c3a72c66fd80abe965175f7523475c0489a87d3ff9d6e8c87d87a9d2d"
+checksum = "ef25905e51abafe4dcea6c15fec58c57b601cdbd0ee53d22ea1d3016c587d39b"
 
 [[package]]
 name = "flate2"
@@ -1221,7 +1221,7 @@
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 3.0.5",
+ "syn 3.0.6",
 ]
 
 [[package]]
@@ -1470,9 +1470,9 @@
 
 [[package]]
 name = "hyper-rustls"
-version = "0.27.9"
+version = "0.27.10"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f"
+checksum = "dfa8e654703247911e29c23fbeaa261834bd9bb74efba2f9acddc37bfb127f53"
 dependencies = [
  "http",
  "hyper",
@@ -2014,7 +2014,7 @@
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 3.0.5",
+ "syn 3.0.6",
 ]
 
 [[package]]
@@ -2043,9 +2043,9 @@
 
 [[package]]
 name = "normpath"
-version = "1.5.1"
+version = "1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b9985ef7269fa99f3b12437bb698381da2428743ab90f20393f399fa14cab21a"
+checksum = "b11ce00d2594068e8a27c9146fdc5cf9f3ac38eb42c7cd34d05fea618873ac9f"
 dependencies = [
  "windows-sys 0.61.2",
 ]
@@ -2307,7 +2307,7 @@
  "concurrent-queue",
  "hermit-abi",
  "pin-project-lite",
- "rustix 1.1.4",
+ "rustix 1.1.5",
  "windows-sys 0.61.2",
 ]
 
@@ -2450,9 +2450,9 @@
 
 [[package]]
 name = "rand"
-version = "0.10.2"
+version = "0.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80"
+checksum = "65c9fb96cbc91e3478eaae79a69fcd3f1ae4ad052e471fe6732fff548984b4af"
 dependencies = [
  "chacha20",
  "getrandom 0.4.3",
@@ -2494,11 +2494,10 @@
 
 [[package]]
 name = "redox_users"
-version = "0.5.2"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
+checksum = "60dc65c0ff1a7ae1294b0c67b9f14baf70b644404010370171787bfac1038fc0"
 dependencies = [
- "getrandom 0.2.17",
  "libredox",
  "thiserror 2.0.20",
 ]
@@ -2696,9 +2695,9 @@
 
 [[package]]
 name = "rustix"
-version = "1.1.4"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
+checksum = "891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d"
 dependencies = [
  "bitflags 2.13.2",
  "errno",
@@ -2926,7 +2925,7 @@
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 3.0.5",
+ "syn 3.0.6",
 ]
 
 [[package]]
@@ -2950,7 +2949,7 @@
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 3.0.5",
+ "syn 3.0.6",
 ]
 
 [[package]]
@@ -3176,9 +3175,9 @@
 
 [[package]]
 name = "syn"
-version = "3.0.5"
+version = "3.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9"
+checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3196,13 +3195,13 @@
 
 [[package]]
 name = "synstructure"
-version = "0.13.2"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
+checksum = "901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.119",
+ "syn 3.0.6",
 ]
 
 [[package]]
@@ -3290,7 +3289,7 @@
  "fastrand",
  "getrandom 0.4.3",
  "once_cell",
- "rustix 1.1.4",
+ "rustix 1.1.5",
  "windows-sys 0.61.2",
 ]
 
@@ -3331,7 +3330,7 @@
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 3.0.5",
+ "syn 3.0.6",
 ]
 
 [[package]]
@@ -3531,7 +3530,7 @@
 
 [[package]]
 name = "topgrade"
-version = "17.12.0"
+version = "17.12.1"
 dependencies = [
  "chrono",
  "clap",
@@ -3743,9 +3742,9 @@
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.24"
+version = "1.0.26"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
+checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954"
 
 [[package]]
 name = "unicode-width"
@@ -3789,9 +3788,9 @@
 
 [[package]]
 name = "ureq-proto"
-version = "0.6.3"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5b0809a01d1ca5a51ca70db32bb2a19157582a526505ef3c19e3b343a59aa5ad"
+checksum = "f86fd172ccca569e458f61b6bdd6220965a9ef36e672a6852953b51a0e1583be"
 dependencies = [
  "base64 0.23.1",
  "http",
@@ -3935,7 +3934,7 @@
  "bumpalo",
  "proc-macro2",
  "quote",
- "syn 3.0.5",
+ "syn 3.0.6",
  "wasm-bindgen-shared",
 ]
 
@@ -4397,7 +4396,7 @@
 checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156"
 dependencies = [
  "libc",
- "rustix 1.1.4",
+ "rustix 1.1.5",
 ]
 
 [[package]]
@@ -4419,13 +4418,13 @@
 
 [[package]]
 name = "yoke-derive"
-version = "0.8.2"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e"
+checksum = "33811428bee40dbceb6d545e95754741d17a6aef9a4849f0fd62e2ba4f412a78"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.119",
+ "syn 3.0.6",
  "synstructure",
 ]
 
@@ -4451,7 +4450,7 @@
  "hex",
  "libc",
  "ordered-stream",
- "rustix 1.1.4",
+ "rustix 1.1.5",
  "serde",
  "serde_repr",
  "tracing",
@@ -4473,7 +4472,7 @@
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn 3.0.5",
+ "syn 3.0.6",
  "zbus_names",
  "zvariant",
  "zvariant_utils",
@@ -4530,13 +4529,13 @@
 
 [[package]]
 name = "zerofrom-derive"
-version = "0.1.7"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1"
+checksum = "f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.119",
+ "syn 3.0.6",
  "synstructure",
 ]
 
@@ -4576,7 +4575,7 @@
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 3.0.5",
+ "syn 3.0.6",
 ]
 
 [[package]]
@@ -4607,9 +4606,9 @@
 
 [[package]]
 name = "zlib-rs"
-version = "0.6.7"
+version = "0.6.8"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "34b31d188d9d685a4f9c7b46d6e36631b07058d2cfe190267adce54dc230bf12"
+checksum = "b268e58e7c693d7c271f93ffc4ba3b380412554231c85bf61ca7af91042a4112"
 
 [[package]]
 name = "zmij"
@@ -4653,7 +4652,7 @@
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn 3.0.5",
+ "syn 3.0.6",
  "zvariant_utils",
 ]
 
@@ -4666,6 +4665,6 @@
  "proc-macro2",
  "quote",
  "serde",
- "syn 3.0.5",
+ "syn 3.0.6",
  "winnow 1.0.4",
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/topgrade-17.12.0/Cargo.toml 
new/topgrade-17.12.1/Cargo.toml
--- old/topgrade-17.12.0/Cargo.toml     2026-09-20 19:17:38.000000000 +0200
+++ new/topgrade-17.12.1/Cargo.toml     2026-09-21 20:30:21.000000000 +0200
@@ -6,7 +6,7 @@
 license = "GPL-3.0-or-later"
 repository = "https://github.com/topgrade-rs/topgrade";
 rust-version = "1.88.0"
-version = "17.12.0"
+version = "17.12.1"
 exclude = ["doc/screenshot.gif", "BREAKINGCHANGES_dev.md"]
 edition = "2024"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/topgrade-17.12.0/src/main.rs 
new/topgrade-17.12.1/src/main.rs
--- old/topgrade-17.12.0/src/main.rs    2026-09-20 19:17:38.000000000 +0200
+++ new/topgrade-17.12.1/src/main.rs    2026-09-21 20:30:21.000000000 +0200
@@ -144,10 +144,6 @@
     debug!("self-update Feature Enabled: {:?}", cfg!(feature = "self-update"));
     debug!("Configuration: {:?}", config);
 
-    // Some steps (like mise or pi) have different behavior when ran in a 
project directory.
-    //  Since Topgrade only handles global updates, run all commands in a 
temporary directory.
-    let _temp_cwd = TempCwd::new()?;
-
     if config.run_in_tmux() && env::var("TOPGRADE_INSIDE_TMUX").is_err() {
         #[cfg(unix)]
         {
@@ -156,6 +152,10 @@
         }
     }
 
+    // Some steps (like mise or pi) have different behavior when ran in a 
project directory.
+    //  Since Topgrade only handles global updates, run all commands in a 
temporary directory.
+    let _temp_cwd = TempCwd::new()?;
+
     let elevated = is_elevated();
 
     #[cfg(unix)]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/topgrade-17.12.0/src/steps/generic.rs 
new/topgrade-17.12.1/src/steps/generic.rs
--- old/topgrade-17.12.0/src/steps/generic.rs   2026-09-20 19:17:38.000000000 
+0200
+++ new/topgrade-17.12.1/src/steps/generic.rs   2026-09-21 20:30:21.000000000 
+0200
@@ -34,7 +34,9 @@
 use crate::step::Step;
 use crate::sudo::SudoExecuteOpts;
 use crate::terminal::{print_info, print_separator, shell};
-use crate::utils::{PathExt, check_is_python_2_or_shim, require, require_one, 
require_option, which};
+use crate::utils::{
+    PathExt, check_is_python_2_or_shim, is_installed_via_homebrew, require, 
require_one, require_option, which,
+};
 use crate::{
     error::{DryRun, SkipStep, StepFailed, TopgradeError},
     terminal::print_warning,
@@ -1043,9 +1045,7 @@
 
     // `pi update --self` errors when PI_SKIP_VERSION_CHECK is set. Homebrew 
sets it when it runs.
     let pi_skip_version_check_env = 
std::env::var("PI_SKIP_VERSION_CHECK").is_ok();
-    let pi_installed_through_homebrew = pi
-        .canonicalize()
-        .is_ok_and(|p| p.to_string_lossy().contains("/Cellar/"));
+    let pi_installed_through_homebrew = is_installed_via_homebrew(&pi);
 
     if supports_explicit_update_targets {
         if pi_skip_version_check_env {
@@ -2834,23 +2834,27 @@
 
     ctx.execute(&mise).args(["plugins", "update"]).status_checked()?;
 
-    // This used to run self-update and check for exit code 1 and the string 
'cannot update' in stderr.
-    //  However, this caused issues with mise's y/n prompt 
(https://github.com/topgrade-rs/topgrade/issues/2307).
-    let supports_self_update = ctx
-        .execute(&mise)
-        .always()
-        .arg("--help")
-        .output_checked_utf8()?
-        .stdout
-        .contains("self-update");
-
-    if supports_self_update {
-        ctx.execute(&mise)
-            .args(["self-update"])
-            .arg_if(ctx.config().yes(Step::Mise), "--yes")
-            .status_checked()?;
+    if is_installed_via_homebrew(&mise) {
+        debug!("Skipping `mise self-update`: mise is installed via Homebrew");
     } else {
-        debug!("Mise self-update not available");
+        // This used to run self-update and check for exit code 1 and the 
string 'cannot update' in stderr.
+        //  However, this caused issues with mise's y/n prompt 
(https://github.com/topgrade-rs/topgrade/issues/2307).
+        let supports_self_update = ctx
+            .execute(&mise)
+            .always()
+            .arg("--help")
+            .output_checked_utf8()?
+            .stdout
+            .contains("self-update");
+
+        if supports_self_update {
+            ctx.execute(&mise)
+                .args(["self-update"])
+                .arg_if(ctx.config().yes(Step::Mise), "--yes")
+                .status_checked()?;
+        } else {
+            debug!("Mise self-update not available");
+        }
     }
 
     ctx.execute(&mise)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/topgrade-17.12.0/src/utils.rs 
new/topgrade-17.12.1/src/utils.rs
--- old/topgrade-17.12.0/src/utils.rs   2026-09-20 19:17:38.000000000 +0200
+++ new/topgrade-17.12.1/src/utils.rs   2026-09-21 20:30:21.000000000 +0200
@@ -253,6 +253,12 @@
     .into())
 }
 
+pub fn is_installed_via_homebrew(binary: &Path) -> bool {
+    binary
+        .canonicalize()
+        .is_ok_and(|p| p.to_string_lossy().contains("/Cellar/"))
+}
+
 #[allow(dead_code)]
 pub fn require_one_path<T: AsRef<Path> + Debug>(paths: impl IntoIterator<Item 
= T>) -> Result<PathBuf> {
     let mut failed_paths = Vec::new();

++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/topgrade/vendor.tar.zst 
/work/SRC/openSUSE:Factory/.topgrade.new.383539/vendor.tar.zst differ: char 7, 
line 1

Reply via email to