Linus Torvalds <torvalds@xxxxxxxx> writes: > But if you want to get it for any random merges, you can always just do > > git log -11 --pretty=oneline ^$commit^ $commit^@ | > sed 's/[0-9a-f]* // ; 11 s/.*/\.\.\./' > > which will show up to the ten first commits that were merged (and turn the > eleventh one, if it exists, into "..." - that's a pretty disgusting trick > to make it show when you left things out). > > That "^$commit^ $commit^@" part is important. It may look like some > deranged git smiley, but it does exactly what you want it to do: take all > the parents of the commit, but ignore any commit reachable from the first > one (the "mainline" of the person who did the commit). > > The ^@ syntax is obviously pretty new, so it requires a modern git. It is indeed very quite new. Merged into "master" branch at the beginning of this month. I often wish we had a straightforward way to tell when a given feature went into the mainline, not just appeared on a topic branch. In this case, I said: $ git whatchanged -p -S'"^@"' master -- revision.c to find ea4a19 commit (Apr 30 00:54:29 2006 -0700). But that was when the feature was first made on one of my topic branches, which is not what I was looking for. By looking at gitk, I can then tell 83262e (May 1 01:54:27) merged it to "next", and 746437 (May 1 22:55:40) merged it to "master". In general this is an unsolvable question, because I can have a topic branch forked off of the tip of "master", cook it for a few days without advancing "master" at all, and merge it to "master" after that. But such a merge will be a fast-forward. - : 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