git-remote-annex: Fix buggy behavior when annex.stalldetection is configured
Make programPath never return "git-remote-annex" or other known multi-call program names, which are not git-annex and won't behave like it. If the git-annex binary gets installed under some entirely other name, it will still return it. This change exposed that readProgramFile actually could crash, which happened before only if getExecutablePath was not absolute and there was no ~/.config/git-annex/program. So fixed that to catch exception.
This commit is contained in:
parent
2fc76ef062
commit
8663c72f1e
7 changed files with 66 additions and 11 deletions
28
CmdLine/Multicall.hs
Normal file
28
CmdLine/Multicall.hs
Normal file
|
@ -0,0 +1,28 @@
|
|||
{- git-annex multicall binary
|
||||
-
|
||||
- Copyright 2024 Joey Hess <id@joeyh.name>
|
||||
-
|
||||
- Licensed under the GNU AGPL version 3 or higher.
|
||||
-}
|
||||
|
||||
module CmdLine.Multicall where
|
||||
|
||||
import qualified Data.Map as M
|
||||
|
||||
-- Commands besides git-annex that can be run by the multicall binary.
|
||||
--
|
||||
-- The reason git-annex itself is not included here is because the program
|
||||
-- can be renamed to any other name than these and will behave the same as
|
||||
-- git-annex.
|
||||
data OtherMultiCallCommand
|
||||
= GitAnnexShell
|
||||
| GitRemoteAnnex
|
||||
| GitRemoteTorAnnex
|
||||
|
||||
otherMulticallCommands :: M.Map String OtherMultiCallCommand
|
||||
otherMulticallCommands = M.fromList
|
||||
[ ("git-annex-shell", GitAnnexShell)
|
||||
, ("git-remote-annex", GitRemoteAnnex)
|
||||
, ("git-remote-tor-annex", GitRemoteTorAnnex)
|
||||
]
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue