From: Santi Béjar Date: Thu, 22 Oct 2009 16:50:30 GMT Subject: Re: git bisect Vs branch Message-ID: In-Reply-To: <4AE07EEB.2010101@maxim-ic.com> On Thu, Oct 22, 2009 at 5:48 PM, Grégory Romé wrote: > Considering the following story what is the method to find the regression > with bisect? > > I cloned a git repository (origin) which derives from another one > (first-origin). A merge is done from first-origin to origin at each stable > release (identified by a tag). > > first-origin/master  *---A---------B-----------------------C- >                         \         \                       \ > origin/master              ----------B'----------U-----------C'- >                                     \           \           \   master >                           ------------U'----------C''- > > Now, after that I merged C' I fixed the conflicts and compiled without error > but I have a regression. It could come from any commit between B and C or U > and C', and I need to modify my code to correct the issue. > > I would like to find the commit which introduce this regression by using git > bisect but as the history is not linear it is not so easy (1). It though to > create a linear history but I have no idea how to proceed... You just have to proceed as normal, but you may test more commits than with a linear history. The only problem is iff the culprit is a merge commit (as in the user-manual chapter you linked). And the "problem" is to know where exactly in the (merge) commit is the bug, but not the procedure. HTH, Santi