Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package just for openSUSE:Factory checked in at 2026-08-09 21:42:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/just (Old) and /work/SRC/openSUSE:Factory/.just.new.16738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "just" Sun Aug 9 21:42:00 2026 rev:45 rq:1370266 version:1.58.0 Changes: -------- --- /work/SRC/openSUSE:Factory/just/just.changes 2026-07-31 16:08:21.290615477 +0200 +++ /work/SRC/openSUSE:Factory/.just.new.16738/just.changes 2026-08-09 21:44:41.277397413 +0200 @@ -1,0 +2,10 @@ +Fri Aug 7 18:44:42 UTC 2026 - Richard Rahl <[email protected]> + +- Update to version 1.58.0: + + Surround interoplation expressions with spaces when formatting + + Accept multiple ,-separated values in --justfile-name + + Add format argument to [timestamp] attribute + + Add [timestamp] recipe attribute + + Note that no-cd only affects recipe working directory + +------------------------------------------------------------------- Old: ---- just-1.57.0.obscpio New: ---- just-1.58.0.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ just.spec ++++++ --- /var/tmp/diff_new_pack.G8yqv8/_old 2026-08-09 21:44:42.609442882 +0200 +++ /var/tmp/diff_new_pack.G8yqv8/_new 2026-08-09 21:44:42.613443019 +0200 @@ -17,7 +17,7 @@ Name: just -Version: 1.57.0 +Version: 1.58.0 Release: 0 Summary: Commmand runner License: (Apache-2.0 OR MIT) AND Unicode-DFS-2016 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT) AND (MIT OR Unlicense) AND Apache-2.0 AND BSD-3-Clause AND CC0-1.0 AND MIT AND CC0-1.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.G8yqv8/_old 2026-08-09 21:44:42.653444384 +0200 +++ /var/tmp/diff_new_pack.G8yqv8/_new 2026-08-09 21:44:42.657444520 +0200 @@ -2,7 +2,7 @@ <service name="obs_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://github.com/casey/just.git</param> - <param name="revision">refs/tags/1.57.0</param> + <param name="revision">refs/tags/1.58.0</param> <param name="versionformat">@PARENT_TAG@</param> <param name="package-meta">yes</param> </service> ++++++ just-1.57.0.obscpio -> just-1.58.0.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/.git/HEAD new/just-1.58.0/.git/HEAD --- old/just-1.57.0/.git/HEAD 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/.git/HEAD 2026-08-03 22:28:37.000000000 +0200 @@ -1 +1 @@ -e01a6bd7e7a30baf86bc86d2b95b0998ebbdc36f +7f4ef81bd6a93faa2b28430912c8e9ab0e3dd29a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/.git/ORIG_HEAD new/just-1.58.0/.git/ORIG_HEAD --- old/just-1.57.0/.git/ORIG_HEAD 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/.git/ORIG_HEAD 2026-08-03 22:28:37.000000000 +0200 @@ -1 +1 @@ -e01a6bd7e7a30baf86bc86d2b95b0998ebbdc36f +7f4ef81bd6a93faa2b28430912c8e9ab0e3dd29a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/.git/config new/just-1.58.0/.git/config --- old/just-1.57.0/.git/config 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/.git/config 2026-08-03 22:28:37.000000000 +0200 @@ -1,11 +1,15 @@ [core] - repositoryformatversion = 0 + repositoryformatversion = 1 filemode = true bare = false logallrefupdates = true [remote "origin"] url = https://github.com/casey/just.git fetch = +refs/heads/*:refs/remotes/origin/* + promisor = true + partialclonefilter = tree:0 [branch "master"] remote = origin merge = refs/heads/master +[extensions] + partialClone = origin diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/.git/hooks/commit-msg.sample new/just-1.58.0/.git/hooks/commit-msg.sample --- old/just-1.57.0/.git/hooks/commit-msg.sample 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/.git/hooks/commit-msg.sample 2026-08-03 22:28:37.000000000 +0200 @@ -15,60 +15,10 @@ # SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') # grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" -# This example catches duplicate Signed-off-by lines and messages that -# would confuse 'git am'. - -ret=0 +# This example catches duplicate Signed-off-by lines. test "" = "$(grep '^Signed-off-by: ' "$1" | sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { echo >&2 Duplicate Signed-off-by lines. - ret=1 + exit 1 } - -comment_re="$( - { - git config --get-regexp "^core\.comment(char|string)\$" || - echo '#' - } | sed -n -e ' - ${ - s/^[^ ]* // - s|[][*./\]|\\&|g - s/^auto$/[#;@!$%^&|:]/ - p - }' -)" -scissors_line="^${comment_re} -\{8,\} >8 -\{8,\}\$" -comment_line="^${comment_re}.*" -blank_line='^[ ]*$' -# Disallow lines starting with "diff -" or "Index: " in the body of the -# message. Stop looking if we see a scissors line. -line="$(sed -n -e " - # Skip comments and blank lines at the start of the file. - /${scissors_line}/q - /${comment_line}/d - /${blank_line}/d - # The first paragraph will become the subject header so - # does not need to be checked. - : subject - n - /${scissors_line}/q - /${blank_line}/!b subject - # Check the body of the message for problematic - # prefixes. - : body - n - /${scissors_line}/q - /${comment_line}/b body - /^diff -/{p;q;} - /^Index: /{p;q;} - b body - " "$1")" -if test -n "$line" -then - echo >&2 "Message contains a diff that will confuse 'git am'." - echo >&2 "To fix this indent the diff." - ret=1 -fi - -exit $ret diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/.git/hooks/fsmonitor-watchman.sample new/just-1.58.0/.git/hooks/fsmonitor-watchman.sample --- old/just-1.57.0/.git/hooks/fsmonitor-watchman.sample 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/.git/hooks/fsmonitor-watchman.sample 2026-08-03 22:28:37.000000000 +0200 @@ -29,6 +29,8 @@ my $git_work_tree = get_working_dir(); +my $retry = 1; + my $json_pkg; eval { require JSON::XS; @@ -121,7 +123,8 @@ sub is_work_tree_watched { my ($output) = @_; my $error = $output->{error}; - if ($error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; my $response = qx/watchman watch "$git_work_tree"/; die "Failed to make watchman watch '$git_work_tree'.\n" . "Falling back to scanning...\n" if $? != 0; @@ -139,12 +142,15 @@ # Watchman query just to get it over with now so we won't pay # the cost in git to look up each individual file. my $o = watchman_clock(); - $error = $o->{error}; + $error = $output->{error}; die "Watchman: $error.\n" . "Falling back to scanning...\n" if $error; output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; return 0; } Binary files old/just-1.57.0/.git/index and new/just-1.58.0/.git/index differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/.git/logs/HEAD new/just-1.58.0/.git/logs/HEAD --- old/just-1.57.0/.git/logs/HEAD 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/.git/logs/HEAD 2026-08-03 22:28:37.000000000 +0200 @@ -1,2 +1,2 @@ -0000000000000000000000000000000000000000 13bf03f642f4cec7799c19f1f8f039e1cb3b095d Kyle Scheuing <kyle@kyle-desktop.(none)> 1785307867 -0400 clone: from https://github.com/casey/just.git -13bf03f642f4cec7799c19f1f8f039e1cb3b095d e01a6bd7e7a30baf86bc86d2b95b0998ebbdc36f Kyle Scheuing <kyle@kyle-desktop.(none)> 1785307867 -0400 checkout: moving from master to refs/tags/1.57.0 +0000000000000000000000000000000000000000 4f41f609278edb6f1024e3dd7a9912946e1e7bc3 Richard Rahl <[email protected]> 1786128198 +0200 clone: from https://github.com/casey/just.git +4f41f609278edb6f1024e3dd7a9912946e1e7bc3 7f4ef81bd6a93faa2b28430912c8e9ab0e3dd29a Richard Rahl <[email protected]> 1786128206 +0200 checkout: moving from master to refs/tags/1.58.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/.git/logs/refs/heads/master new/just-1.58.0/.git/logs/refs/heads/master --- old/just-1.57.0/.git/logs/refs/heads/master 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/.git/logs/refs/heads/master 2026-08-03 22:28:37.000000000 +0200 @@ -1 +1 @@ -0000000000000000000000000000000000000000 13bf03f642f4cec7799c19f1f8f039e1cb3b095d Kyle Scheuing <kyle@kyle-desktop.(none)> 1785307867 -0400 clone: from https://github.com/casey/just.git +0000000000000000000000000000000000000000 4f41f609278edb6f1024e3dd7a9912946e1e7bc3 Richard Rahl <[email protected]> 1786128198 +0200 clone: from https://github.com/casey/just.git diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/.git/logs/refs/remotes/origin/HEAD new/just-1.58.0/.git/logs/refs/remotes/origin/HEAD --- old/just-1.57.0/.git/logs/refs/remotes/origin/HEAD 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/.git/logs/refs/remotes/origin/HEAD 2026-08-03 22:28:37.000000000 +0200 @@ -1 +1 @@ -0000000000000000000000000000000000000000 13bf03f642f4cec7799c19f1f8f039e1cb3b095d Kyle Scheuing <kyle@kyle-desktop.(none)> 1785307867 -0400 clone: from https://github.com/casey/just.git +0000000000000000000000000000000000000000 4f41f609278edb6f1024e3dd7a9912946e1e7bc3 Richard Rahl <[email protected]> 1786128198 +0200 clone: from https://github.com/casey/just.git Binary files old/just-1.57.0/.git/objects/pack/pack-39fecc9681a730e74daf3cdabc7f67b9baaa2733.idx and new/just-1.58.0/.git/objects/pack/pack-39fecc9681a730e74daf3cdabc7f67b9baaa2733.idx differ Binary files old/just-1.57.0/.git/objects/pack/pack-39fecc9681a730e74daf3cdabc7f67b9baaa2733.pack and new/just-1.58.0/.git/objects/pack/pack-39fecc9681a730e74daf3cdabc7f67b9baaa2733.pack differ Binary files old/just-1.57.0/.git/objects/pack/pack-39fecc9681a730e74daf3cdabc7f67b9baaa2733.rev and new/just-1.58.0/.git/objects/pack/pack-39fecc9681a730e74daf3cdabc7f67b9baaa2733.rev differ Binary files old/just-1.57.0/.git/objects/pack/pack-6051e8b25afcd1a6299c4b1103257c481a9140d7.idx and new/just-1.58.0/.git/objects/pack/pack-6051e8b25afcd1a6299c4b1103257c481a9140d7.idx differ Binary files old/just-1.57.0/.git/objects/pack/pack-6051e8b25afcd1a6299c4b1103257c481a9140d7.pack and new/just-1.58.0/.git/objects/pack/pack-6051e8b25afcd1a6299c4b1103257c481a9140d7.pack differ Binary files old/just-1.57.0/.git/objects/pack/pack-6051e8b25afcd1a6299c4b1103257c481a9140d7.rev and new/just-1.58.0/.git/objects/pack/pack-6051e8b25afcd1a6299c4b1103257c481a9140d7.rev differ Binary files old/just-1.57.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.idx and new/just-1.58.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.idx differ Binary files old/just-1.57.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.pack and new/just-1.58.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.pack differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.promisor new/just-1.58.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.promisor --- old/just-1.57.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.promisor 1970-01-01 01:00:00.000000000 +0100 +++ new/just-1.58.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.promisor 2026-08-03 22:28:37.000000000 +0200 @@ -0,0 +1,317 @@ +02478667669751810b350b0eece99f06e58f4256 02478667669751810b350b0eece99f06e58f4256 +0315345aa14043ea9ad8dd309a3d76ef49d00d77 0315345aa14043ea9ad8dd309a3d76ef49d00d77 +034df107cb2000b5a287d7a9e39972967f83e39a 034df107cb2000b5a287d7a9e39972967f83e39a +05ee83cea19eafbea1c7f9f034edb016b77bbe04 05ee83cea19eafbea1c7f9f034edb016b77bbe04 +0854d0bc1aaf6244212bfa27892751ea128df0e0 0854d0bc1aaf6244212bfa27892751ea128df0e0 +089aa2ae0621dc3a4747275f99a9d4351292ddcc 089aa2ae0621dc3a4747275f99a9d4351292ddcc +0b02aa227e375c9fe6c0fedfcbc87af6d33280fd 0b02aa227e375c9fe6c0fedfcbc87af6d33280fd +0b57f453b3fb82c5b9a4ef61cc37f9315b7d68dc 0b57f453b3fb82c5b9a4ef61cc37f9315b7d68dc +0b627867bf8b4baa0e7275e35501c6c78458bc15 0b627867bf8b4baa0e7275e35501c6c78458bc15 +0c6eadd938088452d79d76ef0d9f5cd7fd3ac609 0c6eadd938088452d79d76ef0d9f5cd7fd3ac609 +0e259d42c996742e9e3cba14c677129b2c1b6311 0e259d42c996742e9e3cba14c677129b2c1b6311 +0ec36eff79a80393d3e5e31472908e24dbadda2a 0ec36eff79a80393d3e5e31472908e24dbadda2a +0f646ce4746bda2538920c66ccaca37a5cf00ab5 0f646ce4746bda2538920c66ccaca37a5cf00ab5 +0fb666ae485cb85b20189bd9b68c273114a0947b 0fb666ae485cb85b20189bd9b68c273114a0947b +1058888c5ea9d371d28b5f866bffdecb85bdb0d2 1058888c5ea9d371d28b5f866bffdecb85bdb0d2 +12fd10fca82e1e60fdc0d313bb2ab3ebd58d8e50 12fd10fca82e1e60fdc0d313bb2ab3ebd58d8e50 +13523c4a73a1083166a89b50b853f39761ef0ea4 13523c4a73a1083166a89b50b853f39761ef0ea4 +13a7637217cfef3199d7886d6d902140dc51a3fd 13a7637217cfef3199d7886d6d902140dc51a3fd +143af509d0b4e1cbdd32921a85f9c011dae24bc7 143af509d0b4e1cbdd32921a85f9c011dae24bc7 +149037afb1bf6d63851ecd956ab86235d04ddc00 149037afb1bf6d63851ecd956ab86235d04ddc00 +161afa349235dcd860f7509e73a8e056c8b58106 161afa349235dcd860f7509e73a8e056c8b58106 +186110262c807133b92ebda013c63db84be57591 186110262c807133b92ebda013c63db84be57591 +1983e477e3fadfb35d84f84963922a9eecfe4af8 1983e477e3fadfb35d84f84963922a9eecfe4af8 +1a02fb2e80e246d8f7cd9b881409e906888cfcf4 1a02fb2e80e246d8f7cd9b881409e906888cfcf4 +1a3bd2beebf437bea67d0994cda6566160513338 1a3bd2beebf437bea67d0994cda6566160513338 +1af0d95b548fe80c284c8d201cbffd370c258172 1af0d95b548fe80c284c8d201cbffd370c258172 +1b94c9ec7ddcd6cbe73bc0533edcf129c109bb1c 1b94c9ec7ddcd6cbe73bc0533edcf129c109bb1c +1b9ea12d25d02207b99b053eb15f071e575f20ec 1b9ea12d25d02207b99b053eb15f071e575f20ec +1c1b74c56abda9755163ef8561b470812f472b15 1c1b74c56abda9755163ef8561b470812f472b15 +1cf2cf4e294c5c79fe59f6aab19a85f5af11a634 1cf2cf4e294c5c79fe59f6aab19a85f5af11a634 +1d3b6f4b55af0071de9bf173c171313be4a64c31 1d3b6f4b55af0071de9bf173c171313be4a64c31 +1e7ef9ab003bebef0bfc055b0e9dea5f63e61652 1e7ef9ab003bebef0bfc055b0e9dea5f63e61652 +1ee19ea0c3e6a0b61d39cc695bd7324737fbbf03 1ee19ea0c3e6a0b61d39cc695bd7324737fbbf03 +1f4ac5a3cff0ac04e6a804dcb4c8941c37fcbaf0 1f4ac5a3cff0ac04e6a804dcb4c8941c37fcbaf0 +2020fa8bdb606eda23435d6b3ed4ac3965429fae 2020fa8bdb606eda23435d6b3ed4ac3965429fae +208582fb273ae044501d75a29d649ba9060f0a14 208582fb273ae044501d75a29d649ba9060f0a14 +20e24bf64e6e2afa86296c666731eaafaac9920a 20e24bf64e6e2afa86296c666731eaafaac9920a +229850408c50ff5e8d9575c2076f218a0bcc254d 229850408c50ff5e8d9575c2076f218a0bcc254d +22d80cac4711b927a127dab950611e495d43f766 22d80cac4711b927a127dab950611e495d43f766 +2379de58c337d5631d1628f2a5252c64d0ba1549 2379de58c337d5631d1628f2a5252c64d0ba1549 +250779087d40d06cc7ab373a636de625f1ba29aa 250779087d40d06cc7ab373a636de625f1ba29aa +25366218054d7f60c2d6a009a184264fb1b90714 25366218054d7f60c2d6a009a184264fb1b90714 +26d239f0e5f6fd037f5e8b4adf60940bd26c61e0 26d239f0e5f6fd037f5e8b4adf60940bd26c61e0 +26fcf6ca0250c6aec501fe127e0d7ef841494d96 26fcf6ca0250c6aec501fe127e0d7ef841494d96 +28945322e9835ea00797d582ea2c544cdc67091a 28945322e9835ea00797d582ea2c544cdc67091a +28bc619a26d4b1272e4db27b125256bec532a12e 28bc619a26d4b1272e4db27b125256bec532a12e +2986cbed7bdb4c50ffc6c9c0f064d539df879f0d 2986cbed7bdb4c50ffc6c9c0f064d539df879f0d +29bbd4aa807c95aee87b3e95ff0de29970163d57 29bbd4aa807c95aee87b3e95ff0de29970163d57 +2a686ec2056d736478a813851ac284b440f196c8 2a686ec2056d736478a813851ac284b440f196c8 +2a6b3270635dd13ec6aea1c623fab0cc1b712352 2a6b3270635dd13ec6aea1c623fab0cc1b712352 +2ae0d56ee73d7bd9d0070952a4fead32a3e1d400 2ae0d56ee73d7bd9d0070952a4fead32a3e1d400 +2af6ff96d290cc745c97a9825a1131da7d5935cf 2af6ff96d290cc745c97a9825a1131da7d5935cf +2b62791837fbc7c4b35b73adcd8c090c409044ac 2b62791837fbc7c4b35b73adcd8c090c409044ac +2baa0fd13a11d8733312bce9e48bb7adf3513582 2baa0fd13a11d8733312bce9e48bb7adf3513582 +2f3db89f3f60e170d584d111a919ddac9783bdd6 2f3db89f3f60e170d584d111a919ddac9783bdd6 +3004cb8efab5032285f44384b6eda8117732f63d 3004cb8efab5032285f44384b6eda8117732f63d +3023eeb2b956451b7633e2d518e65c6fb94a3202 3023eeb2b956451b7633e2d518e65c6fb94a3202 +307f37954f3db08b756d1918d8364fa96a9f0c49 307f37954f3db08b756d1918d8364fa96a9f0c49 +30e288cd51e998db701b17dd04c5d4113a7dbb42 30e288cd51e998db701b17dd04c5d4113a7dbb42 +314390fe635beb5990f464f998da311471f6175f 314390fe635beb5990f464f998da311471f6175f +314b131b613ccb3e2f7cba17771312fbb9586e41 314b131b613ccb3e2f7cba17771312fbb9586e41 +315bcf211326ebfb456aaf1d77a30ecdd654136a 315bcf211326ebfb456aaf1d77a30ecdd654136a +321524652d38408e47e0e1cd72731f7ddacffb6d 321524652d38408e47e0e1cd72731f7ddacffb6d +323e34432870225aa169dce406ec62bd57d19e5d 323e34432870225aa169dce406ec62bd57d19e5d +3278a43ffe99184dd064b60548f3cf8de0e860b6 3278a43ffe99184dd064b60548f3cf8de0e860b6 +335e59c46ba0ebedfbe2dadf995b3712a23200ee 335e59c46ba0ebedfbe2dadf995b3712a23200ee +33a0d16e567365580503041090125f682e62a170 33a0d16e567365580503041090125f682e62a170 +34bed200845a5a8a5fff2c79631036cb5ffdc14f 34bed200845a5a8a5fff2c79631036cb5ffdc14f +3708225b1d72f212ce174de4b473e7d43750dca9 3708225b1d72f212ce174de4b473e7d43750dca9 +375d56ab16c683836809c84956c6d817779ec5a4 375d56ab16c683836809c84956c6d817779ec5a4 +37a6752f87aa78db7d64590af1957020e15d2e25 37a6752f87aa78db7d64590af1957020e15d2e25 +37b3af2257fcfe352abc827a44dfb1f0bedd4ada 37b3af2257fcfe352abc827a44dfb1f0bedd4ada +37da8a02787b2369f1f3f0c971153e2c4e1d6e14 37da8a02787b2369f1f3f0c971153e2c4e1d6e14 +38afd26ea13f1c469559da5e42a0a2259547bff4 38afd26ea13f1c469559da5e42a0a2259547bff4 +3ed1677bf93b570facda172355d7a13a237e99c0 3ed1677bf93b570facda172355d7a13a237e99c0 +41036c7e185d364c8f980160859ead22effcbecc 41036c7e185d364c8f980160859ead22effcbecc +41b03a57494dcfe34b733276d45c3bb3b288e4c1 41b03a57494dcfe34b733276d45c3bb3b288e4c1 +4257614e75bc5ac39a33e83e9ffa6c4ab9be7120 4257614e75bc5ac39a33e83e9ffa6c4ab9be7120 +4263d4fe3ef4327642472beb24ce7e6621179950 4263d4fe3ef4327642472beb24ce7e6621179950 +434fe117235224432c17d11b19b054e4275cdcf7 434fe117235224432c17d11b19b054e4275cdcf7 +43d7e08b9dbf873feed6a6f64c15ac4db2c19129 43d7e08b9dbf873feed6a6f64c15ac4db2c19129 +443a5a97a4d8fb6a25e7fe2a8a53565351790b7d 443a5a97a4d8fb6a25e7fe2a8a53565351790b7d +4617d418daa2c6091413c208ffed29b02d2714c0 4617d418daa2c6091413c208ffed29b02d2714c0 +46d0e6aab5481b0a2978c37cac32f55a279ed9c8 46d0e6aab5481b0a2978c37cac32f55a279ed9c8 +46ed22167b20fd7446404658124108e93a309fca 46ed22167b20fd7446404658124108e93a309fca +47c3efdc56fa7b20bb49ddd56b400a1c60789ff9 47c3efdc56fa7b20bb49ddd56b400a1c60789ff9 +4922ca07649be29bca0a8dd18d9331f6c52f6ff3 4922ca07649be29bca0a8dd18d9331f6c52f6ff3 +4932c661a043b24dfdc4c93fb6d00bfc4872172b 4932c661a043b24dfdc4c93fb6d00bfc4872172b +4a879f2ed0b024ea9400f1a0aad7f9bf3023ded0 4a879f2ed0b024ea9400f1a0aad7f9bf3023ded0 +4b4fedec2fa4ac130cf453acc7d738355ee915ca 4b4fedec2fa4ac130cf453acc7d738355ee915ca +4be7af21f8dc9df63f5e6600937a4fb485d28aeb 4be7af21f8dc9df63f5e6600937a4fb485d28aeb +4c30c4efa15179778f64609f89535a7b1e6e13a9 4c30c4efa15179778f64609f89535a7b1e6e13a9 +4c7fe0865f2cd3dcdaad0ac9402d4539432efb03 4c7fe0865f2cd3dcdaad0ac9402d4539432efb03 +4db890ab335760a9ed1bee18b711e71375495a9f 4db890ab335760a9ed1bee18b711e71375495a9f +4de44eb6c6720a81c61f84e8d77678c75ee5afcc 4de44eb6c6720a81c61f84e8d77678c75ee5afcc +4e7b4abfa77edd613fc15fa9902e783f9ab05ca3 4e7b4abfa77edd613fc15fa9902e783f9ab05ca3 +4efc458457874dc036b3937f666280509c88001e 4efc458457874dc036b3937f666280509c88001e +4ffe745352d724c68c7f048ba79df06afe743275 4ffe745352d724c68c7f048ba79df06afe743275 +51dff9bf962759d03f0d285c1c2643f36df70fe0 51dff9bf962759d03f0d285c1c2643f36df70fe0 +524450085b4c712888305a91f0e9209cc717f918 524450085b4c712888305a91f0e9209cc717f918 +52cc5d208fa53d13d94caa8085c108a45afaceda 52cc5d208fa53d13d94caa8085c108a45afaceda +530af10b93a219e7ad73e79de31980e7112cab43 530af10b93a219e7ad73e79de31980e7112cab43 +53b8909db88399f6485f523fc37041614f798e12 53b8909db88399f6485f523fc37041614f798e12 +53edd01245f379c5f1101fa88d0ec897498806fa 53edd01245f379c5f1101fa88d0ec897498806fa +5404eef880e121f10e22d07014ac6b13a617adc8 5404eef880e121f10e22d07014ac6b13a617adc8 +549d72e4bcda0353f6fdf6a053b431f693fbe4ee 549d72e4bcda0353f6fdf6a053b431f693fbe4ee +557281639ffebe0898a7dd41d10ccf5b5b9ba578 557281639ffebe0898a7dd41d10ccf5b5b9ba578 +5596af4b89c53091caf5e0dac3c7bfffba43c640 5596af4b89c53091caf5e0dac3c7bfffba43c640 +55dbc4c6d05615364e7e68e31acf28a7b8e88bb6 55dbc4c6d05615364e7e68e31acf28a7b8e88bb6 +5633870bb40d63abacde4dee8fb51fdf821276b6 5633870bb40d63abacde4dee8fb51fdf821276b6 +566dbf97c52ef9309b53c82858b6ff7df8b3c1fd 566dbf97c52ef9309b53c82858b6ff7df8b3c1fd +56a1b2f8b9d4559174cd906e45f0e9e7754eac3b 56a1b2f8b9d4559174cd906e45f0e9e7754eac3b +57bca46d1ec2b6f84b8e17ba6a317473ef229ff8 57bca46d1ec2b6f84b8e17ba6a317473ef229ff8 +58e535ac23dd51e7f66153482455ce84bbcbd9c9 58e535ac23dd51e7f66153482455ce84bbcbd9c9 +591aa92a6ce1fe76b41aaf07f84e3031b0b857d9 591aa92a6ce1fe76b41aaf07f84e3031b0b857d9 +5a1e37beef1c6d161938b34dad8c68d6dd070cb5 5a1e37beef1c6d161938b34dad8c68d6dd070cb5 +5ad853298494be99a9945daf0f7fb927d21aee8d 5ad853298494be99a9945daf0f7fb927d21aee8d +5bd1ae00e92d9a9959489f8d0e8ee1950672b4b9 5bd1ae00e92d9a9959489f8d0e8ee1950672b4b9 +5be724f290cd64c6374402d8f9dc96e0fbf8b87c 5be724f290cd64c6374402d8f9dc96e0fbf8b87c +5d07d16479faa41c488fe8ae7d871f81889dbc8c 5d07d16479faa41c488fe8ae7d871f81889dbc8c +5e86e220f836283ef2e7903be16feae8f6cee3b6 5e86e220f836283ef2e7903be16feae8f6cee3b6 +5eb583d20a5a3c6aab7daf8e0998a834825977d6 5eb583d20a5a3c6aab7daf8e0998a834825977d6 +60006864653e92f510a4e9d897f279b28f7affc8 60006864653e92f510a4e9d897f279b28f7affc8 +614e8ddd28e39472bca7d0d7dda50c409397ecc7 614e8ddd28e39472bca7d0d7dda50c409397ecc7 +6238825b8d5e185daa1bc2e343fb4bbacc2c0504 6238825b8d5e185daa1bc2e343fb4bbacc2c0504 +62ddea12e2db411852a327de39119daf50758d3e 62ddea12e2db411852a327de39119daf50758d3e +62ffd42ca859028e9effb2f83a01498e0c2ec088 62ffd42ca859028e9effb2f83a01498e0c2ec088 +6308403a44af458d153ce0e7a602ced1f5dbae4c 6308403a44af458d153ce0e7a602ced1f5dbae4c +63c900f2b6f1743fc30240526f4aacad938659b1 63c900f2b6f1743fc30240526f4aacad938659b1 +6440af14cf9d01312aa561aa5bba8e03e424c14e 6440af14cf9d01312aa561aa5bba8e03e424c14e +64dea63d09c3ffee840067c9d76e7fa600fcfff5 64dea63d09c3ffee840067c9d76e7fa600fcfff5 +6500014cf154f9ab143165ef70f72bf9d61359e6 6500014cf154f9ab143165ef70f72bf9d61359e6 +653de1f18e97084cbe514e15c0a0062dcb2b9f10 653de1f18e97084cbe514e15c0a0062dcb2b9f10 +6577e0f8e03282ac6993ee8589a974e0796430a0 6577e0f8e03282ac6993ee8589a974e0796430a0 +659a816a46e46946d1ccdf3ff7f1779d5892a4a8 659a816a46e46946d1ccdf3ff7f1779d5892a4a8 +66b025b0b4604f2ae8a8211f49c470d9579b7040 66b025b0b4604f2ae8a8211f49c470d9579b7040 +674bc9f4f9f962cc1c1750cd012bbfa53a5c5d19 674bc9f4f9f962cc1c1750cd012bbfa53a5c5d19 +67980343b5cfb17fcbc059fbf2938c9af1d0dee7 67980343b5cfb17fcbc059fbf2938c9af1d0dee7 +6d12fca086d2c051e5704b492ad0850e0fba4bad 6d12fca086d2c051e5704b492ad0850e0fba4bad +6dbdc14bea243e3dfff244dc778cbd20586c9c12 6dbdc14bea243e3dfff244dc778cbd20586c9c12 +6dc1c4dc54ef8005e8fbb17dac8790412f98fa02 6dc1c4dc54ef8005e8fbb17dac8790412f98fa02 +710e8ec87c6d11bf9840c2d170b74b72d564949e 710e8ec87c6d11bf9840c2d170b74b72d564949e +71e54e93866d92960c00f4649e73dce61aca187d 71e54e93866d92960c00f4649e73dce61aca187d +731200ba43f32bd51dbe91e24fcfbba6a20d9edb 731200ba43f32bd51dbe91e24fcfbba6a20d9edb +734bc750382e7128e21858214e9cfeecf0c1b982 734bc750382e7128e21858214e9cfeecf0c1b982 +76192aa31ed1876decfe74d8f69336b86623d244 76192aa31ed1876decfe74d8f69336b86623d244 +76459517b41da520d6d2733d72e15a3931483d9c 76459517b41da520d6d2733d72e15a3931483d9c +7705d3fa9129a8194c08e0470b1bfca64160ab5b 7705d3fa9129a8194c08e0470b1bfca64160ab5b +7720cdb15eda4e0bfe0d4b13cd895493e0c04f6e 7720cdb15eda4e0bfe0d4b13cd895493e0c04f6e +77a932c6ff05074c07ab7c73dd365764cfb42d39 77a932c6ff05074c07ab7c73dd365764cfb42d39 +783d80d282704873ae8a2e32a75f92526f9b61db 783d80d282704873ae8a2e32a75f92526f9b61db +78bfccf05a09bd37da75854029cb7d955c1a2e9a 78bfccf05a09bd37da75854029cb7d955c1a2e9a +7932ba34b2cf248623e5e584fe188a5a7b5340a3 7932ba34b2cf248623e5e584fe188a5a7b5340a3 +797784cb970b48e49e3f9ff4716c58c9a15026be 797784cb970b48e49e3f9ff4716c58c9a15026be +79b5eec2d074bbbce39dd3ee43f367bf904749ca 79b5eec2d074bbbce39dd3ee43f367bf904749ca +79b78c3adf1f0b0707742bd49a4b52d48fb0891c 79b78c3adf1f0b0707742bd49a4b52d48fb0891c +7bb7ebb026b5fcf9d7fa10a7fc6378d239670ca1 7bb7ebb026b5fcf9d7fa10a7fc6378d239670ca1 +7bf1f8ac195ed616748bab270995b8ca4c4630c3 7bf1f8ac195ed616748bab270995b8ca4c4630c3 +7d8e33ea9df8ec877cdad45e1426f7a20826b9a0 7d8e33ea9df8ec877cdad45e1426f7a20826b9a0 +7e064b93ce4e971086952da34768db043c9ed59d 7e064b93ce4e971086952da34768db043c9ed59d +7e9ac7f1f1edbcefb9b81a7fdeccf989d7d6083f 7e9ac7f1f1edbcefb9b81a7fdeccf989d7d6083f +7eabdb90d106344697be9b5fe56ee6cf72577e42 7eabdb90d106344697be9b5fe56ee6cf72577e42 +7ec7d79749e10bb4adfd8944c179b57bb248d4e8 7ec7d79749e10bb4adfd8944c179b57bb248d4e8 +7f09b7ac7b96254c2fc348f79c60b54c3949f86d 7f09b7ac7b96254c2fc348f79c60b54c3949f86d +8083972f25ca98c6fdfbdf682013fe039e634a3c 8083972f25ca98c6fdfbdf682013fe039e634a3c +80bcd2f5c095f71d64a6aff5735c0566f7d2768f 80bcd2f5c095f71d64a6aff5735c0566f7d2768f +80bddc9b39831b8bf68a4abcd98369e4ef465ff7 80bddc9b39831b8bf68a4abcd98369e4ef465ff7 +80f7202f0ca1d322bb676f1f0cf9252c45097c05 80f7202f0ca1d322bb676f1f0cf9252c45097c05 +81b42aaaf811814e9421319551cb4f2c1dc6fcc8 81b42aaaf811814e9421319551cb4f2c1dc6fcc8 +82b74598c00d585d97dd4ea9c006730e8e33d64a 82b74598c00d585d97dd4ea9c006730e8e33d64a +83e4b21eb88a9e035bc246a2546c4965a052c861 83e4b21eb88a9e035bc246a2546c4965a052c861 +83ef964d0e1c0c9b1819e64d8fef2e192a20bfdc 83ef964d0e1c0c9b1819e64d8fef2e192a20bfdc +844dab946dd57645f53c925b709d5db5f2f6e76e 844dab946dd57645f53c925b709d5db5f2f6e76e +84dd827ac5ff2e1e0062a045099b8ed6062baaaf 84dd827ac5ff2e1e0062a045099b8ed6062baaaf +8623938bb1f6d2e72c0ec0c308feabfcd091792d 8623938bb1f6d2e72c0ec0c308feabfcd091792d +865ff59cf471a09fff1c578e1ff4a946cd52e9d4 865ff59cf471a09fff1c578e1ff4a946cd52e9d4 +86e61a80502eadf9a1bd392fc4150c8cb2ce1336 86e61a80502eadf9a1bd392fc4150c8cb2ce1336 +87707f85dbd8c8f3ab294f651531c8775ff3fd57 87707f85dbd8c8f3ab294f651531c8775ff3fd57 +881d7d47f5e9bd11d558de493745eed53f65a7a4 881d7d47f5e9bd11d558de493745eed53f65a7a4 +884952defbdd940d854d3573222eb37478f6190b 884952defbdd940d854d3573222eb37478f6190b +88ea47fa4bcd36ca5509aec6c452410b5fd95812 88ea47fa4bcd36ca5509aec6c452410b5fd95812 +89037784c5de35b5b3b1890e5766ac2a69370206 89037784c5de35b5b3b1890e5766ac2a69370206 +897252d64cf98397e4e534ec83be1817821f7da6 897252d64cf98397e4e534ec83be1817821f7da6 +89aca6a0e0f19acfe623a89e1685e289acbf0932 89aca6a0e0f19acfe623a89e1685e289acbf0932 +89c449006565121ee067b9738e74c95bc0b73153 89c449006565121ee067b9738e74c95bc0b73153 +8a6c8f316167986c0408b724033338e78548ae0a 8a6c8f316167986c0408b724033338e78548ae0a +8b1901764fe3e0d40ce900dfa78673470d8a7626 8b1901764fe3e0d40ce900dfa78673470d8a7626 +8ce292f408e4f9c831d028a54293f4db416a71e9 8ce292f408e4f9c831d028a54293f4db416a71e9 +8d1147f064416bea5316319ba4e8bb03e4bdd566 8d1147f064416bea5316319ba4e8bb03e4bdd566 +8e02fb0c916f369c26b97899633468670aded72b 8e02fb0c916f369c26b97899633468670aded72b +8eb6ff429a1b94fad163d41a1f2d69dd59cc6958 8eb6ff429a1b94fad163d41a1f2d69dd59cc6958 +8f115eea9ea43a17c68e613014a942e65c88ef0d 8f115eea9ea43a17c68e613014a942e65c88ef0d +8f17a7e148794ac4efd378fcfdf56c284ef0363d 8f17a7e148794ac4efd378fcfdf56c284ef0363d +8fd90e0be7042de37cfaae1562244e9282150908 8fd90e0be7042de37cfaae1562244e9282150908 +9040575f9941f2b170df4de7f1dfdfa49a3c7144 9040575f9941f2b170df4de7f1dfdfa49a3c7144 +91176964c48ae73ef9149da9e96484c936717ab9 91176964c48ae73ef9149da9e96484c936717ab9 +91c0ccb27026f5ff548ace9e891c18f0fd0e6cb7 91c0ccb27026f5ff548ace9e891c18f0fd0e6cb7 +92cd7fe0dee3c29a3f9ddeb87250104415c49233 92cd7fe0dee3c29a3f9ddeb87250104415c49233 +936a76bb7bed7aca6f44d79dd893c5965bce4fbe 936a76bb7bed7aca6f44d79dd893c5965bce4fbe +941b64b80b6266aa911869502ccf477180d06994 941b64b80b6266aa911869502ccf477180d06994 +95697fab8119aec095ba5074c06bc667ed29f75f 95697fab8119aec095ba5074c06bc667ed29f75f +9580ddc859c1ce5bf99ee4ac003daee559abbaaf 9580ddc859c1ce5bf99ee4ac003daee559abbaaf +9639eb78cc3241d0b17d8a884fe2c90180621875 9639eb78cc3241d0b17d8a884fe2c90180621875 +973062ab21ebf41c9e81b88d45a483d525bc767e 973062ab21ebf41c9e81b88d45a483d525bc767e +97338d6bf996dd2098d5aa75398ab3fe559d8111 97338d6bf996dd2098d5aa75398ab3fe559d8111 +97b823ca68f64c1d6251e5ca0be36ce767e02e3c 97b823ca68f64c1d6251e5ca0be36ce767e02e3c +99dd32b5cc7c4155c71249ab55064ca47835bfbb 99dd32b5cc7c4155c71249ab55064ca47835bfbb +99faaa9c8a4b6c5716a6664c34a0475a7ed73993 99faaa9c8a4b6c5716a6664c34a0475a7ed73993 +9d6c053b955b871bb0962d8514e803df36b76061 9d6c053b955b871bb0962d8514e803df36b76061 +a0137dd27253b130e04f9bb138771fdcc124a424 a0137dd27253b130e04f9bb138771fdcc124a424 +a185e3ce8a8f6fcb8131d6b0d3985bfcf81b986e a185e3ce8a8f6fcb8131d6b0d3985bfcf81b986e +a199b75ad28940580413938b19671bd6e7f2ab29 a199b75ad28940580413938b19671bd6e7f2ab29 +a1a041dc617bced987f9bf04251ba44c218b7db1 a1a041dc617bced987f9bf04251ba44c218b7db1 +a1e10236a02bb131c89a29474bc5f7493bd17c0f a1e10236a02bb131c89a29474bc5f7493bd17c0f +a2c9280d8db15c4b085d7cd4cd49bc8e0e5bbefe a2c9280d8db15c4b085d7cd4cd49bc8e0e5bbefe +a37519551b10f44b6b8e52073c1dbd98fd2d27b6 a37519551b10f44b6b8e52073c1dbd98fd2d27b6 +a515a8b7ff9f152f58bd073c63bcc07b6171a4e2 a515a8b7ff9f152f58bd073c63bcc07b6171a4e2 +a63ddd9d62b1f0e5f92406267d972bd63cac922d a63ddd9d62b1f0e5f92406267d972bd63cac922d +a641b2b69ba6619a4ccec38483c460801c77f0ca a641b2b69ba6619a4ccec38483c460801c77f0ca +a96e191194c952a921ac0edfa0170c92ea749587 a96e191194c952a921ac0edfa0170c92ea749587 +aab7c2db77e5203f46e7cb65deb0391ca5bfb1f7 aab7c2db77e5203f46e7cb65deb0391ca5bfb1f7 +ab109108c71c79cf60034f9e6a11ad3e05a716a5 ab109108c71c79cf60034f9e6a11ad3e05a716a5 +ab8ba2abbed577b05108c8d62e0abc3889979bc8 ab8ba2abbed577b05108c8d62e0abc3889979bc8 +acf899435647022c10e96e1074d9c35e3237cde2 acf899435647022c10e96e1074d9c35e3237cde2 +ad48ac8679c72da7a79696cd51a4bc32473fff63 ad48ac8679c72da7a79696cd51a4bc32473fff63 +aec0233045fbd131406c82c97bba3758c14a7f57 aec0233045fbd131406c82c97bba3758c14a7f57 +aec731ed60ae1ef6bcdb08c8b610681a61141fcd aec731ed60ae1ef6bcdb08c8b610681a61141fcd +af47567a7c60bab6e011a432ed27d19ecdc6a8bb af47567a7c60bab6e011a432ed27d19ecdc6a8bb +b0238821a3b5ffc8f33875c9ea21970c0e8bc9bb b0238821a3b5ffc8f33875c9ea21970c0e8bc9bb +b05d17ca27c1324fbc233d31601923bfa5ee4a31 b05d17ca27c1324fbc233d31601923bfa5ee4a31 +b169cfa96a1de0ba8d20eda5a9c81680efd1d00a b169cfa96a1de0ba8d20eda5a9c81680efd1d00a +b1db316e7837b53dcf9987a49276da4bdc601245 b1db316e7837b53dcf9987a49276da4bdc601245 +b2996bb3e1a9f1a52fdc01a5e7da7c033113a828 b2996bb3e1a9f1a52fdc01a5e7da7c033113a828 +b3934c400400ac66a1c628a6824c4c5b6c14bab5 b3934c400400ac66a1c628a6824c4c5b6c14bab5 +b39ad106cc7eabb1a58da5fc0294c173be042e88 b39ad106cc7eabb1a58da5fc0294c173be042e88 +b4615a87d205f535de612fde19d1ffb4507257cc b4615a87d205f535de612fde19d1ffb4507257cc +b4e8267f3155983360027ab521875517706168dd b4e8267f3155983360027ab521875517706168dd +b62949147afaaf7e906ba8c8efe195f54a96911d b62949147afaaf7e906ba8c8efe195f54a96911d +b6b39a21b0a3dc711d29ddc301d3072f73e0796f b6b39a21b0a3dc711d29ddc301d3072f73e0796f +b7ac8dc8567fa2fc3a19b98b309f52ef0c2377fd b7ac8dc8567fa2fc3a19b98b309f52ef0c2377fd +b8107586165f719f29030ca99e4fb1e0ff0464ac b8107586165f719f29030ca99e4fb1e0ff0464ac +b930d3b11dac1ce916b8575471cc1cb67c531d14 b930d3b11dac1ce916b8575471cc1cb67c531d14 +b9af8577492d28c3b8d06c5a2d0bf59ea745e8d8 b9af8577492d28c3b8d06c5a2d0bf59ea745e8d8 +ba4bb1ea0b225133d46eccb93ef6bc61c1c86206 ba4bb1ea0b225133d46eccb93ef6bc61c1c86206 +bbee2c6b90e2149edc3368039f954c8943ecd7b0 bbee2c6b90e2149edc3368039f954c8943ecd7b0 +bda43a33c879ad6c015d244143e3947a8ecd1765 bda43a33c879ad6c015d244143e3947a8ecd1765 +be24d3817e942e9f5d3a5d53585e1b0c3b478f52 be24d3817e942e9f5d3a5d53585e1b0c3b478f52 +be719f516748e5242b949761f26beee390151e29 be719f516748e5242b949761f26beee390151e29 +bf50f1739f24e6c642701af2545da69c52dcb459 bf50f1739f24e6c642701af2545da69c52dcb459 +bfaf948846ee3da3f00070e0dc770dd18001f3fd bfaf948846ee3da3f00070e0dc770dd18001f3fd +c0804644be5cc55202f79c86d248422b84412ec2 c0804644be5cc55202f79c86d248422b84412ec2 +c27673b233e9cfa62eaf9469d94b9bdecccee8cb c27673b233e9cfa62eaf9469d94b9bdecccee8cb +c30c23ead02fb903ae3f3a34a47d3353ea10dd89 c30c23ead02fb903ae3f3a34a47d3353ea10dd89 +c41c3bcc0a8083887621c7baa1792b5e5fd27466 c41c3bcc0a8083887621c7baa1792b5e5fd27466 +c427276edfed37ea4aefba7ed8d8b4a35acb5872 c427276edfed37ea4aefba7ed8d8b4a35acb5872 +c82f9dfc4e9ebb7183fbef5697d173836a9817f7 c82f9dfc4e9ebb7183fbef5697d173836a9817f7 +c88b2a3d7b86f575ddc46da4b1fd0a19b0908ace c88b2a3d7b86f575ddc46da4b1fd0a19b0908ace +c9047a4702bd5aa187084278c57e8fd5397bc4d9 c9047a4702bd5aa187084278c57e8fd5397bc4d9 +cb1d7e7bd6e817c9e78453ab09e0f5b3725e124d cb1d7e7bd6e817c9e78453ab09e0f5b3725e124d +cbe78495aa2d2c45c927b9187cf40cf3d868ca15 cbe78495aa2d2c45c927b9187cf40cf3d868ca15 +ce1cb9305258a4003d4a15a4c285a08ff3a1a6f0 ce1cb9305258a4003d4a15a4c285a08ff3a1a6f0 +ce80ea25a2fd3b4d433dd3fde42671641c80fc20 ce80ea25a2fd3b4d433dd3fde42671641c80fc20 +d1857545d2f519b09840dff12c7390cbd9345311 d1857545d2f519b09840dff12c7390cbd9345311 +d1c91dd122540ee1c6e972a8594c517124475a5d d1c91dd122540ee1c6e972a8594c517124475a5d +d26bf2288b5ba1bbdb4fae6c311a59c594174331 d26bf2288b5ba1bbdb4fae6c311a59c594174331 +d28e913617cf0c12dff61a838606fcdcf451de1b d28e913617cf0c12dff61a838606fcdcf451de1b +d30999c05859d4011a46595173e37e56638eaa30 d30999c05859d4011a46595173e37e56638eaa30 +d351c695eeb3867c50f4e5b263453bfc33f20d56 d351c695eeb3867c50f4e5b263453bfc33f20d56 +d3ebcdf8a71eab470d18692c6fbfbcc8a096a34a d3ebcdf8a71eab470d18692c6fbfbcc8a096a34a +d424a4fa18ab8572716d14f6a0a67a876e26321b d424a4fa18ab8572716d14f6a0a67a876e26321b +d637b51c9b800a87e1fe5f64ed35c0e04b9e668b d637b51c9b800a87e1fe5f64ed35c0e04b9e668b +d638f3e5cc42ef1eb9e94dbc0ffe184fcbd62399 d638f3e5cc42ef1eb9e94dbc0ffe184fcbd62399 +d67233defcbc2e322eae084c7e65156931b3fbd6 d67233defcbc2e322eae084c7e65156931b3fbd6 +d8d43802d5d1821f5cd76ed85e7d166176292a48 d8d43802d5d1821f5cd76ed85e7d166176292a48 +d90af7ea969c29c9d45396ab3fdc40d84fe3cc5d d90af7ea969c29c9d45396ab3fdc40d84fe3cc5d +d922ba670dd91c453c4debee8ba76eac69bdf859 d922ba670dd91c453c4debee8ba76eac69bdf859 +d933dcdec559cae1eafa39ca98570313c72fd018 d933dcdec559cae1eafa39ca98570313c72fd018 +da6c7690ecc1bf12f02f06de3d16a94ae6c431a3 da6c7690ecc1bf12f02f06de3d16a94ae6c431a3 +daab90b14e6a3aab5b40a33a45761b76aaa398d2 daab90b14e6a3aab5b40a33a45761b76aaa398d2 +dcc6e997ea8b060d314c36ceabcc5d524c56aa33 dcc6e997ea8b060d314c36ceabcc5d524c56aa33 +dd23bfe1dd55f83737bc4bcfc60386e56103947d dd23bfe1dd55f83737bc4bcfc60386e56103947d +de66986a913bc28fb7519dbe32b63914df0501fb de66986a913bc28fb7519dbe32b63914df0501fb +df3b8da66a9a252083dd0ad2d72e16beb284e59e df3b8da66a9a252083dd0ad2d72e16beb284e59e +df952a1219d2929e3007009e553bebe92ab57ba3 df952a1219d2929e3007009e553bebe92ab57ba3 +e03427ac056693cfbcfc2dca2d3e81cba229ae4a e03427ac056693cfbcfc2dca2d3e81cba229ae4a +e3c07a56d5794f672c532fbe04f70c6e91966a6d e3c07a56d5794f672c532fbe04f70c6e91966a6d +e51c52e9c3644b118fa6ea41168dd9d848de9c0a e51c52e9c3644b118fa6ea41168dd9d848de9c0a +e5e2153b061e9910efb12e6ba9ecf7a3cae11906 e5e2153b061e9910efb12e6ba9ecf7a3cae11906 +e65473b566e48ff6325f666344880faaa3f5f900 e65473b566e48ff6325f666344880faaa3f5f900 +e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 +e8f61369f071cddeef96dc5cbee3d2de763b7f20 e8f61369f071cddeef96dc5cbee3d2de763b7f20 +e99ba74cfdb34105f553b2e7b6b786c975c09565 e99ba74cfdb34105f553b2e7b6b786c975c09565 +ecb359e58645a9400e5b2d18867820aba7a76015 ecb359e58645a9400e5b2d18867820aba7a76015 +ecb44ed996b7df5fec7a391ac5b749ae8a8002d1 ecb44ed996b7df5fec7a391ac5b749ae8a8002d1 +eec0fb02e19f2afda713b875d8ce413d7906d0c0 eec0fb02e19f2afda713b875d8ce413d7906d0c0 +f0967f556808cb634bb87569b2d84add0a1a66c1 f0967f556808cb634bb87569b2d84add0a1a66c1 +f0e12be036d762bbf2e3c4aaaad6bb12af787ce2 f0e12be036d762bbf2e3c4aaaad6bb12af787ce2 +f16e0517db28144f0022404178275d3065b37a10 f16e0517db28144f0022404178275d3065b37a10 +f19433472d8dab72a9a9fb29dd146fbf5ce18ba4 f19433472d8dab72a9a9fb29dd146fbf5ce18ba4 +f1c739838ffeb752368840edd39b2e16495ab523 f1c739838ffeb752368840edd39b2e16495ab523 +f296f68f3928c64a819c719ba753137fbb69cdff f296f68f3928c64a819c719ba753137fbb69cdff +f29e7ea8f19c74d03a8c58a5f6d9e6fb41d7ddf0 f29e7ea8f19c74d03a8c58a5f6d9e6fb41d7ddf0 +f32bab92a44da7e3892cae1b30181c1f17655d5f f32bab92a44da7e3892cae1b30181c1f17655d5f +f3785ec8397107eb0326c7fbfaee48c86a32e831 f3785ec8397107eb0326c7fbfaee48c86a32e831 +f397fb58d6beda05b04d071458de36bfd26184b0 f397fb58d6beda05b04d071458de36bfd26184b0 +f3d089438786f92d841db340e101b6e9988eb3ff f3d089438786f92d841db340e101b6e9988eb3ff +f40292b9244c019db1b4f11bd7bf89374ad315d8 f40292b9244c019db1b4f11bd7bf89374ad315d8 +f91366444cf0e9eecb9e02d7155438fce27423cc f91366444cf0e9eecb9e02d7155438fce27423cc +f93d22ac5430b2b6bd55c5a1c70fc24863bde9be f93d22ac5430b2b6bd55c5a1c70fc24863bde9be +fa1385d99a319b43c06f5309d1aae9fdd3adea46 fa1385d99a319b43c06f5309d1aae9fdd3adea46 +fb097381c225da9a842e6b150ae1e5408564fe5d fb097381c225da9a842e6b150ae1e5408564fe5d +fb3b6020af4c48faac817eff566ea9f4ef9941e0 fb3b6020af4c48faac817eff566ea9f4ef9941e0 +fc39455cd713279b64e65863226d82316863e85f fc39455cd713279b64e65863226d82316863e85f +fc4d41330a05af77bf2876ca12f18a276d255e9c fc4d41330a05af77bf2876ca12f18a276d255e9c +fdb5cab4fcb5ce7100bab9bc7d97c692f1000df5 fdb5cab4fcb5ce7100bab9bc7d97c692f1000df5 +fe458b9c9004ea6e1ff9f6ccb129406378839ebf fe458b9c9004ea6e1ff9f6ccb129406378839ebf +feb8b67b64b1e5171a9a2aa041e1dafba9140136 feb8b67b64b1e5171a9a2aa041e1dafba9140136 Binary files old/just-1.57.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.rev and new/just-1.58.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.rev differ Binary files old/just-1.57.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.idx and new/just-1.58.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.idx differ Binary files old/just-1.57.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.pack and new/just-1.58.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.pack differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.promisor new/just-1.58.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.promisor --- old/just-1.57.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.promisor 1970-01-01 01:00:00.000000000 +0100 +++ new/just-1.58.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.promisor 2026-08-03 22:28:37.000000000 +0200 @@ -0,0 +1,184 @@ +4f41f609278edb6f1024e3dd7a9912946e1e7bc3 HEAD +993bdb8ff0e5feb6013c7e69fa7d56b87a2feaca refs/heads/gh-pages +4f41f609278edb6f1024e3dd7a9912946e1e7bc3 refs/heads/master +401845600ba9095012a71357716d653d90322c1f refs/tags/0.10.0 +d835b88b127739cbe38aa5ff1394f361ede7ad18 refs/tags/0.10.1 +4479afa99657e1e5a016bc517480d0e05956c591 refs/tags/0.10.2 +bd2287520bfc984780a4ba2c3fc86f8e09abf1d2 refs/tags/0.10.3 +ea116075cd26789fb05322427a902b8baf2931eb refs/tags/0.10.4 +1192e98b84673c5d07725b427595c517d9249652 refs/tags/0.10.5 +1cacbea1ce388b181636e9ad0ce5d7968780e4f1 refs/tags/0.10.6 +5ca1b13b62e4f8f3a7d5cd1b2d8e2792dfd0f732 refs/tags/0.10.7 +80ff85c0b873f087a102d0d2ded6a105b75e1fc9 refs/tags/0.11.0 +32788f1b436af4c925d0f7d0ae506ed54141ad08 refs/tags/0.11.1 +d1333061bb92245be662e6e619f2956dca78b79d refs/tags/0.11.2 +001f946e6635874439e58f76e422c5d12642c4d0 refs/tags/0.9.5 +2a3c1b56dbd50c74a091e5579467ad3886bf1c9c refs/tags/0.9.6 +ad64d53a2f64416b0acf007e5f8092c26e343fdd refs/tags/0.9.7 +6ec34974a70c4ca3ec19e11c8471b876d32b9736 refs/tags/0.9.8 +35ee26604c9731cb70185cb9f2fe4ee112b30d56 refs/tags/0.9.9 +d1506bca4d7b8a0e3a058e75d378f3bdbf5f3e10 refs/tags/1.0.0 +812cc96391ff2b9946b22b2097bb3b5b5eb553ea refs/tags/1.0.1 +feeedf32f945cd43fa5bb10ee3d6ba48c508977b refs/tags/1.1.0 +849ac4e1399b08fb98953c7abc57d18852864263 refs/tags/1.1.1 +93ff2483cc3ff90e1930764f2e3960bc738f67f9 refs/tags/1.1.2 +99b30dc7fc3ec7b14b5caf768d51461c599119f0 refs/tags/1.1.3 +3dcd1f7584f713915fd4bae4aa03cf9014d2806e refs/tags/1.10.0 +824604de51b102cb730ddb68f79cce7d74b12131 refs/tags/1.11.0 +4306c0f98708c17bd3287cf51802b268b60987b5 refs/tags/1.12.0 +4e9f72be33602e6be01c00342a3d5713fa84dd37 refs/tags/1.13.0 +d3740434649d2669b65b73afdcde309dcef4f7f3 refs/tags/1.14.0 +ee713b649c794fed35c280a384101be1c99d053d refs/tags/1.15.0 +af55be376f8d0fffab00b6341242d968ecfd3470 refs/tags/1.16.0 +f3333137204f3b122388e824604be3a1d026b295 refs/tags/1.17.0 +253d4ae4ae20c2708bda7903e7b6d278a9266fd8 refs/tags/1.18.0 +e0ba7fb1d64f1c03d8cb201f75e3f2509fb81bee refs/tags/1.18.1 +9ae60ec2879eb3df03113bd6c6f2846e0b5b29da refs/tags/1.19.0 +c6409a2c1157983dfa1a0922d1cd05d85b43d929 refs/tags/1.2.0 +ba6c5ecda8ebc47d8fbe1325187b621129e263c7 refs/tags/1.20.0 +4d321486136fe4fbba708e0c3737e4c28bf53fcb refs/tags/1.21.0 +67fb973386acd70ff329af884b2477150f2f3983 refs/tags/1.22.0 +d70586cfc0a1d85efac5c416cdd3c49e4bbac85d refs/tags/1.22.1 +65578afc42165a32badf878369d488ea8811d693 refs/tags/1.23.0 +b7325c351f91e00256fd1c685e499a1dbd28ba1b refs/tags/1.24.0 +1b8b053c5f891fc0b9c835bfc8d2b5ef0bca69a9 refs/tags/1.25.0 +185985ac5b325037c6467ff7825ba2075141f17a refs/tags/1.25.1 +c64424476a3ac674e28eead5350729f3b1c55984 refs/tags/1.25.2 +c7422c148b42c110dfd945840b468d51ff2b0919 refs/tags/1.26.0 +663ceca936ebe37a2e5a8d2baafe0d124c7993d4 refs/tags/1.27.0 +a295ee9d428fc4f46ff9327a320fd0a2144edf34 refs/tags/1.28.0 +a926d847c41399a7c4053172e13ff7acac1e8965 refs/tags/1.29.0 +f2d59e4f4cc1ed0fa14a78be6fb275d47462e837 refs/tags/1.29.1 +6cfce726a546bb453d77d30ecaf25cba04d37953 refs/tags/1.3.0 +dbdeffbcc46e760fba11e79f0bad90bb766c517d refs/tags/1.30.0 +b90aa7ffe22d31cd78288c51da28ba15c9d4074f refs/tags/1.30.1 +f8ae6f9ca7a90b34b12759921ccb1491ac2a7aa8 refs/tags/1.31.0 +f7c6e0cadbeef36742c6bde7df0dc8d7326be089 refs/tags/1.32.0 +a5a7cca90770248a523fa6656b16f38d3ccf007e refs/tags/1.33.0 +0802dba610d351685b04154ffd559a3462e59adb refs/tags/1.34.0 +b9e1b9e7aba755e680d6b85bb273a12b3c91c643 refs/tags/1.35.0 +ae09563eda15e62a88e390dc9dd8bb7d91bb84cc refs/tags/1.36.0 +8a9b75ef45d851075d024b9390509563bdf46c8a refs/tags/1.37.0 +d7530257e87cdd067d0faadc92017f63569cfabc refs/tags/1.38.0 +e303f2b8f2b120ab39013b654b6ae6422d9af6d2 refs/tags/1.39.0 +683cbe779c1d7e48b6df6ee0dfece6cb10a458e0 refs/tags/1.4.0 +aa7780e183401361c25fd48cc111769dca1812bb refs/tags/1.40.0 +1029ae4a114043f01bd1ce9c90bdc42611fe771c refs/tags/1.41.0 +c79598da541611258b33ce1953d70aadcbc37f6b refs/tags/1.42.0 +6763340cbf1133f8e33cf4592a52b4200ab86675 refs/tags/1.42.1 +ef4eaf420fae7767758b16324e888d5791fd3c3a refs/tags/1.42.2 +07bab1dbbe4c4c352a62419f2042c82d6867c13b refs/tags/1.42.3 +dcb53f8777dbd3d9305f5ea35aaae6ddb86dcf20 refs/tags/1.42.4 +6e6a4412460a563723eb4abb0e4d59b19f1629d2 refs/tags/1.43.0 +7501f68ec1ada409831c333599b9e39beb172f83 refs/tags/1.43.1 +439e5bdb3969b08e0dee19d99e00b12d04fab661 refs/tags/1.44.0 +ca06001dac9ba85a18e7763d0aaae91808ade597 refs/tags/1.44.1 +25ffe1687d34fdbd52ee51da4d5ae1b249efa4b6 refs/tags/1.45.0 +f39e832f09f8b34159ef7dd8401f5187ab86410b refs/tags/1.46.0 +6b0829c094421a932277b7bff91917f73ddbcbdb refs/tags/1.47.0 +8e14fafe8a991824758c083bd60e3fcfdca3696b refs/tags/1.47.1 +6ce9eb1730929282ef97d94f73cab0be5b77e246 refs/tags/1.48.0 +cd458a2ff047207dbbd6153c306a17a14235ff50 refs/tags/1.48.1 +14aa0f057b6ce5fd2932503b25eee946ce337e52 refs/tags/1.49.0 +baabd507b7b83ed6a15fb1df9db1792cd44e0ec5 refs/tags/1.5.0 +cbdc9f636adb26166ddcd200515e5c4b20123679 refs/tags/1.50.0 +6bda269116363e8501f84bb296c7ec47e4ee06ad refs/tags/1.51.0 +f41d35750fcd786c711d08bc0182a2909499e74e refs/tags/1.52.0 +41e7321345472555caa617ba5b36100abe407c46 refs/tags/1.53.0 +6c134089465461e466bbb72843096b4215d786c9 refs/tags/1.54.0 +096b616a94ab029dfc0dc68ec70c2654ba657443 refs/tags/1.55.0 +73089009aebf1f90a7260068c984864de482eaad refs/tags/1.55.1 +f9963a4df9bd438e0db91f9440b7c58ef0432c85 refs/tags/1.56.0 +990e83db3a6ffa049ea0e4ec1eb3589351ce85d7 refs/tags/1.57.0 +ebedee5bafe1ce779e93d91a2eff0c1bf3687b9c refs/tags/1.58.0 +8a68bbe1f0b9914afaae677664a132b643809e9d refs/tags/1.6.0 +55bbdd014efe288af506b5fea9fa8d8fdb50fd78 refs/tags/1.7.0 +37455a85d1a9ce28627aee3047472f2295175fd0 refs/tags/1.8.0 +7bbf68758f589c4be69d4e25547f8f01f0a2fc5b refs/tags/1.9.0 +c04f1cc4080b1f6b10ab6e66ba621b67f10ea116 refs/tags/v0.1.0 +270d6385d8607a9bee38da72f1ab0f64891cd562 refs/tags/v0.1.1 +110f2e05aab012d780edbfc828b9b4a702b4484a refs/tags/v0.1.2 +cad25a145fa899203fa0d40aefb62a5949101ee5 refs/tags/v0.1.3 +7cb6597e12f9237b2c23e95a83a3720065318301 refs/tags/v0.1.4 +e172c96ee99a167a7c33cd60ec5cf4113765805a refs/tags/v0.1.5 +0eb5dfded9caecad3d2e821c4f349c7857f62077 refs/tags/v0.2.0 +c7641424705a70638a0799567b6ae7b389b30be5 refs/tags/v0.2.1 +adf5f30b638ad5c2d51aed028843d0e549ffcbec refs/tags/v0.2.10 +845bee2ad72c8556886aadb17b366e9631af21ee refs/tags/v0.2.11 +cdb623108e5b7033d955386cc6ad30768d7e40c7 refs/tags/v0.2.13 +0b822b94ad93cf5bdd01287458ee2730e273c57a refs/tags/v0.2.14 +b79e87e96bb5afcfd025403e0092faebb32bb5db refs/tags/v0.2.15 +d129aca8c7f680536fa8f237c57ad544efd4a5fd refs/tags/v0.2.16 +2e112af272101d4f6039282090d7cb4c3fda7822 refs/tags/v0.2.18 +748518c2f2e9d2c2e3ed5d20225412412b009d28 refs/tags/v0.2.19 +9d9949312101b89e13b17c6e5858163b81acaa08 refs/tags/v0.2.2 +4274d0a0c38973c0a2085b7a4a34a4d094330cbd refs/tags/v0.2.20 +a12afea525ce56ad7bc97c7669badb50b0c86506 refs/tags/v0.2.21 +1ca06c4fbd95b530543e70fe89c343a45d3a3ac1 refs/tags/v0.2.22 +a01614b517d9a126722a812e2e84afbbace7392f refs/tags/v0.2.23 +1fd60d8cdbb1137c9e7c85426a3ba3ae39b7850a refs/tags/v0.2.24 +b2307f9122c3f85495cfea92d6cd218bdb6343fc refs/tags/v0.2.25 +c6e695233bf2f132bcd493a3b12d1f3ed8dc7a17 refs/tags/v0.2.26 +285da33d93c7f5a1e87c1db3d59edd9da8212ca9 refs/tags/v0.2.27 +00a3e267cbfa368048508c865c5e806e5cbcb68a refs/tags/v0.2.28 +17984f7af393d0fe954471f85e87cb6a6daa9d9f refs/tags/v0.2.29 +0aa38549c00c9e4cbc7cba6c189fc865b7a675cb refs/tags/v0.2.3 +9a0691a2d7d682a1b4aececed157f314be4bf78a refs/tags/v0.2.31 +82956215fae50da74b8d3ad18c6a8ca492871357 refs/tags/v0.2.32 +f1f0a3eb0a6a7156d76ffe4a72494a861620861b refs/tags/v0.2.33 +8a7363be070b144bd6a137fb64a5e64f1da75d0a refs/tags/v0.2.4 +48900978ae0b273687cc82ca0aecd0b1b6de2775 refs/tags/v0.2.5 +1b20126152307d3f50a060572ca75d4eb338bc52 refs/tags/v0.2.6 +76a309f76d59b1462bdeff36ddbd1bf2203ab2bb refs/tags/v0.2.7 +fdc9007a7c6bf58e9f0cd0dde05d99c3c541679b refs/tags/v0.2.8 +bc92e80d68b3c8327d989496c2a0a51393d0af52 refs/tags/v0.2.9 +97eb6e70bfab092a82b13473df00c94b8c5bbb00 refs/tags/v0.3.1 +c85a14d9bbc5d074dbaafd9edc3af189bb1ab761 refs/tags/v0.3.10 +ebf750e83e4956471f897ab43f0381df7f10a8ad refs/tags/v0.3.11 +787d033c5bd73f3c6982908b3a13d53663b23b4d refs/tags/v0.3.12 +62c67ebcd367ff8230be8492b800c4a8d88be497 refs/tags/v0.3.13 +e12f9394b4e4f361a2a7dd446ff65b46880ebaeb refs/tags/v0.3.2 +15b5abb5f4c38053be88958dcacbc42b12ff601d refs/tags/v0.3.3 +6bc23f657142b0289215ef5749d3433df9eae0ea refs/tags/v0.3.4 +d9aadf561d0e2de73522e7cb5082bd90d728d94d refs/tags/v0.3.5 +5ac492feb070be80137798d5f10bea9f3f8d4f58 refs/tags/v0.3.6 +9e2caa814f6fca91cea0fe1c9911ced88c6fb95e refs/tags/v0.3.7 +d6c0cce8796660d3ca5c2c5d66954d014e601834 refs/tags/v0.3.8 +781a48c7d3a70b13242b18704f08e8542fd15def refs/tags/v0.3.9 +cfb4d5bf9ff44e75160ec28b40f9a7d15b620080 refs/tags/v0.4.0 +ac375028a92793170717f7dd8a03410868e9b806 refs/tags/v0.4.1 +6a7ca553702ee198aca4e3155694ec5e91765e81 refs/tags/v0.4.2 +1796d9badaa3d6398d21931556a2250057329dc6 refs/tags/v0.4.3 +1dfcf589e414f9dd19ac0e6cce6e6a1302c46cd9 refs/tags/v0.4.4 +0ae33e7eeeb80c4e91ad0c0f125d68b258d137a4 refs/tags/v0.4.5 +2193263c177a8005af98dd76496760c2644ad576 refs/tags/v0.5.0 +dec6fbc30bc67984291a6e40ee453ec83ff28fc2 refs/tags/v0.5.1 +7a49a1242c53ee6c4309a9bee9001bde5597176a refs/tags/v0.5.10 +4fad29ebd1c296646ca624778782247969121b28 refs/tags/v0.5.11 +f033c7095609dca5f4468421c742e42c348973d8 refs/tags/v0.5.2 +489a74b61d91341850850d125f4da30b2e5d0210 refs/tags/v0.5.3 +5c45e16e28908fbea5e05c326bd59da28a60290c refs/tags/v0.5.4 +a044b75b01d544ac89e3ad6f54f96c80952daa59 refs/tags/v0.5.5 +0af6353ae08a59d9294fead9b8eb7121bf0b6956 refs/tags/v0.5.6 +f12c539f27de1da24d1e4fa283298a42a08e712e refs/tags/v0.5.7 +78deb3372732d5164fa56514fee5c0634793ee86 refs/tags/v0.5.8 +8763dee1e1e9ab3cd4913a95b8271cdff27a2262 refs/tags/v0.5.9 +87ac332d7f81e01673813e5d29282c8001e414bd refs/tags/v0.6.0 +2b170210f9ae03eb49de93b4b5200f21f2bf41ea refs/tags/v0.6.1 +0427b177c5d1c634a553859d6903235864dd0ff7 refs/tags/v0.7.0 +a1b414fae6d78cedf3cfba6ad5922a9f68346b57 refs/tags/v0.7.1 +3f9b93eb00bdf30835eb42a58f43658c02937c5b refs/tags/v0.7.2 +a13eec9af7e9d239e6c72ac6b0bb35c61c0b255c refs/tags/v0.7.3 +1a0aa9d2346a15244cfbfdf40d55eb146bfebfb0 refs/tags/v0.8.0 +ce72388977a59a855e3490561a685978d1b6dd72 refs/tags/v0.8.1 +e48ea337754fb93a1f5647b605ceb82de7fe50c9 refs/tags/v0.8.2 +e318840462461433845776705b7b863530ca61bb refs/tags/v0.8.3 +91b565c0a5895779f9633b166de7f31e24c4d512 refs/tags/v0.8.4 +f051a0b9a49ae1a252946733bd0475b03e5f33e0 refs/tags/v0.8.5 +65d7d1af98de9e11cd1708d1f2a6f9552e28a836 refs/tags/v0.8.6 +f84c9a6520f7bcbc44bfca126975d8900bf017bc refs/tags/v0.8.7 +f2e96fc714dde0e2681beaba0736b7023296317a refs/tags/v0.9.0 +21d26d84a4ba30dfdf0c8dea3a1eccb246f1f75d refs/tags/v0.9.1 +c5992892ceab7bdec4a17bf6968d0da1bc3e1ad1 refs/tags/v0.9.2 +93a8d8592a1eddf21a504cd7b5cc2fedf4a2c642 refs/tags/v0.9.3 +44a338d7b4f5d0a05c187ee11683adbf009fc511 refs/tags/v0.9.4 Binary files old/just-1.57.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.rev and new/just-1.58.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.rev differ Binary files old/just-1.57.0/.git/objects/pack/pack-adbe04c7daea245279f5cb45d67b9d001570da8c.idx and new/just-1.58.0/.git/objects/pack/pack-adbe04c7daea245279f5cb45d67b9d001570da8c.idx differ Binary files old/just-1.57.0/.git/objects/pack/pack-adbe04c7daea245279f5cb45d67b9d001570da8c.pack and new/just-1.58.0/.git/objects/pack/pack-adbe04c7daea245279f5cb45d67b9d001570da8c.pack differ Binary files old/just-1.57.0/.git/objects/pack/pack-adbe04c7daea245279f5cb45d67b9d001570da8c.rev and new/just-1.58.0/.git/objects/pack/pack-adbe04c7daea245279f5cb45d67b9d001570da8c.rev differ Binary files old/just-1.57.0/.git/objects/pack/pack-c91011b0fa09b5290841cc33261673770c4c5992.idx and new/just-1.58.0/.git/objects/pack/pack-c91011b0fa09b5290841cc33261673770c4c5992.idx differ Binary files old/just-1.57.0/.git/objects/pack/pack-c91011b0fa09b5290841cc33261673770c4c5992.pack and new/just-1.58.0/.git/objects/pack/pack-c91011b0fa09b5290841cc33261673770c4c5992.pack differ Binary files old/just-1.57.0/.git/objects/pack/pack-c91011b0fa09b5290841cc33261673770c4c5992.rev and new/just-1.58.0/.git/objects/pack/pack-c91011b0fa09b5290841cc33261673770c4c5992.rev differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/.git/packed-refs new/just-1.58.0/.git/packed-refs --- old/just-1.57.0/.git/packed-refs 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/.git/packed-refs 2026-08-03 22:28:37.000000000 +0200 @@ -1,6 +1,6 @@ # pack-refs with: peeled fully-peeled sorted -8b18b1e76922ab179f34e5fe17b347314a5d136c refs/remotes/origin/gh-pages -13bf03f642f4cec7799c19f1f8f039e1cb3b095d refs/remotes/origin/master +993bdb8ff0e5feb6013c7e69fa7d56b87a2feaca refs/remotes/origin/gh-pages +4f41f609278edb6f1024e3dd7a9912946e1e7bc3 refs/remotes/origin/master 401845600ba9095012a71357716d653d90322c1f refs/tags/0.10.0 ^6783e02c7ccd82a9474391e226e65ed052216733 d835b88b127739cbe38aa5ff1394f361ede7ad18 refs/tags/0.10.1 @@ -179,6 +179,8 @@ ^2fd820433b0204d484b67049b3192006c3545684 990e83db3a6ffa049ea0e4ec1eb3589351ce85d7 refs/tags/1.57.0 ^e01a6bd7e7a30baf86bc86d2b95b0998ebbdc36f +ebedee5bafe1ce779e93d91a2eff0c1bf3687b9c refs/tags/1.58.0 +^7f4ef81bd6a93faa2b28430912c8e9ab0e3dd29a 8a68bbe1f0b9914afaae677664a132b643809e9d refs/tags/1.6.0 ^ffb547924a57901832b11e0ee51ec5bec16d1d4e 55bbdd014efe288af506b5fea9fa8d8fdb50fd78 refs/tags/1.7.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/.git/refs/heads/master new/just-1.58.0/.git/refs/heads/master --- old/just-1.57.0/.git/refs/heads/master 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/.git/refs/heads/master 2026-08-03 22:28:37.000000000 +0200 @@ -1 +1 @@ -13bf03f642f4cec7799c19f1f8f039e1cb3b095d +4f41f609278edb6f1024e3dd7a9912946e1e7bc3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/CHANGELOG.md new/just-1.58.0/CHANGELOG.md --- old/just-1.57.0/CHANGELOG.md 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/CHANGELOG.md 2026-08-03 22:28:37.000000000 +0200 @@ -1,6 +1,21 @@ Changelog ========= +[1.58.0](https://github.com/casey/just/releases/tag/1.58.0) - 2026-08-03 +------------------------------------------------------------------------ + +### Changed +- Surround interoplation expressions with spaces when formatting ([#3685](https://github.com/casey/just/pull/3685) by [casey](https://github.com/casey)) +- Accept multiple `,`-separated values in `--justfile-name` ([#3676](https://github.com/casey/just/pull/3676) by [casey](https://github.com/casey)) + +### Added +- Add format argument to `[timestamp]` attribute ([#3681](https://github.com/casey/just/pull/3681) by [casey](https://github.com/casey)) +- Add `[timestamp]` recipe attribute ([#3680](https://github.com/casey/just/pull/3680) by [casey](https://github.com/casey)) + +### Misc +- Note that `no-cd` only affects recipe working directory ([#3679](https://github.com/casey/just/pull/3679) by [casey](https://github.com/casey)) +- Link to GitHub from docs ([#3674](https://github.com/casey/just/pull/3674) by [casey](https://github.com/casey)) + [1.57.0](https://github.com/casey/just/releases/tag/1.57.0) - 2026-07-18 ------------------------------------------------------------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/Cargo.lock new/just-1.58.0/Cargo.lock --- old/just-1.57.0/Cargo.lock 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/Cargo.lock 2026-08-03 22:28:37.000000000 +0200 @@ -15,9 +15,9 @@ [[package]] name = "aho-corasick" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" dependencies = [ "memchr", ] @@ -165,15 +165,15 @@ [[package]] name = "camino" -version = "1.2.4" +version = "1.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f2d30e4173c4026932d51d31d6b0613b1fd3014bf3f9f8943d4ba139c437ba0" +checksum = "bb1307f12aa967b5a58416e87b3653360e0fd614a016b6e970db08fecbb1b80d" [[package]] name = "cc" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89588d05638b5b4594a3348a2d6c20277e43a7f5c5202b05cc56888475a47b8" +checksum = "5add81bb678e6cb321aff7fa0dc7689ad82b112dbc032cea19f91d6b8e3582b9" dependencies = [ "find-msvc-tools", "shlex", @@ -217,9 +217,9 @@ [[package]] name = "clap" -version = "4.6.2" +version = "4.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd059f9da4f5c36b3787f65d38ccaab1cc315f07b01f89abc8359ee6a8205011" +checksum = "301b56658598e48f3648647ac6fc887be7e7108eddfa4e9b63fcf3ec58c0cadf" dependencies = [ "clap_builder", "clap_derive", @@ -227,9 +227,9 @@ [[package]] name = "clap_builder" -version = "4.6.2" +version = "4.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f09628afdcc538b57f3c6341e9c8e9970f18e4a481690a64974d7023bd33548b" +checksum = "94a65403d1a1bd28f7dc68eb8506e8874808ee5eecb59298de588e2e1407a078" dependencies = [ "anstream", "anstyle", @@ -240,9 +240,9 @@ [[package]] name = "clap_complete" -version = "4.6.7" +version = "4.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db8b397918185f0161ff3d6fcaa9e4bfc09b8367caf6e1d4a2848e5477ed027b" +checksum = "b1f84a88507dbd05c695f2cb5e8558e747179134005e9893882dec964190ed89" dependencies = [ "clap", "clap_lex", @@ -252,14 +252,14 @@ [[package]] name = "clap_derive" -version = "4.6.1" +version = "4.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" +checksum = "d012d2b9d65aca7f18f4d9878a045bc17899bba951561ba5ec3c2ba1eed9a061" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.3", ] [[package]] @@ -439,9 +439,9 @@ [[package]] name = "fastrand" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" [[package]] name = "find-msvc-tools" @@ -545,9 +545,9 @@ [[package]] name = "hybrid-array" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "818356c5132c1fede50f837ca96afbe78ff42413047f4abb886217845e1b6c8c" +checksum = "707114b52a152fa7bdb290cd7cd5912d9467273b6d74e21b8d81aca1f8533f6b" dependencies = [ "typenum", ] @@ -620,7 +620,7 @@ [[package]] name = "just" -version = "1.57.0" +version = "1.58.0" dependencies = [ "blake3", "camino", @@ -662,15 +662,15 @@ [[package]] name = "libc" -version = "0.2.186" +version = "0.2.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" [[package]] name = "libredox" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652" +checksum = "2026a5056764a10b2bf5d56488cba40da507f5493a6a429340e2004d9ed085fa" dependencies = [ "libc", ] @@ -1017,14 +1017,14 @@ dependencies = [ "proc-macro2", "quote", - "syn 3.0.0", + "syn 3.0.3", ] [[package]] name = "serde_json" -version = "1.0.150" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" dependencies = [ "itoa", "memchr", @@ -1090,18 +1090,18 @@ [[package]] name = "snafu" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1a012328be2e3f5d5f6f3218147ca02588cea4cb865e876849ab6debcf36522" +checksum = "e45cb604038abb7b926b679887b3226d8d0f23874b66623625a0454be425a4b7" dependencies = [ "snafu-derive", ] [[package]] name = "snafu-derive" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f103c50866b8743da9429b8a581d81a27c2d3a9c4ac7df8f8571c1dd7896eda" +checksum = "287f59010008f0d7cf5e3b03196d666c1acc46c8d3e9cf34c28a1a7157601e72" dependencies = [ "heck", "proc-macro2", @@ -1149,9 +1149,9 @@ [[package]] name = "syn" -version = "3.0.0" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fac314a64dc9a36e61a9eb4261a5e9bbfbc922b27e518af97bc32b926cf967" +checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3" dependencies = [ "proc-macro2", "quote", @@ -1221,7 +1221,7 @@ dependencies = [ "proc-macro2", "quote", - "syn 3.0.0", + "syn 3.0.3", ] [[package]] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/Cargo.toml new/just-1.58.0/Cargo.toml --- old/just-1.57.0/Cargo.toml 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/Cargo.toml 2026-08-03 22:28:37.000000000 +0200 @@ -1,6 +1,6 @@ [package] name = "just" -version = "1.57.0" +version = "1.58.0" authors = ["Casey Rodarmor <[email protected]>"] autotests = false categories = ["command-line-utilities", "development-tools"] @@ -22,7 +22,7 @@ camino = "1.0.4" chrono = "0.4.38" clap = { version = "4.0.0", features = ["derive", "env", "wrap_help"] } -clap_complete = { version = "=4.6.7", features = ["unstable-dynamic"] } +clap_complete = { version = "=4.6.8", features = ["unstable-dynamic"] } clap_mangen = "0.3.0" digest-io = "0.1.0" dirs = "6.0.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/README.md new/just-1.58.0/README.md --- old/just-1.57.0/README.md 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/README.md 2026-08-03 22:28:37.000000000 +0200 @@ -3415,6 +3415,9 @@ /subdir ``` +Note that this does not affect dotenv file search, or the working directory of +backtick and `shell()` invocations. + Use `set no-cd`<sup>1.51.0</sup> to make all recipes in the current module default to the same behavior. @@ -3512,6 +3515,9 @@ `[no-cd]` prevents `just` from changing the current directory when executing `commit`. +Note that this does not affect dotenv file search, or the working directory of +backtick and `shell()` invocations. + Organization ------------ @@ -4278,6 +4284,35 @@ [`chrono` library docs](https://docs.rs/chrono/latest/chrono/format/strftime/index.html) for details. +The `[timestamp]` attribute<sup>1.58.0</sup> can be used to enable timestamps +for a specific recipe: + +```just +[timestamp] +foo: + echo hello +``` + +``` +$ just foo +[07:28:46] echo hello +hello +``` + +Which may include a format string: + +```just +[timestamp('%H:%M:%S%.3f')] +foo: + echo hello +``` + +``` +$ just foo +[07:28:46.487] echo hello +hello +``` + ### Signal Handling [Signals](https://en.wikipedia.org/wiki/Signal_(IPC)) are messages sent to @@ -4737,6 +4772,8 @@ | `[script(COMMAND)]`<sup>1.32.0</sup> | recipe | Execute recipe as a script interpreted by `COMMAND`. See [script recipes](#script-recipes) for more details. | | `[script]`<sup>1.33.0</sup> | recipe | Execute recipe as script. See [script recipes](#script-recipes) for more details. | | `[shell]`<sup>1.52.0</sup> | recipe | Execute recipe as a shell recipe, overriding `set default-script`. | +| `[timestamp(FORMAT)]`<sup>1.58.0</sup> | recipe | Print command timestamps with format `FORMAT`. `FORMAT` may be an expression. | +| `[timestamp]`<sup>1.58.0</sup> | recipe | Print command timestamps. | | `[unix]`<sup>1.8.0</sup> | any<sup>1.56.0</sup> | Enable item on unixes. (Includes macOS). | | `[windows]`<sup>1.8.0</sup> | any<sup>1.56.0</sup> | Enable item on Windows. | | `[working-directory(PATH)]`<sup>1.38.0</sup> | recipe | Set recipe working directory. `PATH` may be an expression<sup>1.51.0</sup> whose value is relative or absolute. If relative, it is interpreted relative to the default working directory. | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/justfile new/just-1.58.0/justfile --- old/just-1.57.0/justfile 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/justfile 2026-08-03 22:28:37.000000000 +0200 @@ -30,7 +30,7 @@ # only run tests matching `PATTERN` [group: 'test'] -filter PATTERN: (watch f'ltest --tests --all --all-targets {{PATTERN}}') +filter PATTERN: (watch f'ltest --tests --all --all-targets {{ PATTERN }}') [group: 'misc'] build: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/src/arguments.rs new/just-1.58.0/src/arguments.rs --- old/just-1.57.0/src/arguments.rs 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/src/arguments.rs 2026-08-03 22:28:37.000000000 +0200 @@ -208,8 +208,10 @@ pub(crate) justfile: Option<PathBuf>, #[arg( env = "JUST_JUSTFILE_NAME", - help = "Search for justfile named <NAME>", + help = "Search for justfile named <NAME>, accepts multiple `,`-separated values and may be \ + repeated", long = "justfile-name", + value_delimiter = ',', value_name = "NAME" )] pub(crate) justfile_names: Option<Vec<String>>, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/src/attribute.rs new/just-1.58.0/src/attribute.rs --- old/just-1.57.0/src/attribute.rs 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/src/attribute.rs 2026-08-03 22:28:37.000000000 +0200 @@ -65,6 +65,7 @@ Private, Script(Option<Interpreter<StringLiteral<'src>>>), Shell, + Timestamp(Option<Expression<'src>>), Unix, Windows, WorkingDirectory(Expression<'src>), @@ -74,7 +75,7 @@ fn accepts_expressions(self) -> bool { matches!( self, - Self::Confirm | Self::Doc | Self::Env | Self::WorkingDirectory + Self::Confirm | Self::Doc | Self::Env | Self::Timestamp | Self::WorkingDirectory ) } @@ -118,7 +119,7 @@ | Self::Shell | Self::Unix | Self::Windows => 0..=0, - Self::Confirm | Self::Doc => 0..=1, + Self::Confirm | Self::Doc | Self::Timestamp => 0..=1, Self::Continue | Self::Script => 0..=usize::MAX, Self::Arg | Self::Extension | Self::Group | Self::WorkingDirectory => 1..=1, Self::Env => 2..=2, @@ -201,6 +202,9 @@ let (_, value) = arguments.next().unwrap(); Ok(Self::Env(key, value)) } + AttributeKind::Timestamp => Ok(Self::Timestamp( + arguments.into_iter().next().map(|(_, expr)| expr), + )), AttributeKind::WorkingDirectory => Ok(Self::WorkingDirectory( arguments.into_iter().next().map(|(_, expr)| expr).unwrap(), )), @@ -246,6 +250,7 @@ AttributeKind::Confirm | AttributeKind::Doc | AttributeKind::Env + | AttributeKind::Timestamp | AttributeKind::WorkingDirectory => { unreachable!() } @@ -593,6 +598,7 @@ | Self::Private | Self::Script(None) | Self::Shell + | Self::Timestamp(None) | Self::Unix | Self::Windows => {} Self::Cache { @@ -616,6 +622,7 @@ } Self::Confirm(Some(argument)) | Self::Doc(Some(argument)) + | Self::Timestamp(Some(argument)) | Self::WorkingDirectory(argument) => { write!(f, "({argument})")?; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/src/config.rs new/just-1.58.0/src/config.rs --- old/just-1.57.0/src/config.rs 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/src/config.rs 2026-08-03 22:28:37.000000000 +0200 @@ -149,15 +149,6 @@ } } - pub(crate) fn timestamp(&self) -> RunResult<'static, Option<String>> { - self - .timestamp - .then(|| { - datetime_format(chrono::Local::now(), &self.timestamp_format).map_err(Error::DatetimeFormat) - }) - .transpose() - } - fn parse_override(path: &str) -> ConfigResult<(Modulepath, String)> { let mut path = Modulepath::try_from([path].as_slice()) .map_err(|()| ConfigError::OverridePath { path: path.into() })?; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/src/expression.rs new/just-1.58.0/src/expression.rs --- old/just-1.57.0/src/expression.rs 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/src/expression.rs 2026-08-03 22:28:37.000000000 +0200 @@ -202,7 +202,7 @@ write!(f, "{start}")?; for (expression, string) in expressions { - write!(f, "{expression}{string}")?; + write!(f, " {expression} {string}")?; } Ok(()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/src/lib.rs new/just-1.58.0/src/lib.rs --- old/just-1.57.0/src/lib.rs 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/src/lib.rs 2026-08-03 22:28:37.000000000 +0200 @@ -1,8 +1,11 @@ -//! `just` is primarily used as a command-line binary, but does provide a -//! limited public library interface. +//! `just` is a handy way to save and run project-specific commands, and is +//! primarily used as a command-line binary. //! -//! Please keep in mind that there are no semantic version guarantees for the -//! library interface. It may break or change at any time. +//! See [GitHub](https://github.com/casey/just/) for more information. +//! +//! A limited public library interface is available. Please keep in mind that +//! there are no semantic version guarantees for the library interface. It may +//! break or change at any time. pub(crate) use { crate::{ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/src/recipe.rs new/just-1.58.0/src/recipe.rs --- old/just-1.57.0/src/recipe.rs 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/src/recipe.rs 2026-08-03 22:28:37.000000000 +0200 @@ -201,6 +201,34 @@ self.attributes.contains(AttributeKind::NoQuiet) } + fn timestamp_format( + &self, + config: &Config, + evaluator: &mut Evaluator<'src, '_>, + ) -> RunResult<'src, Option<String>> { + if let Some(attribute) = self.attributes.get(AttributeKind::Timestamp) { + let Attribute::Timestamp(format) = attribute else { + unreachable!(); + }; + Ok(Some( + format + .as_ref() + .map(|expression| { + evaluator.evaluate_string( + expression, + StringContext::TimestampAttribute(self.attributes.name(attribute)), + ) + }) + .transpose()? + .unwrap_or_else(|| config.timestamp_format.clone()), + )) + } else if config.timestamp { + Ok(Some(config.timestamp_format.clone())) + } else { + Ok(None) + } + } + pub(crate) fn run<'run>( &self, context: &ExecutionContext<'src, 'run>, @@ -277,6 +305,8 @@ let working_directory = self.working_directory(context, &mut evaluator)?; + let timestamp_format = self.timestamp_format(config, &mut evaluator)?; + loop { let Some(line) = lines.peek() else { return Ok(()); @@ -321,9 +351,14 @@ let infallible = sigils.contains(&Sigil::Infallible); let quiet = sigils.contains(&Sigil::Quiet); + let timestamp = timestamp_format + .as_deref() + .map(|format| datetime_format(chrono::Local::now(), format).map_err(Error::DatetimeFormat)) + .transpose()?; + if config.dry_run || config.verbosity.loquacious() - || config.timestamp + || timestamp.is_some() || !((quiet ^ self.quiet) || (settings.quiet && !self.no_quiet()) || config.verbosity.quiet()) @@ -335,7 +370,7 @@ } .stderr(); - if let Some(timestamp) = config.timestamp()? { + if let Some(timestamp) = timestamp { eprint!("[{}] ", color.paint(×tamp)); } @@ -437,7 +472,10 @@ ) -> RunResult<'src> { let config = &context.config; - if let Some(timestamp) = config.timestamp()? { + if let Some(format) = self.timestamp_format(config, &mut evaluator)? { + let timestamp = + datetime_format(chrono::Local::now(), &format).map_err(Error::DatetimeFormat)?; + let color = if config.highlight { config.color.command(config.command_color) } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/src/string_context.rs new/just-1.58.0/src/string_context.rs --- old/just-1.57.0/src/string_context.rs 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/src/string_context.rs 2026-08-03 22:28:37.000000000 +0200 @@ -5,6 +5,7 @@ EnvKey(Name<'src>), Function(Name<'src>), Setting(Name<'src>), + TimestampAttribute(Name<'src>), WorkingDirectoryAttribute(Name<'src>), } @@ -14,6 +15,7 @@ Self::EnvKey(name) | Self::Function(name) | Self::Setting(name) + | Self::TimestampAttribute(name) | Self::WorkingDirectoryAttribute(name) => name.token, } } @@ -25,6 +27,9 @@ Self::EnvKey(_) => write!(f, "used as `env` attribute name"), Self::Function(name) => write!(f, "passed to `{name}()`"), Self::Setting(name) => write!(f, "assigned to `{name}` setting"), + Self::TimestampAttribute(_) => { + write!(f, "used as a `[timestamp]` attribute") + } Self::WorkingDirectoryAttribute(_) => { write!(f, "used as a `[working-directory]` attribute") } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/src/unresolved_recipe.rs new/just-1.58.0/src/unresolved_recipe.rs --- old/just-1.57.0/src/unresolved_recipe.rs 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/src/unresolved_recipe.rs 2026-08-03 22:28:37.000000000 +0200 @@ -97,7 +97,9 @@ )?; } } - Attribute::Confirm(Some(expression)) | Attribute::WorkingDirectory(expression) => { + Attribute::Confirm(Some(expression)) + | Attribute::Timestamp(Some(expression)) + | Attribute::WorkingDirectory(expression) => { variable_resolver.resolve_expression( expression, ¶meters, @@ -134,6 +136,7 @@ | Attribute::Private | Attribute::Script(_) | Attribute::Shell + | Attribute::Timestamp(None) | Attribute::Unix | Attribute::Windows => {} } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/tests/format_string.rs new/just-1.58.0/tests/format_string.rs --- old/just-1.57.0/tests/format_string.rs 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/tests/format_string.rs 2026-08-03 22:28:37.000000000 +0200 @@ -254,9 +254,18 @@ case("f''''''"); case(r#"f"""#); case(r#"f"""""""#); - case("f'{{'a'}}b{{'c'}}d'"); - case("f'''{{'a'}}b{{'c'}}d'''"); - case(r#"f"""{{'a'}}b{{'c'}}d""""#); + case("f'{{ 'a' }}b{{ 'c' }}d'"); + case("f'''{{ 'a' }}b{{ 'c' }}d'''"); + case(r#"f"""{{ 'a' }}b{{ 'c' }}d""""#); +} + +#[test] +fn interpolation_expressions_are_formatted_with_spaces() { + Test::new() + .justfile("foo := f'{{'a'}}'") + .arg("--dump") + .stdout("foo := f'{{ 'a' }}'\n") + .success(); } #[test] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/tests/search.rs new/just-1.58.0/tests/search.rs --- old/just-1.57.0/tests/search.rs 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/tests/search.rs 2026-08-03 22:28:37.000000000 +0200 @@ -240,6 +240,38 @@ } #[test] +fn justfile_name_may_be_repeated() { + Test::new() + .write( + "bar", + " + default: + \techo ok + ", + ) + .args(["--justfile-name", "foo", "--justfile-name", "bar"]) + .stderr("echo ok\n") + .stdout("ok\n") + .success(); +} + +#[test] +fn justfile_name_accepts_comma_separated_values() { + Test::new() + .write( + "bar", + " + default: + \techo ok + ", + ) + .args(["--justfile-name", "foo,bar"]) + .stderr("echo ok\n") + .stdout("ok\n") + .success(); +} + +#[test] fn justfile_symlink_parent() { Test::new() .write( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/just-1.57.0/tests/timestamps.rs new/just-1.58.0/tests/timestamps.rs --- old/just-1.57.0/tests/timestamps.rs 2026-07-19 03:56:15.000000000 +0200 +++ new/just-1.58.0/tests/timestamps.rs 2026-08-03 22:28:37.000000000 +0200 @@ -48,6 +48,69 @@ } #[test] +fn attribute() { + Test::new() + .justfile( + " + [timestamp] + recipe: + echo foo + ", + ) + .stderr_regex(concat!(r"\[\d\d:\d\d:\d\d\] echo foo", "\n")) + .stdout("foo\n") + .success(); +} + +#[test] +fn attribute_format() { + Test::new() + .justfile( + " + [timestamp('%H:%M:%S%.3f')] + recipe: + echo foo + ", + ) + .stderr_regex(concat!(r"\[\d\d:\d\d:\d\d\.\d\d\d\] echo foo", "\n")) + .stdout("foo\n") + .success(); +} + +#[test] +fn attribute_format_expression() { + Test::new() + .justfile( + " + format := '%H:%M:%S' + '%.3f' + + [timestamp(format)] + recipe: + echo foo + ", + ) + .stderr_regex(concat!(r"\[\d\d:\d\d:\d\d\.\d\d\d\] echo foo", "\n")) + .stdout("foo\n") + .success(); +} + +#[test] +fn attribute_script() { + Test::new() + .justfile( + " + [timestamp] + recipe: + #!/bin/sh + echo foo + ", + ) + .stderr_regex(concat!(r"\[\d\d:\d\d:\d\d\] recipe", "\n")) + .stdout("foo\n") + .success(); +} + +#[test] fn format_string() { Test::new() .justfile( ++++++ just.obsinfo ++++++ --- /var/tmp/diff_new_pack.G8yqv8/_old 2026-08-09 21:44:43.321467186 +0200 +++ /var/tmp/diff_new_pack.G8yqv8/_new 2026-08-09 21:44:43.329467460 +0200 @@ -1,5 +1,5 @@ name: just -version: 1.57.0 -mtime: 1784426175 -commit: e01a6bd7e7a30baf86bc86d2b95b0998ebbdc36f +version: 1.58.0 +mtime: 1785788917 +commit: 7f4ef81bd6a93faa2b28430912c8e9ab0e3dd29a ++++++ vendor.tar.zst ++++++ /work/SRC/openSUSE:Factory/just/vendor.tar.zst /work/SRC/openSUSE:Factory/.just.new.16738/vendor.tar.zst differ: char 7, line 1
