From: Linus Torvalds Date: Mon, 26 Sep 2005 17:55:49 GMT Subject: Re: rsync deprecated but promoted? Message-ID: In-Reply-To: On Mon, 26 Sep 2005, walt wrote: > > Just because you mentioned it, I did a git-fsck-objects on my local > copies of your kernel tree and Junio's git tree. > > From git I got this: > $git-fsck-objects > missing commit 00d8bbd3c4bba72a6dfd48c2c0c9cbaa000f13c2 > broken link from tag 02b2acff8bafb6d73c6513469cdda0c6c18c4138 > to commit d5bc7eecbbb0b9f6122708bf5cd62f78ebdaafd8 > > > From your tree I got only this single line: > dangling commit 02459eaab98a6a57717bc0cacede148fc76af881 That commit shouldn't be dangling, but I suspect it is harmless and is most likely because you have pack-files. Use "git-fsck-cache --full" if you are downloading with http/rsync (since that gets packs without unpacking them, and you haven't re-packed everything). The git thing may be similar, although it sounds unlikely. A more likely reason is that earlier http pulling got incomplete trees if you ever interrupted it with ^C. > Yet both trees compile and run perfectly. Are these messages > worrisome? (BTW, git was cloned and updated using http.) Yes, they can be worrisome. Some of it may be normal (I really suspect that the kernel tree is that kind - a "dangling commit" is almost always either because you've lost a tag or because of a pack-file that wasn't examined). Your git tree is quote possibly corrupted. The good news is that if "git checkout" works, then the corruption is all old - you may not have all of the history, but the corruption is "harmless". There's nothing fundamentally wrong with not having all of history: it will cause fsck to complain (unless you "plug" the history by using a graft file). And obviously it means that you may not be able to go back in time - but you may never even care. A "git-http-fetch --recover HEAD " _should_ fix it, but I don't think that works right now. It's documented, but it doesn't do anything. Junio? Linus