summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2013-11-21 20:14:41 -0400
committerJoey Hess <joey@kitenet.net>2013-11-21 20:14:41 -0400
commit2627ebbe56c962407fa0193d77f4a2a61596d87d (patch)
treef6aa7cba2e1fd7df139bf05c5591fc37d547c789
parent48d3cca83daf75adbe2b83c48c74208f37272d94 (diff)
downloadgit-repair-2627ebbe56c962407fa0193d77f4a2a61596d87d.tar.gz
merge from git-annex
-rw-r--r--Git/Repair.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/Git/Repair.hs b/Git/Repair.hs
index 73f141c..2fe9f38 100644
--- a/Git/Repair.hs
+++ b/Git/Repair.hs
@@ -434,13 +434,18 @@ runRepair forced g = do
putStrLn "Running git fsck ..."
fsckresult <- findBroken False g
if foundBroken fsckresult
- then runRepairOf fsckresult forced Nothing g
+ then runRepair' fsckresult forced Nothing g
else do
putStrLn "No problems found."
return (True, S.empty, [])
runRepairOf :: FsckResults -> Bool -> Maybe FilePath -> Repo -> IO (Bool, MissingObjects, [Branch])
runRepairOf fsckresult forced referencerepo g = do
+ preRepair g
+ runRepair' fsckresult forced referencerepo g
+
+runRepair' :: FsckResults -> Bool -> Maybe FilePath -> Repo -> IO (Bool, MissingObjects, [Branch])
+runRepair' fsckresult forced referencerepo g = do
missing <- cleanCorruptObjects fsckresult g
stillmissing <- retrieveMissingObjects missing referencerepo g
case stillmissing of