Re: RFC: Should git gc/repack respect .git/refs/replace?

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: RFC: Should git gc/repack respect .git/refs/replace?

From: Andreas Schwab <hidden>
Date: 2016-06-15 22:51:38

Jon Seymour [off-list ref] 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).

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.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

Re: RFC: Should git gc/repack respect .git/refs/replace?

From: Jon Seymour <hidden>
Date: 2016-06-15 22:51:38

On Sat, Jul 23, 2011 at 7:20 PM, Andreas Schwab [off-list ref] wrote:
Jon Seymour [off-list ref] writes:
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help