summaryrefslogtreecommitdiff
path: root/git-recover-repository.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-10-22 14:39:45 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-10-22 14:49:41 -0400
commitb9186e3c2097cf8c94403b38c9dbe6ed382d82b0 (patch)
tree77fe35280a9c999f2bb74939f6ef334ab64a9f48 /git-recover-repository.hs
parent708745e1e23725f0e90a4fa4f01b863edbf844d4 (diff)
make git fsck batch-capable
Diffstat (limited to 'git-recover-repository.hs')
-rw-r--r--git-recover-repository.hs7
1 files changed, 5 insertions, 2 deletions
diff --git a/git-recover-repository.hs b/git-recover-repository.hs
index 11a0b3a1c..d2249a433 100644
--- a/git-recover-repository.hs
+++ b/git-recover-repository.hs
@@ -1,6 +1,6 @@
{- git-recover-repository program
-
- - Copyright 2012 Joey Hess <joey@kitenet.net>
+ - Copyright 2013 Joey Hess <joey@kitenet.net>
-
- Licensed under the GNU GPL version 3 or higher.
-}
@@ -15,6 +15,7 @@ import qualified Data.Set as S
import Common
import qualified Git
import qualified Git.CurrentRepo
+import qualified Git.Fsck
import qualified Git.RecoverRepository
import qualified Git.Config
import qualified Git.Branch
@@ -46,7 +47,9 @@ main = do
forced <- parseArgs
g <- Git.Config.read =<< Git.CurrentRepo.get
- missing <- Git.RecoverRepository.cleanCorruptObjects g
+ putStrLn "Running git fsck ..."
+ fsckresult <- Git.Fsck.findBroken False g
+ missing <- Git.RecoverRepository.cleanCorruptObjects fsckresult g
stillmissing <- Git.RecoverRepository.retrieveMissingObjects missing g
if S.null stillmissing
then putStr $ unlines