diff options
Diffstat (limited to 'Remote/Git.hs')
-rw-r--r-- | Remote/Git.hs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Remote/Git.hs b/Remote/Git.hs index 480d4f714..ba247078b 100644 --- a/Remote/Git.hs +++ b/Remote/Git.hs @@ -117,6 +117,9 @@ gen r u c gc , remoteFsck = if Git.repoIsUrl r then Nothing else Just $ fsckOnRemote r + , repairRepo = if Git.repoIsUrl r + then Nothing + else Just $ repairRemote r , config = M.empty , localpath = localpathCalc r , repo = r @@ -419,6 +422,10 @@ fsckOnRemote r params ] ++ env batchCommandEnv program (Param "fsck" : params) (Just env') +{- The passed repair action is run in the Annex monad of the remote. -} +repairRemote :: Git.Repo -> Annex Bool -> Annex (IO Bool) +repairRemote r a = return $ Remote.Git.onLocal r a + {- Runs an action on a local repository inexpensively, by making an annex - monad using that repository. -} onLocal :: Git.Repo -> Annex a -> IO a |