diff options
author | Joey Hess <joey@kitenet.net> | 2013-11-21 20:26:02 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-11-21 20:26:02 -0400 |
commit | 6cb3d15ee745bf0365b142e324585bbe1ea37d01 (patch) | |
tree | ad94abedc5b142f4b1a711d418941e91cd2657d8 | |
parent | 3cab695e89afa40bba04e5b0e2de45bda1501e6c (diff) | |
download | git-repair-6cb3d15ee745bf0365b142e324585bbe1ea37d01.tar.gz |
try turning on write bit on loose objects
Avoid deleting them if that's the only problem.
-rw-r--r-- | Git/Repair.hs | 1 |
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 |