aboutsummaryrefslogtreecommitdiff
path: root/Remote
diff options
context:
space:
mode:
Diffstat (limited to 'Remote')
-rw-r--r--Remote/Git.hs8
-rw-r--r--Remote/List.hs7
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 ]