Linus Torvalds [off-list ref] writes:
On Thu, 18 May 2006, Junio C Hamano wrote:
quoted
I haven't looked at what the test does, but I think he is
talking about the opposite. fsck by design does not honor
grafts, and if you grafted a history back to your true root
commit, that "older" history will be lost.
Ahh. Ok. Gotcha.
Linus
Is it really OK?
I said "fsck by design does not honor" as a flamebait.
And what I said was completely untrue. Sorry.
If you have a commit chain A->B->C and graft B away by saying
C's parent is A, fsck does read graft and discards B. But that
is what the user asked to do, so I agree with your initial
response to Yann.
And the opposite case of grafting older history back to the real
root commit was a false alarm. You would not lose such a
history, because the ancestry traversal will go right through
the real root and traverses the older history.