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.
This commit is contained in:
parent
7a847b1d40
commit
000dd42ac4
2 changed files with 34 additions and 7 deletions
4
debian/changelog
vendored
4
debian/changelog
vendored
|
@ -2,6 +2,10 @@ git-annex (5.20140718) UNRELEASED; urgency=medium
|
|||
|
||||
* webapp: Automatically install Konqueror integration scripts
|
||||
to get and drop files.
|
||||
* repair: Removing bad objects could leave fsck finding no more
|
||||
unreachable objects, but some branches no longer accessible.
|
||||
Fix this, including support for fixing up repositories that
|
||||
were incompletely repaired before.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Mon, 21 Jul 2014 14:41:26 -0400
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue