Subject: git-prune-script eats data

From: Jeff Garzik <[email-masked]>
Date: Tue, 21 Jun 2005 20:51:53 -0400

Ok, I have a reproducible case (at least for me), of git-prune-script 
munching data. I'll just give reproduction instructions (everyone 
reading this can do what I did), and some output at the end.

$ cd /repos

$ mkdir libata-dev-test/.git

$ cd libata-dev-test

$ cp -al ../linux-2.6/.git/objects .git/

$ rsync -az --verbose --delete \
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev.git/ 
  .git/		# word-wrapped from previous line

$ git-checkout-script -f

$ git-fsck-cache
dangling commit 1b142a71f3b131317489edf806abfab4c347476c
dangling commit 51a7f407d9b600e3278449a12135a21ffb0791a2
dangling commit eb93f3e7284204379444137a660b64f9dbd2ec04
dangling commit fcf604172829176bc618663e8387c8943ff88b66

NOTE:  These dangling commits are NORMAL -- stuff that really does need 
pruning.

$ git-prune-script

$ git-fsck-cache
error: cannot map sha1 file c39ae07f393806ccf406ef966e9a15afc43cc36a
bad object in tag 5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c
bad sha1 entry '5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c'

$ rsync -az --verbose --delete \
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev.git/ 
  .git/		# word-wrapped from previous line
		# this second invocation downloads a TON of objects,
		# most/all of which are in the vanilla linux-2.6 tree
		# and should not have been pruned