implement Unavilable for borg bup ddar directory rsync
Only gcrypt remains to add support for. (Well, possibly also adb?) Sponsored-by: Luke T. Shumaker on Patreon
This commit is contained in:
parent
67c99a4db7
commit
977403d338
9 changed files with 42 additions and 12 deletions
|
@ -21,7 +21,7 @@ repoCheap = not . Git.repoIsUrl
|
|||
|
||||
localpathCalc :: Git.Repo -> Maybe FilePath
|
||||
localpathCalc r
|
||||
| availabilityCalc r == GloballyAvailable = Nothing
|
||||
| not (Git.repoIsLocal r) && not (Git.repoIsLocalUnknown r) = Nothing
|
||||
| otherwise = Just $ fromRawFilePath $ Git.repoPath r
|
||||
|
||||
availabilityCalc :: Git.Repo -> Availability
|
||||
|
|
19
Remote/Helper/Path.hs
Normal file
19
Remote/Helper/Path.hs
Normal file
|
@ -0,0 +1,19 @@
|
|||
{- Utilities for remotes located in a path in the filesystem.
|
||||
-
|
||||
- Copyright 2023 Joey Hess <id@joeyh.name>
|
||||
-
|
||||
- Licensed under the GNU AGPL version 3 or higher.
|
||||
-}
|
||||
|
||||
module Remote.Helper.Path where
|
||||
|
||||
import Annex.Common
|
||||
import Types.Availability
|
||||
|
||||
checkPathAvailability :: Bool -> FilePath -> Annex Availability
|
||||
checkPathAvailability islocal d
|
||||
| not islocal = return GloballyAvailable
|
||||
| otherwise = ifM (liftIO $ doesDirectoryExist d)
|
||||
( return LocallyAvailable
|
||||
, return Unavailable
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue