diff options
author | 2014-01-13 14:41:10 -0400 | |
---|---|---|
committer | 2014-01-13 14:41:10 -0400 | |
commit | fa7934c035ff09b46d646353683c6d9745f0c94d (patch) | |
tree | ccdbbe618762679e9bc2932e8d92bbee86067fd9 /Remote/Helper/Git.hs | |
parent | 2d9784fae4ea1830865bc77de1a1c4c1b4ce3714 (diff) |
add GETAVAILABILITY to external special remote protocol
And some reworking of types, and added an annex-availability git config
setting.
Diffstat (limited to 'Remote/Helper/Git.hs')
-rw-r--r-- | Remote/Helper/Git.hs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/Remote/Helper/Git.hs b/Remote/Helper/Git.hs index 7c24ff2e7..d76cb2ee7 100644 --- a/Remote/Helper/Git.hs +++ b/Remote/Helper/Git.hs @@ -1,6 +1,6 @@ {- Utilities for git remotes. - - - Copyright 2011-2012 Joey Hess <joey@kitenet.net> + - Copyright 2011-2014 Joey Hess <joey@kitenet.net> - - Licensed under the GNU GPL version 3 or higher. -} @@ -9,18 +9,20 @@ module Remote.Helper.Git where import Common.Annex import qualified Git +import Types.Availability repoCheap :: Git.Repo -> Bool repoCheap = not . Git.repoIsUrl localpathCalc :: Git.Repo -> Maybe FilePath -localpathCalc r = if globallyAvailableCalc r - then Nothing - else Just $ Git.repoPath r +localpathCalc r + | availabilityCalc r == GloballyAvailable = Nothing + | otherwise = Just $ Git.repoPath r -globallyAvailableCalc :: Git.Repo -> Bool -globallyAvailableCalc r = not $ - Git.repoIsLocal r || Git.repoIsLocalUnknown r +availabilityCalc :: Git.Repo -> Availability +availabilityCalc r + | (Git.repoIsLocal r || Git.repoIsLocalUnknown r) = LocallyAvailable + | otherwise = GloballyAvailable {- Avoids performing an action on a local repository that's not usable. - Does not check that the repository is still available on disk. -} |