diff options
author | Joey Hess <joey@kitenet.net> | 2014-07-21 18:42:58 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-07-21 18:42:58 -0400 |
commit | 7b153c3e82d2fce15cbd4d948b71aef7e56a2f04 (patch) | |
tree | 3f0619a00c56c4b6c5a66c5c28331dec13e3ea44 /Logs/Remote.hs | |
parent | 409523f7e239a47d65c50ebedb3b8b0417fe79e0 (diff) |
improve repair of bad branches
The repair code assumed that if fsck found no broken objects, after
removing bad objects and possibly pulling replacements from remote, all was
well.. but this is not really true. Removing bad objects could leave some
branches broken. fsck doesn't report any missing objects in this case,
and its messages about broken branches are ignored by the fsck output
parser.
To deal with this, added a separate scan of all refs to find broken ones
and remove them when --forced. This will also let anyone who ran into this
bug run repair again to fix up the incomplete repair done before.
This commit was sponsored by Aaron Whitehouse.
Diffstat (limited to 'Logs/Remote.hs')
0 files changed, 0 insertions, 0 deletions