From 05c41e3e2f166ee59092f7e63dea7448e1bd7a95 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 20 Nov 2013 19:00:56 -0400 Subject: fix another failure In this case, fsck failed once for some reason that was corrected by fetching. But then it failed again due to an object with a bad type, which remained in tree after fetching from origin. So, let cleanCorruptObjects run again after fetching. --- Git/Repair.hs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Git/Repair.hs b/Git/Repair.hs index afbb87d..2578f2c 100644 --- a/Git/Repair.hs +++ b/Git/Repair.hs @@ -523,11 +523,9 @@ runRepairOf fsckresult forced referencerepo g = do Nothing | forced -> ifM (pure (repoIsLocalBare g) <||> checkIndex S.empty g) ( do - fsckresult' <- findBroken False g - case fsckresult' of - Nothing -> do - putStrLn "Unable to fully recover; cannot find missing objects." - return (False, S.empty, []) + missing' <- cleanCorruptObjects Nothing g + case missing' of + Nothing -> return (False, S.empty, []) Just stillmissing' -> continuerepairs stillmissing' , corruptedindex ) -- cgit v1.2.3