catch chdir exception in --autostop

assistant --autostop: Avoid crashing when ~/.config/git-annex/autostart
lists a directory that it cannot chdir to.

Sponsored-by: k0ld on Patreon
This commit is contained in:
Joey Hess 2023-04-19 12:42:02 -04:00
parent d223fa3b0a
commit 31e4b6dee1
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
3 changed files with 12 additions and 5 deletions

View file

@ -22,6 +22,8 @@ git-annex (10.20230408) UNRELEASED; urgency=medium
are passed.
* configremote: New command, currently limited to changing autoenable=
setting of a special remote.
* assistant --autostop: Avoid crashing when ~/.config/git-annex/autostart
lists a directory that it cannot chdir to.
-- Joey Hess <id@joeyh.name> Sat, 08 Apr 2023 13:57:18 -0400

View file

@ -130,8 +130,11 @@ autoStop = do
program <- programPath
forM_ dirs $ \d -> do
putStrLn $ "git-annex autostop in " ++ d
setCurrentDirectory d
ifM (boolSystem program [Param "assistant", Param "--stop"])
( putStrLn "ok"
, putStrLn "failed"
)
tryIO (setCurrentDirectory d) >>= \case
Right () -> ifM (boolSystem program [Param "assistant", Param "--stop"])
( putStrLn "ok"
, putStrLn "failed"
)
Left e -> do
putStrLn (show e)
putStrLn "failed"

View file

@ -21,3 +21,5 @@ git-annex version: 10.20230329-ge6a337e8e
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
I love it! 🤩
> [[fixed|done]] --[[Joey]]