diff options
Diffstat (limited to 'Remote')
-rw-r--r-- | Remote/Git.hs | 8 | ||||
-rw-r--r-- | Remote/List.hs | 7 |
2 files changed, 12 insertions, 3 deletions
diff --git a/Remote/Git.hs b/Remote/Git.hs index 149146616..795823ca6 100644 --- a/Remote/Git.hs +++ b/Remote/Git.hs @@ -125,6 +125,14 @@ gen r u c gc repoAvail :: Git.Repo -> Annex Bool repoAvail r | Git.repoIsHttp r = return True + | Git.GCrypt.isEncrypted r = do + g <- gitRepo + liftIO $ do + er <- Git.GCrypt.encryptedRepo g r + if Git.repoIsLocal er || Git.repoIsLocalUnknown er + then catchBoolIO $ + void (Git.Config.read er) >> return True + else return True | Git.repoIsUrl r = return True | Git.repoIsLocalUnknown r = return False | otherwise = liftIO $ catchBoolIO $ onLocal r $ return True diff --git a/Remote/List.hs b/Remote/List.hs index c106e9ad9..f38c1daaa 100644 --- a/Remote/List.hs +++ b/Remote/List.hs @@ -100,6 +100,7 @@ updateRemote remote = do Remote.Git.configRead r | otherwise = return r -{- Checks if a remote is a special remote -} -specialRemote :: Remote -> Bool -specialRemote r = remotetype r /= Remote.Git.remote +{- Checks if a remote is syncable using git. -} +syncableRemote :: Remote -> Bool +syncableRemote r = remotetype r `elem` + [ Remote.Git.remote, Remote.GCrypt.remote ] |