Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package sheldon for openSUSE:Factory checked 
in at 2025-05-26 18:34:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sheldon (Old)
 and      /work/SRC/openSUSE:Factory/.sheldon.new.2732 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sheldon"

Mon May 26 18:34:03 2025 rev:6 rq:1279541 version:0.8.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/sheldon/sheldon.changes  2025-02-09 
20:55:48.896652790 +0100
+++ /work/SRC/openSUSE:Factory/.sheldon.new.2732/sheldon.changes        
2025-05-26 18:35:48.912124844 +0200
@@ -1,0 +2,6 @@
+Fri May 23 12:21:03 UTC 2025 - Ondřej Súkup <mimi...@gmail.com>
+
+- update to 0.8.23
+ * Reduce scope of file mutex
+
+-------------------------------------------------------------------

Old:
----
  sheldon-0.8.1.tar.gz

New:
----
  sheldon-0.8.2.tar.gz

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

Other differences:
------------------
++++++ sheldon.spec ++++++
--- /var/tmp/diff_new_pack.lUA1sP/_old  2025-05-26 18:35:49.936168011 +0200
+++ /var/tmp/diff_new_pack.lUA1sP/_new  2025-05-26 18:35:49.936168011 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           sheldon
-Version:        0.8.1
+Version:        0.8.2
 Release:        0
 Summary:        Fast, configurable, shell plugin manager
 License:        MIT OR Apache-2.0 AND MIT AND Zlib AND LGPL-2.1-or-later AND 
CC-BY-SA-4.0 AND Apache-2.0 WITH LLVM-exception AND BSD-4-clause AND OpenSSL 
AND Unicode AND SUSE-GPL-2.0-with-linking-exception

++++++ sheldon-0.8.1.tar.gz -> sheldon-0.8.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sheldon-0.8.1/Cargo.lock new/sheldon-0.8.2/Cargo.lock
--- old/sheldon-0.8.1/Cargo.lock        2025-02-08 13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/Cargo.lock        2025-05-22 21:28:38.000000000 +0200
@@ -19,21 +19,21 @@
 
 [[package]]
 name = "anyhow"
-version = "1.0.95"
+version = "1.0.98"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04"
+checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
 
 [[package]]
 name = "bitflags"
-version = "2.8.0"
+version = "2.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36"
+checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
 
 [[package]]
 name = "bstr"
-version = "1.11.3"
+version = "1.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0"
+checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4"
 dependencies = [
  "memchr",
  "serde",
@@ -47,9 +47,9 @@
 
 [[package]]
 name = "cc"
-version = "1.2.13"
+version = "1.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c7777341816418c02e033934a09f20dc0ccaf65a5201ef8a450ae0105a573fda"
+checksum = "5f4ac86a9e5bc1e2b3449ab9d7d3a6a405e3d1bb28d7b9be8614f55846ae3766"
 dependencies = [
  "jobserver",
  "libc",
@@ -64,9 +64,9 @@
 
 [[package]]
 name = "clap"
-version = "4.5.28"
+version = "4.5.38"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff"
+checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -74,9 +74,9 @@
 
 [[package]]
 name = "clap_builder"
-version = "4.5.27"
+version = "4.5.38"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7"
+checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120"
 dependencies = [
  "anstyle",
  "clap_lex",
@@ -85,18 +85,18 @@
 
 [[package]]
 name = "clap_complete"
-version = "4.5.44"
+version = "4.5.50"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "375f9d8255adeeedd51053574fd8d4ba875ea5fa558e86617b07f09f1680c8b6"
+checksum = "c91d3baa3bcd889d60e6ef28874126a0b384fd225ab83aa6d8a801c519194ce1"
 dependencies = [
  "clap",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "4.5.28"
+version = "4.5.32"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed"
+checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7"
 dependencies = [
  "heck",
  "proc-macro2",
@@ -112,9 +112,9 @@
 
 [[package]]
 name = "constcat"
-version = "0.6.0"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5ffb5df6dd5dadb422897e8132f415d7a054e3cd757e5070b663f75bea1840fb"
+checksum = "136d3e02915a2cea4d74caa8681e2d44b1c3254bdbf17d11d41d587ff858832c"
 
 [[package]]
 name = "crossbeam-deque"
@@ -158,9 +158,9 @@
 
 [[package]]
 name = "curl-sys"
-version = "0.4.78+curl-8.11.0"
+version = "0.4.80+curl-8.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8eec768341c5c7789611ae51cf6c459099f22e64a5d5d0ce4892434e33821eaf"
+checksum = "55f7df2eac63200c3ab25bde3b2268ef2ee56af3d238e76d61f01c3c49bff734"
 dependencies = [
  "cc",
  "libc",
@@ -190,9 +190,9 @@
 
 [[package]]
 name = "either"
-version = "1.13.0"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
+checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
 
 [[package]]
 name = "env_home"
@@ -202,15 +202,15 @@
 
 [[package]]
 name = "equivalent"
-version = "1.0.1"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
 
 [[package]]
 name = "errno"
-version = "0.3.10"
+version = "0.3.12"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
+checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18"
 dependencies = [
  "libc",
  "windows-sys 0.59.0",
@@ -224,11 +224,12 @@
 
 [[package]]
 name = "fmutex"
-version = "0.1.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "01e84c17070603126a7b0cd07d0ecc8e8cca4d15b67934ac2740286a84f3086c"
+checksum = "5bd990c8a95704647aeb7cc51b0ea54c5072c824894977cc8ba679459f00bc9a"
 dependencies = [
  "libc",
+ "windows-sys 0.59.0",
 ]
 
 [[package]]
@@ -242,21 +243,21 @@
 
 [[package]]
 name = "getrandom"
-version = "0.3.1"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8"
+checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
 dependencies = [
  "cfg-if",
  "libc",
+ "r-efi",
  "wasi",
- "windows-targets",
 ]
 
 [[package]]
 name = "git2"
-version = "0.20.0"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3fda788993cc341f69012feba8bf45c0ba4f3291fcc08e214b4d5a7332d88aff"
+checksum = "2deb07a133b1520dc1a5690e9bd08950108873d7ed5de38dcc74d3b5ebffa110"
 dependencies = [
  "bitflags",
  "libc",
@@ -269,9 +270,9 @@
 
 [[package]]
 name = "globset"
-version = "0.4.15"
+version = "0.4.16"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19"
+checksum = "54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5"
 dependencies = [
  "aho-corasick",
  "bstr",
@@ -308,9 +309,9 @@
 
 [[package]]
 name = "hashbrown"
-version = "0.15.2"
+version = "0.15.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
+checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3"
 
 [[package]]
 name = "heck"
@@ -368,9 +369,9 @@
 
 [[package]]
 name = "icu_locid_transform_data"
-version = "1.5.0"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
+checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d"
 
 [[package]]
 name = "icu_normalizer"
@@ -392,9 +393,9 @@
 
 [[package]]
 name = "icu_normalizer_data"
-version = "1.5.0"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
+checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7"
 
 [[package]]
 name = "icu_properties"
@@ -413,9 +414,9 @@
 
 [[package]]
 name = "icu_properties_data"
-version = "1.5.0"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
+checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2"
 
 [[package]]
 name = "icu_provider"
@@ -484,9 +485,9 @@
 
 [[package]]
 name = "indexmap"
-version = "2.7.1"
+version = "2.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652"
+checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
 dependencies = [
  "equivalent",
  "hashbrown",
@@ -505,30 +506,31 @@
 
 [[package]]
 name = "itoa"
-version = "1.0.14"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"
+checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
 
 [[package]]
 name = "jobserver"
-version = "0.1.32"
+version = "0.1.33"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0"
+checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a"
 dependencies = [
+ "getrandom",
  "libc",
 ]
 
 [[package]]
 name = "libc"
-version = "0.2.169"
+version = "0.2.172"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
+checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
 
 [[package]]
 name = "libgit2-sys"
-version = "0.18.0+1.9.0"
+version = "0.18.1+1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e1a117465e7e1597e8febea8bb0c410f1c7fb93b1e1cddf34363f8390367ffec"
+checksum = "e1dcb20f84ffcdd825c7a311ae347cce604a6f084a767dec4a4929829645290e"
 dependencies = [
  "cc",
  "libc",
@@ -554,9 +556,9 @@
 
 [[package]]
 name = "libz-sys"
-version = "1.1.21"
+version = "1.1.22"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "df9b68e50e6e0b26f672573834882eb57759f6db9b3be2ea3c35c91188bb4eaa"
+checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d"
 dependencies = [
  "cc",
  "libc",
@@ -566,21 +568,21 @@
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.15"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
+checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
 
 [[package]]
 name = "litemap"
-version = "0.7.4"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104"
+checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856"
 
 [[package]]
 name = "log"
-version = "0.4.25"
+version = "0.4.27"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
+checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
 
 [[package]]
 name = "maplit"
@@ -596,9 +598,9 @@
 
 [[package]]
 name = "once_cell"
-version = "1.20.3"
+version = "1.21.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e"
+checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
 
 [[package]]
 name = "openssl-probe"
@@ -608,18 +610,18 @@
 
 [[package]]
 name = "openssl-src"
-version = "300.4.1+3.4.0"
+version = "300.5.0+3.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c"
+checksum = "e8ce546f549326b0e6052b649198487d91320875da901e7bd11a06d1ee3f9c2f"
 dependencies = [
  "cc",
 ]
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.105"
+version = "0.9.108"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc"
+checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847"
 dependencies = [
  "cc",
  "libc",
@@ -636,9 +638,9 @@
 
 [[package]]
 name = "pkg-config"
-version = "0.3.31"
+version = "0.3.32"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
+checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
 
 [[package]]
 name = "pretty_assertions"
@@ -652,23 +654,29 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.93"
+version = "1.0.95"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
+checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.38"
+version = "1.0.40"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
+checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
+name = "r-efi"
+version = "5.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
+
+[[package]]
 name = "rayon"
 version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
@@ -713,11 +721,10 @@
 
 [[package]]
 name = "regex-macro"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "12fa36e7add16db296640bba993a65dae2a0088a8e5cd5f935c8bfbd3710145b"
+checksum = "7d306632607af6ec61c0b117971d57a96381b6317cf18ae419b5558048fe016e"
 dependencies = [
- "once_cell",
  "regex",
 ]
 
@@ -729,9 +736,9 @@
 
 [[package]]
 name = "rustix"
-version = "0.38.44"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
+checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
 dependencies = [
  "bitflags",
  "errno",
@@ -742,9 +749,9 @@
 
 [[package]]
 name = "ryu"
-version = "1.0.19"
+version = "1.0.20"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd"
+checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
 
 [[package]]
 name = "same-file"
@@ -766,18 +773,18 @@
 
 [[package]]
 name = "serde"
-version = "1.0.217"
+version = "1.0.219"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
+checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.217"
+version = "1.0.219"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
+checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -786,9 +793,9 @@
 
 [[package]]
 name = "serde_json"
-version = "1.0.138"
+version = "1.0.140"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949"
+checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
 dependencies = [
  "itoa",
  "memchr",
@@ -807,7 +814,7 @@
 
 [[package]]
 name = "sheldon"
-version = "0.8.1"
+version = "0.8.2"
 dependencies = [
  "anyhow",
  "casual",
@@ -846,15 +853,15 @@
 
 [[package]]
 name = "smallvec"
-version = "1.13.2"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9"
 
 [[package]]
 name = "socket2"
-version = "0.5.8"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8"
+checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef"
 dependencies = [
  "libc",
  "windows-sys 0.52.0",
@@ -874,9 +881,9 @@
 
 [[package]]
 name = "syn"
-version = "2.0.98"
+version = "2.0.101"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
+checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -885,9 +892,9 @@
 
 [[package]]
 name = "synstructure"
-version = "0.13.1"
+version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
+checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -896,11 +903,10 @@
 
 [[package]]
 name = "tempfile"
-version = "3.16.0"
+version = "3.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91"
+checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1"
 dependencies = [
- "cfg-if",
  "fastrand",
  "getrandom",
  "once_cell",
@@ -910,18 +916,18 @@
 
 [[package]]
 name = "thiserror"
-version = "2.0.11"
+version = "2.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc"
+checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "2.0.11"
+version = "2.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2"
+checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -940,9 +946,9 @@
 
 [[package]]
 name = "toml"
-version = "0.8.20"
+version = "0.8.22"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148"
+checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae"
 dependencies = [
  "indexmap",
  "serde",
@@ -953,31 +959,38 @@
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.8"
+version = "0.6.9"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
+checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.22.23"
+version = "0.22.26"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "02a8b472d1a3d7c18e2d61a489aee3453fd9031c33e4f55bd533f4a7adca1bee"
+checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e"
 dependencies = [
  "indexmap",
  "serde",
  "serde_spanned",
  "toml_datetime",
+ "toml_write",
  "winnow",
 ]
 
 [[package]]
+name = "toml_write"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076"
+
+[[package]]
 name = "unicode-ident"
-version = "1.0.16"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
+checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
 
 [[package]]
 name = "unicode-width"
@@ -1048,18 +1061,18 @@
 
 [[package]]
 name = "wasi"
-version = "0.13.3+wasi-0.2.2"
+version = "0.14.2+wasi-0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2"
+checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
 dependencies = [
  "wit-bindgen-rt",
 ]
 
 [[package]]
 name = "which"
-version = "7.0.2"
+version = "7.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "2774c861e1f072b3aadc02f8ba886c26ad6321567ecc294c935434cad06f1283"
+checksum = "24d643ce3fd3e5b54854602a080f34fb10ab75e0b813ee32d00ca2b44fa74762"
 dependencies = [
  "either",
  "env_home",
@@ -1160,9 +1173,9 @@
 
 [[package]]
 name = "winnow"
-version = "0.7.1"
+version = "0.7.10"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "86e376c75f4f43f44db463cf729e0d3acbf954d13e22c51e26e4c264b4ab545f"
+checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec"
 dependencies = [
  "memchr",
 ]
@@ -1175,9 +1188,9 @@
 
 [[package]]
 name = "wit-bindgen-rt"
-version = "0.33.0"
+version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c"
+checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
 dependencies = [
  "bitflags",
 ]
@@ -1226,18 +1239,18 @@
 
 [[package]]
 name = "zerofrom"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e"
+checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
 dependencies = [
  "zerofrom-derive",
 ]
 
 [[package]]
 name = "zerofrom-derive"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808"
+checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
 dependencies = [
  "proc-macro2",
  "quote",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sheldon-0.8.1/Cargo.toml new/sheldon-0.8.2/Cargo.toml
--- old/sheldon-0.8.1/Cargo.toml        2025-02-08 13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/Cargo.toml        2025-05-22 21:28:38.000000000 +0200
@@ -1,6 +1,6 @@
 [package]
 name = "sheldon"
-version = "0.8.1"
+version = "0.8.2"
 authors = ["Ross MacArthur <r...@macarthur.io>"]
 edition = "2021"
 description = "Fast, configurable, shell plugin manager."
@@ -33,7 +33,7 @@
 clap_complete = "4.4.10"
 constcat = "0.6.0"
 curl = "0.4.46"
-fmutex = "0.1.0"
+fmutex = "0.3.0"
 git2 = "0.20.0"
 globwalk = "0.9.1"
 home = "0.5.9"
@@ -41,7 +41,7 @@
 itertools = "0.14.0"
 maplit = "1.0.2"
 rayon = "1.10.0"
-regex-macro = "0.2.0"
+regex-macro = "0.3.0"
 serde = { version = "1.0.209", features = ["derive"] }
 thiserror = "2.0.11"
 toml = { version = "0.8.19", features = ["preserve_order"] }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sheldon-0.8.1/README.md new/sheldon-0.8.2/README.md
--- old/sheldon-0.8.1/README.md 2025-02-08 13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/README.md 2025-05-22 21:28:38.000000000 +0200
@@ -1,4 +1,4 @@
-<!-- Generated by cargo-onedoc. DO NOT EDIT. -->
+<!-- Generated by cargo-onedoc v0.2.2. DO NOT EDIT. -->
 
 # sheldon
 
@@ -641,9 +641,9 @@
 
 ```toml
 [templates]
-source = '''
+source = """
 {{ hooks?.pre | nl }}{% for file in files %}source "{{ file }}"
-{% endfor %}{{ hooks?.post | nl }}'''
+{% endfor %}{{ hooks?.post | nl }}"""
 PATH = 'export PATH="{{ dir }}:$PATH"'
 path = 'path=( "{{ dir }}" $path )'
 fpath = 'fpath=( "{{ dir }}" $fpath )'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sheldon-0.8.1/RELEASES.md 
new/sheldon-0.8.2/RELEASES.md
--- old/sheldon-0.8.1/RELEASES.md       2025-02-08 13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/RELEASES.md       2025-05-22 21:28:38.000000000 +0200
@@ -1,5 +1,14 @@
 # 📝 Release notes
 
+## 0.8.2
+
+*May 22nd, 2025*
+
+- [Reduce scope of file mutex][0cec413d]. This fixes [#196].
+
+[#196]: https://github.com/rossmacarthur/sheldon/issues/196
+[0cec413d]: 
https://github.com/rossmacarthur/sheldon/commit/0cec413dcd5cb584952447dd2395d5e98d57672f
+
 ## 0.8.1
 
 *February 8th, 2025*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sheldon-0.8.1/completions/sheldon.bash 
new/sheldon-0.8.2/completions/sheldon.bash
--- old/sheldon-0.8.1/completions/sheldon.bash  2025-02-08 13:58:49.000000000 
+0100
+++ new/sheldon-0.8.2/completions/sheldon.bash  2025-05-22 21:28:38.000000000 
+0200
@@ -1,12 +1,16 @@
 _sheldon() {
     local i cur prev opts cmd
     COMPREPLY=()
-    cur="${COMP_WORDS[COMP_CWORD]}"
-    prev="${COMP_WORDS[COMP_CWORD-1]}"
+    if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then
+        cur="$2"
+    else
+        cur="${COMP_WORDS[COMP_CWORD]}"
+    fi
+    prev="$3"
     cmd=""
     opts=""
 
-    for i in ${COMP_WORDS[@]}
+    for i in "${COMP_WORDS[@]:0:COMP_CWORD}"
     do
         case "${cmd},${i}" in
             ",$1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sheldon-0.8.1/docs/README_TEMPLATE.md 
new/sheldon-0.8.2/docs/README_TEMPLATE.md
--- old/sheldon-0.8.1/docs/README_TEMPLATE.md   2025-02-08 13:58:49.000000000 
+0100
+++ new/sheldon-0.8.2/docs/README_TEMPLATE.md   2025-05-22 21:28:38.000000000 
+0200
@@ -1,5 +1,3 @@
-<!-- Generated by cargo-onedoc. DO NOT EDIT. -->
-
 # sheldon
 
 *Fast, configurable, shell plugin manager*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sheldon-0.8.1/docs/src/Configuration.md 
new/sheldon-0.8.2/docs/src/Configuration.md
--- old/sheldon-0.8.1/docs/src/Configuration.md 2025-02-08 13:58:49.000000000 
+0100
+++ new/sheldon-0.8.2/docs/src/Configuration.md 2025-05-22 21:28:38.000000000 
+0200
@@ -248,9 +248,9 @@
 
 ```toml
 [templates]
-source = '''
+source = """
 {{ hooks?.pre | nl }}{% for file in files %}source "{{ file }}"
-{% endfor %}{{ hooks?.post | nl }}'''
+{% endfor %}{{ hooks?.post | nl }}"""
 PATH = 'export PATH="{{ dir }}:$PATH"'
 path = 'path=( "{{ dir }}" $path )'
 fpath = 'fpath=( "{{ dir }}" $fpath )'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sheldon-0.8.1/src/cli/raw.rs 
new/sheldon-0.8.2/src/cli/raw.rs
--- old/sheldon-0.8.1/src/cli/raw.rs    2025-02-08 13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/src/cli/raw.rs    2025-05-22 21:28:38.000000000 +0200
@@ -226,9 +226,6 @@
 fn key_value_parser(s: &str) -> Result<(String, String), String> {
     match s.split_once('=') {
         Some((k, v)) => Ok((k.to_string(), v.to_string())),
-        _ => Err(format!(
-            "{} isn't a valid key-value pair separated with =",
-            s
-        )),
+        _ => Err(format!("{s} isn't a valid key-value pair separated with =")),
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sheldon-0.8.1/src/main.rs 
new/sheldon-0.8.2/src/main.rs
--- old/sheldon-0.8.1/src/main.rs       2025-02-08 13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/src/main.rs       2025-05-22 21:28:38.000000000 +0200
@@ -40,15 +40,6 @@
 
 /// The main entry point to execute the application.
 pub fn run_command(ctx: &Context, command: Command) -> Result<()> {
-    // We always try to acquire the mutex but it is only strictly necessary for
-    // the lock and source commands.
-    let _guard = match acquire_mutex(ctx, ctx.config_dir()) {
-        Ok(g) => Some(g),
-        Err(_) if !matches!(command, Command::Lock | Command::Source) => None,
-        Err(err) => {
-            return Err(err).context("failed to acquire lock on config 
directory");
-        }
-    };
     let mut warnings = Vec::new();
     let result = match command {
         Command::Init { shell } => init(ctx, shell),
@@ -64,27 +55,11 @@
     result
 }
 
-fn acquire_mutex(ctx: &Context, path: &Path) -> Result<fmutex::Guard> {
-    match fmutex::try_lock(path).with_context(|| format!("failed to open 
`{}`", path.display()))? {
-        Some(g) => Ok(g),
-        None => {
-            ctx.log_warning(
-                "Blocking",
-                &format!(
-                    "waiting for file lock on {}",
-                    ctx.replace_home(path).display()
-                ),
-            );
-            fmutex::lock(path)
-                .with_context(|| format!("failed to acquire file lock `{}`", 
path.display()))
-        }
-    }
-}
-
 /// Executes the `init` subcommand.
 ///
 /// Initialize a new config file.
 fn init(ctx: &Context, shell: Option<Shell>) -> Result<()> {
+    let _guard = access(ctx, Access::W);
     let path = ctx.config_file();
     match path
         .metadata()
@@ -105,6 +80,7 @@
 ///
 /// Add a new plugin to the config file.
 fn add(ctx: &Context, name: String, plugin: &EditPlugin) -> Result<()> {
+    let _guard = access(ctx, Access::W);
     let path = ctx.config_file();
     let mut config = match EditConfig::from_path(path) {
         Ok(config) => {
@@ -124,6 +100,7 @@
 ///
 /// Open up the config file in the default editor.
 fn edit(ctx: &Context) -> Result<()> {
+    let _guard = access(ctx, Access::W);
     let path = ctx.config_file();
     let original_contents = match fs::read_to_string(path)
         .with_context(|| format!("failed to read from `{}`", path.display()))
@@ -152,6 +129,7 @@
 ///
 /// Remove a plugin from the config file.
 fn remove(ctx: &Context, name: String) -> Result<()> {
+    let _guard = access(ctx, Access::W);
     let path = ctx.config_file();
     let mut config = EditConfig::from_path(path)?;
     ctx.log_header("Loaded", path);
@@ -191,6 +169,8 @@
 ///
 /// Install the plugins sources and generate the lock file.
 fn lock(ctx: &Context, warnings: &mut Vec<Error>) -> Result<()> {
+    let _guard = access(ctx, Access::W);
+
     let mut locked = locked(ctx, warnings)?;
 
     if let Some(last) = locked.errors.pop() {
@@ -216,36 +196,49 @@
     let mut to_path = true;
 
     let locked_config = if ctx.lock_mode.is_some() || newer_than(config_path, 
lock_path) {
+        let _g = access(ctx, Access::W)?;
         locked(ctx, warnings)?
     } else {
-        match lock::from_path(lock_path) {
+        let cfg = {
+            let _g = access(ctx, Access::R)?;
+            lock::from_path(lock_path)
+        };
+        match cfg {
             Ok(locked_config) => {
                 if locked_config.verify(ctx) {
                     to_path = false;
                     ctx.log_verbose_header("Unlocked", lock_path);
                     locked_config
                 } else {
+                    let _g = access(ctx, Access::W)?;
                     locked(ctx, warnings)?
                 }
             }
-            Err(_) => locked(ctx, warnings)?,
+            Err(_) => {
+                let _g = access(ctx, Access::W)?;
+                locked(ctx, warnings)?
+            }
         }
     };
 
-    let script = locked_config
-        .script(ctx)
-        .context("failed to render source")?;
-
-    if to_path && locked_config.errors.is_empty() {
-        locked_config
-            .to_path(lock_path)
-            .context("failed to write lock file")?;
-        ctx.log_header("Locked", lock_path);
-    } else {
-        for err in &locked_config.errors {
-            ctx.log_error(err);
+    let script = {
+        let _g = access(ctx, Access::R)?;
+        let script = locked_config
+            .script(ctx)
+            .context("failed to render source")?;
+
+        if to_path && locked_config.errors.is_empty() {
+            locked_config
+                .to_path(lock_path)
+                .context("failed to write lock file")?;
+            ctx.log_header("Locked", lock_path);
+        } else {
+            for err in &locked_config.errors {
+                ctx.log_error(err);
+            }
         }
-    }
+        script
+    };
 
     print!("{script}");
     Ok(())
@@ -269,3 +262,56 @@
     config::clean(ctx, warnings, &config)?;
     lock::config(ctx, config)
 }
+
+#[derive(Debug, Clone, Copy)]
+enum Access {
+    R,
+    W,
+}
+
+fn access(ctx: &Context, mode: Access) -> Result<fmutex::Guard<'static>> {
+    match mode {
+        Access::R => lock_read(ctx).context("failed to acquire exclusive lock 
on config directory"),
+        Access::W => lock_write(ctx).context("failed to acquire shared lock on 
config directory"),
+    }
+}
+
+fn lock_write(ctx: &Context) -> Result<fmutex::Guard<'static>> {
+    let path = ctx.config_dir();
+    match fmutex::try_lock_exclusive_path(path)
+        .with_context(|| format!("failed to open `{}`", path.display()))?
+    {
+        Some(g) => Ok(g),
+        None => {
+            ctx.log_warning(
+                "Blocking",
+                &format!(
+                    "waiting for file lock on {}",
+                    ctx.replace_home(path).display()
+                ),
+            );
+            fmutex::lock_exclusive_path(path)
+                .with_context(|| format!("failed to acquire file lock `{}`", 
path.display()))
+        }
+    }
+}
+
+fn lock_read(ctx: &Context) -> Result<fmutex::Guard<'static>> {
+    let path = ctx.config_dir();
+    match fmutex::try_lock_shared_path(path)
+        .with_context(|| format!("failed to open `{}`", path.display()))?
+    {
+        Some(g) => Ok(g),
+        None => {
+            ctx.log_warning(
+                "Blocking",
+                &format!(
+                    "waiting for file lock on {}",
+                    ctx.replace_home(path).display()
+                ),
+            );
+            fmutex::lock_shared_path(path)
+                .with_context(|| format!("failed to acquire file lock `{}`", 
path.display()))
+        }
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sheldon-0.8.1/tests/testdata/directories_default/plugins.lock 
new/sheldon-0.8.2/tests/testdata/directories_default/plugins.lock
--- old/sheldon-0.8.1/tests/testdata/directories_default/plugins.lock   
2025-02-08 13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/tests/testdata/directories_default/plugins.lock   
2025-05-22 21:28:38.000000000 +0200
@@ -24,6 +24,6 @@
 PATH = 'export PATH="{{ dir }}:$PATH"'
 path = 'path=( "{{ dir }}" $path )'
 fpath = 'fpath=( "{{ dir }}" $fpath )'
-source = '''
+source = """
 {{ hooks?.pre | nl }}{% for file in files %}source "{{ file }}"
-{% endfor %}{{ hooks?.post | nl }}'''
+{% endfor %}{{ hooks?.post | nl }}"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sheldon-0.8.1/tests/testdata/directories_xdg_from_env/plugins.lock 
new/sheldon-0.8.2/tests/testdata/directories_xdg_from_env/plugins.lock
--- old/sheldon-0.8.1/tests/testdata/directories_xdg_from_env/plugins.lock      
2025-02-08 13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/tests/testdata/directories_xdg_from_env/plugins.lock      
2025-05-22 21:28:38.000000000 +0200
@@ -24,6 +24,6 @@
 PATH = 'export PATH="{{ dir }}:$PATH"'
 path = 'path=( "{{ dir }}" $path )'
 fpath = 'fpath=( "{{ dir }}" $fpath )'
-source = '''
+source = """
 {{ hooks?.pre | nl }}{% for file in files %}source "{{ file }}"
-{% endfor %}{{ hooks?.post | nl }}'''
+{% endfor %}{{ hooks?.post | nl }}"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sheldon-0.8.1/tests/testdata/github_bad_reinstall/plugins.lock 
new/sheldon-0.8.2/tests/testdata/github_bad_reinstall/plugins.lock
--- old/sheldon-0.8.1/tests/testdata/github_bad_reinstall/plugins.lock  
2025-02-08 13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/tests/testdata/github_bad_reinstall/plugins.lock  
2025-05-22 21:28:38.000000000 +0200
@@ -16,6 +16,6 @@
 PATH = 'export PATH="{{ dir }}:$PATH"'
 path = 'path=( "{{ dir }}" $path )'
 fpath = 'fpath=( "{{ dir }}" $fpath )'
-source = '''
+source = """
 {{ hooks?.pre | nl }}{% for file in files %}source "{{ file }}"
-{% endfor %}{{ hooks?.post | nl }}'''
+{% endfor %}{{ hooks?.post | nl }}"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sheldon-0.8.1/tests/testdata/github_branch/plugins.lock 
new/sheldon-0.8.2/tests/testdata/github_branch/plugins.lock
--- old/sheldon-0.8.1/tests/testdata/github_branch/plugins.lock 2025-02-08 
13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/tests/testdata/github_branch/plugins.lock 2025-05-22 
21:28:38.000000000 +0200
@@ -16,6 +16,6 @@
 PATH = 'export PATH="{{ dir }}:$PATH"'
 path = 'path=( "{{ dir }}" $path )'
 fpath = 'fpath=( "{{ dir }}" $fpath )'
-source = '''
+source = """
 {{ hooks?.pre | nl }}{% for file in files %}source "{{ file }}"
-{% endfor %}{{ hooks?.post | nl }}'''
+{% endfor %}{{ hooks?.post | nl }}"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sheldon-0.8.1/tests/testdata/github_https/plugins.lock 
new/sheldon-0.8.2/tests/testdata/github_https/plugins.lock
--- old/sheldon-0.8.1/tests/testdata/github_https/plugins.lock  2025-02-08 
13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/tests/testdata/github_https/plugins.lock  2025-05-22 
21:28:38.000000000 +0200
@@ -16,6 +16,6 @@
 PATH = 'export PATH="{{ dir }}:$PATH"'
 path = 'path=( "{{ dir }}" $path )'
 fpath = 'fpath=( "{{ dir }}" $fpath )'
-source = '''
+source = """
 {{ hooks?.pre | nl }}{% for file in files %}source "{{ file }}"
-{% endfor %}{{ hooks?.post | nl }}'''
+{% endfor %}{{ hooks?.post | nl }}"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sheldon-0.8.1/tests/testdata/github_submodule/plugins.lock 
new/sheldon-0.8.2/tests/testdata/github_submodule/plugins.lock
--- old/sheldon-0.8.1/tests/testdata/github_submodule/plugins.lock      
2025-02-08 13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/tests/testdata/github_submodule/plugins.lock      
2025-05-22 21:28:38.000000000 +0200
@@ -17,6 +17,6 @@
 PATH = 'export PATH="{{ dir }}:$PATH"'
 path = 'path=( "{{ dir }}" $path )'
 fpath = 'fpath=( "{{ dir }}" $fpath )'
-source = '''
+source = """
 {{ hooks?.pre | nl }}{% for file in files %}source "{{ file }}"
-{% endfor %}{{ hooks?.post | nl }}'''
+{% endfor %}{{ hooks?.post | nl }}"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sheldon-0.8.1/tests/testdata/github_tag/plugins.lock 
new/sheldon-0.8.2/tests/testdata/github_tag/plugins.lock
--- old/sheldon-0.8.1/tests/testdata/github_tag/plugins.lock    2025-02-08 
13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/tests/testdata/github_tag/plugins.lock    2025-05-22 
21:28:38.000000000 +0200
@@ -16,6 +16,6 @@
 PATH = 'export PATH="{{ dir }}:$PATH"'
 path = 'path=( "{{ dir }}" $path )'
 fpath = 'fpath=( "{{ dir }}" $fpath )'
-source = '''
+source = """
 {{ hooks?.pre | nl }}{% for file in files %}source "{{ file }}"
-{% endfor %}{{ hooks?.post | nl }}'''
+{% endfor %}{{ hooks?.post | nl }}"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sheldon-0.8.1/tests/testdata/hooks/plugins.lock 
new/sheldon-0.8.2/tests/testdata/hooks/plugins.lock
--- old/sheldon-0.8.1/tests/testdata/hooks/plugins.lock 2025-02-08 
13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/tests/testdata/hooks/plugins.lock 2025-05-22 
21:28:38.000000000 +0200
@@ -26,6 +26,6 @@
 PATH = 'export PATH="{{ dir }}:$PATH"'
 path = 'path=( "{{ dir }}" $path )'
 fpath = 'fpath=( "{{ dir }}" $fpath )'
-source = '''
+source = """
 {{ hooks?.pre | nl }}{% for file in files %}source "{{ file }}"
-{% endfor %}{{ hooks?.post | nl }}'''
+{% endfor %}{{ hooks?.post | nl }}"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sheldon-0.8.1/tests/testdata/inline/plugins.lock 
new/sheldon-0.8.2/tests/testdata/inline/plugins.lock
--- old/sheldon-0.8.1/tests/testdata/inline/plugins.lock        2025-02-08 
13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/tests/testdata/inline/plugins.lock        2025-05-22 
21:28:38.000000000 +0200
@@ -20,6 +20,6 @@
 PATH = 'export PATH="{{ dir }}:$PATH"'
 path = 'path=( "{{ dir }}" $path )'
 fpath = 'fpath=( "{{ dir }}" $fpath )'
-source = '''
+source = """
 {{ hooks?.pre | nl }}{% for file in files %}source "{{ file }}"
-{% endfor %}{{ hooks?.post | nl }}'''
+{% endfor %}{{ hooks?.post | nl }}"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sheldon-0.8.1/tests/testdata/profiles/plugins.p1.lock 
new/sheldon-0.8.2/tests/testdata/profiles/plugins.p1.lock
--- old/sheldon-0.8.1/tests/testdata/profiles/plugins.p1.lock   2025-02-08 
13:58:49.000000000 +0100
+++ new/sheldon-0.8.2/tests/testdata/profiles/plugins.p1.lock   2025-05-22 
21:28:38.000000000 +0200
@@ -22,6 +22,6 @@
 PATH = 'export PATH="{{ dir }}:$PATH"'
 path = 'path=( "{{ dir }}" $path )'
 fpath = 'fpath=( "{{ dir }}" $fpath )'
-source = '''
+source = """
 {{ hooks?.pre | nl }}{% for file in files %}source "{{ file }}"
-{% endfor %}{{ hooks?.post | nl }}'''
+{% endfor %}{{ hooks?.post | nl }}"""

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

Reply via email to