summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Git/Repair.hs1
1 files changed, 1 insertions, 0 deletions
diff --git a/Git/Repair.hs b/Git/Repair.hs
index dafdd3f..f1e6818 100644
--- a/Git/Repair.hs
+++ b/Git/Repair.hs
@@ -50,6 +50,7 @@ cleanCorruptObjects :: FsckResults -> Repo -> IO (Maybe MissingObjects)
cleanCorruptObjects fsckresults r = do
void $ explodePacks r
objs <- listLooseObjectShas r
+ mapM_ (tryIO . allowRead . looseObjectFile r) objs
bad <- findMissing objs r
void $ removeLoose r $ S.union bad (fromMaybe S.empty fsckresults)
-- Rather than returning the loose objects that were removed, re-run