From: Jon Seymour Date: Sat, 23 Jul 2011 09:25:50 GMT Subject: Re: RFC: Should git gc/repack respect .git/refs/replace? Message-ID: In-Reply-To: On Sat, Jul 23, 2011 at 7:20 PM, Andreas Schwab wrote: > Jon Seymour writes: > >> I recently damaged a USB drive containing an archive of a finished project. >> >> I am able to paper over a week of missing history by using the git >> replace mechanism, so that git rev-list now works as expected. >> >> When I run git gc or git repack, I get the following: >> >>    error: Could not read 023a1d5d3977420ba041cb556c0eee17c326aeb6 >>    fatal: Failed to traverse parents of commit >> 44d578ea81f7a90989e2ee3c676f50e3aff7071f > > git-replace(1): > >       Replacement references will be used by default by all git commands >       except those doing reachability traversal (prune, pack transfer and >       fsck). > Oops. Missed that - thanks. > This is required, since the replaced objects are not supposed to be > recycled.  If you want to make the replacements permanent use git > filter-branch. Ah, makes sense. jon.