{"thread":{"id":"29459","subject":"Bisecting through the middle of a big merge?","startedAt":"2012-01-28T00:03:20Z","lastAt":"2012-01-28T22:18:29Z","messageCount":5,"participants":["walt","Andreas Schwab"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"183212","messageId":"jfve09$ih5$1@dough.gmane.org","threadId":"29459","inReplyTo":null,"subject":"Bisecting through the middle of a big merge?","fromName":"walt","fromEmail":"w41ter@gmail.com","sentAt":"2012-01-28T00:03:20Z","receivedAt":"2012-01-28T00:03:20Z","isPatch":false,"sender":{"key":"w41ter@gmail.com","avatar":null},"body":"My problem is that I lack a good mental model of what git does\nwhen it commits a big merge, and so I get lost when I try to\nbisect back through a merge.  (I'm a tester, not a developer.)\n\nThis specific recent example is causing me problems:\n\nMerge: b3c9dd1 85a0f7b\nAuthor: Linus Torvalds\nDate:   Sun Jan 15 12:48:41 2012 -0800\n    Merge branch 'for-3.3/drivers' of git://git.kernel.dk/linux-block\n\nThere are many individual commits from Tejun Heo et al included\nin that one big commit from Linus.  Unfortunately for me, some of\nthose commits cause other problems that I'm not trying to bisect;\nother problems that evidently get fixed by other commits in the\nsame big merge.\n\nSo I do 'git bisect skip' six or eight times until the 'false' bug\ngoes away, and that leaves me at the end of the bisect without finding\nthe individual commit that's causing my 'real' bug.\n\nHow do you experts handle this kind of problem?\n\nThanks for any clues.\n"},{"id":"183219","messageId":"m239b0fbpb.fsf@igel.home","threadId":"29459","inReplyTo":"jfve09$ih5$1@dough.gmane.org","subject":"Re: Bisecting through the middle of a big merge?","fromName":"Andreas Schwab","fromEmail":"schwab@linux-m68k.org","sentAt":"2012-01-28T08:55:28Z","receivedAt":"2012-01-28T08:55:28Z","isPatch":false,"sender":{"key":"schwab@linux-m68k.org","avatar":"https://avatars.githubusercontent.com/u/2175493?v=4"},"body":"walt <w41ter@gmail.com> writes:\n\n> There are many individual commits from Tejun Heo et al included\n> in that one big commit from Linus.  Unfortunately for me, some of\n> those commits cause other problems that I'm not trying to bisect;\n> other problems that evidently get fixed by other commits in the\n> same big merge.\n>\n> So I do 'git bisect skip' six or eight times until the 'false' bug\n> goes away, and that leaves me at the end of the bisect without finding\n> the individual commit that's causing my 'real' bug.\n>\n> How do you experts handle this kind of problem?\n\nIf you can identify the commit that fixes the unrelated problem you can\ntry to cherry-pick it during the bisect.\n\nAndreas.\n\n-- \nAndreas Schwab, schwab@linux-m68k.org\nGPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5\n\"And now for something completely different.\"\n"},{"id":"183229","messageId":"jg1e0t$5cs$1@dough.gmane.org","threadId":"29459","inReplyTo":"m239b0fbpb.fsf@igel.home","subject":"Re: Bisecting through the middle of a big merge?","fromName":"walt","fromEmail":"w41ter@gmail.com","sentAt":"2012-01-28T18:15:51Z","receivedAt":"2012-01-28T18:15:51Z","isPatch":false,"sender":{"key":"w41ter@gmail.com","avatar":null},"body":"On 01/28/2012 12:55 AM, Andreas Schwab wrote:\n> walt <w41ter@gmail.com> writes:\n> \n>> There are many individual commits from Tejun Heo et al included\n>> in that one big commit from Linus.  Unfortunately for me, some of\n>> those commits cause other problems that I'm not trying to bisect;\n>> other problems that evidently get fixed by other commits in the\n>> same big merge.\n>>\n>> So I do 'git bisect skip' six or eight times until the 'false' bug\n>> goes away, and that leaves me at the end of the bisect without finding\n>> the individual commit that's causing my 'real' bug.\n>>\n>> How do you experts handle this kind of problem?\n> \n> If you can identify the commit that fixes the unrelated problem you can\n> try to cherry-pick it during the bisect.\n\nThanks Andreas.  With an eye to doing that, is there an easy way to\nget a list of all the commits included in Linus's merge?  (I mean a\nmore accurate list than Linus casually mentions in his commit message.)\n\nTrying to build that mental model I mentioned:  All the commits from\nTejun Heo are dated mid-December but Linus didn't commit them until\nmid-January.  When I'm bisecting through that merge, git builds the\nkernels with names like vmlinuz-3.2.0-rc5-foo, i.e. names a month\nolder than Linus's current kernel version.  Where does git get those\nolder names during the bisect?  And does my working tree exclude all\nof Linus's commits made later than 3.2.0-rc5-foo?\n\nMany thanks.\n"},{"id":"183230","messageId":"m2ty3ffw2f.fsf@igel.home","threadId":"29459","inReplyTo":"jg1e0t$5cs$1@dough.gmane.org","subject":"Re: Bisecting through the middle of a big merge?","fromName":"Andreas Schwab","fromEmail":"schwab@linux-m68k.org","sentAt":"2012-01-28T19:47:52Z","receivedAt":"2012-01-28T19:47:52Z","isPatch":false,"sender":{"key":"schwab@linux-m68k.org","avatar":"https://avatars.githubusercontent.com/u/2175493?v=4"},"body":"walt <w41ter@gmail.com> writes:\n\n> With an eye to doing that, is there an easy way to get a list of all\n> the commits included in Linus's merge?\n\n$ git log merge-commit^..merge-commit\n\nAndreas.\n\n-- \nAndreas Schwab, schwab@linux-m68k.org\nGPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5\n\"And now for something completely different.\"\n"},{"id":"183231","messageId":"jg1s7m$1qu$1@dough.gmane.org","threadId":"29459","inReplyTo":"m2ty3ffw2f.fsf@igel.home","subject":"Re: Bisecting through the middle of a big merge?","fromName":"walt","fromEmail":"w41ter@gmail.com","sentAt":"2012-01-28T22:18:29Z","receivedAt":"2012-01-28T22:18:29Z","isPatch":false,"sender":{"key":"w41ter@gmail.com","avatar":null},"body":"On 01/28/2012 11:47 AM, Andreas Schwab wrote:\n> walt <w41ter@gmail.com> writes:\n> \n>> With an eye to doing that, is there an easy way to get a list of all\n>> the commits included in Linus's merge?\n> \n> $ git log merge-commit^..merge-commit\n\nAmazing. And obvious now that you've already told me the answer.\nI'm not thinking like a developer yet, but I'm working on it :)\n"}]}