diff options
author | Joey Hess <joey@kitenet.net> | 2013-11-20 19:00:56 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-11-20 19:00:56 -0400 |
commit | 05c41e3e2f166ee59092f7e63dea7448e1bd7a95 (patch) | |
tree | 1400528acb522a4a956ad4318b3143b6b2a78ee3 /Git/Repair.hs | |
parent | 79f473e57419a21803c85d3bd42d20de5bea148f (diff) | |
download | git-repair-05c41e3e2f166ee59092f7e63dea7448e1bd7a95.tar.gz |
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.
Diffstat (limited to 'Git/Repair.hs')
-rw-r--r-- | Git/Repair.hs | 8 |
1 files 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 ) |