On Tue, 21 Mar 2006, Mauro Carvalho Chehab wrote: > > I have a -git tree that generated a really bad result when committed by > Linus, generating a really bad history log. My tree is located at: > kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb.git. Here's a mail that went to linux-kernel to explain some more.. Basically, the problem is that the DVB tree has a perfectly normal commit (_not_ a merge commit), which has the commit message "Merging Linus tree" and is just a patch that apparently merged the changes in my tree at some random state (don't know which, since the commit isn't a merge commit, and doesn't point to the parent it merged from). I thought it might be a cherry-pick of a merge, or something like that, but the author/committer dates are the same, so that sounds unlikely. However, I could imagine that "stgit" would do something like this if/when it is used to cherry-pick a merge. Apparently the DVB people also use Mercurial somewhere, so who knows.. Linus --- Date: Tue, 21 Mar 2006 11:32:10 -0800 (PST) From: Linus Torvalds <torvalds@xxxxxxxx> Subject: Re: [PATCH 000/141] V4L/DVB updates part 1 On Tue, 21 Mar 2006, Mauro Carvalho Chehab wrote: > > Weird, I can't see all those stuff here. It shows something like > (running from master copy at kernel.org): I just did the raw output, so my output was from git show --pretty=fuller -r e338b7 which isn't the default, but it's useful if you want to see both committer and author information (and the raw format is just because I wasn't interested in the diff itself, just looking at how many files where changed). > So, after the merging message, I have a normal diff with: > > 179 files changed, 1274 insertions(+), 785 deletions(-) Yeah, we're talking about the same commit. > Seeming all perfect from my knowledge about git. It's a perfectly good commit. BUT IT IS NOT A MERGE, AND IT IS NOT A DIFF THAT I WANT TO SEE COMING IN FROM AN OUTSIDE TREE! Basically, in the DVB tree you have absolutely _no_ business in "merging" work from my tree as a patch, especially when the patch you merge has absolutely zero to do with DVB. You just applied a 5000-line patch to the tree, with no merge message other than "Merge from Linus tree", and no attribution about what the f*ck was merged, and why. THAT is the part I'm unhappy with. The git tree is not "corrupt" from a technical standpoint (it passes fsck). It's "corrupt" because it contains a patch that shouldn't be there, that is mis-attributed, and that incorrectly claims to be a merge when it isn't - it's just a random patch generated against my tree. Linus - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html