summaryrefslogtreecommitdiff
path: root/Remote/Helper/Git.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Remote/Helper/Git.hs')
-rw-r--r--Remote/Helper/Git.hs16
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. -}