summaryrefslogtreecommitdiff
path: root/Git/Destroyer.hs
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2013-11-21 13:44:56 -0400
committerJoey Hess <joey@kitenet.net>2013-11-21 13:48:34 -0400
commit0be4febab2f4fe102d2bd1bb9bf564ea0b5e1ee6 (patch)
tree9a754244f9514923bfc5576b0fe031de06074023 /Git/Destroyer.hs
parent8e67a1e418e51c3ddf4d4b100d6bd61211a1a60b (diff)
downloadgit-repair-0be4febab2f4fe102d2bd1bb9bf564ea0b5e1ee6.tar.gz
improve findMissing
git cat-file -p cannot be relied on to tell when an object is corrupt. If it fails, the fsck may not find all bad objects -- but as long as fsck exits nonzero, it will return a failing fsckresult, and so recovery will run. In recovery, the objects get unpacked. This allows the improved findMissing to find all corrupt loose objects when fsck is run again as part of the recovery. Removed the repack / prune-packed workaround that I added earlier to find corrupt loose objects that fsck wasn't finding. That was slow, and we want to keep all loose objects, so that findMissing will work. And, it's unncessary, now that findMissing is fixed. Also, fixed some places where unreadable files would crash recovery.
Diffstat (limited to 'Git/Destroyer.hs')
0 files changed, 0 insertions, 0 deletions