git/list[1] front-page[2] threads[3] people[4] search[5] about
 

git bisect idea: Asymmetric split points

From
POPeter Osterlund <petero2@telia.com>
Date
Oct 8, 2006, 23:43 UTC
Message-ID
<m38xjqfk6r.fsf@telia.com>

I was using git bisect today when trying to track down a random kernel hang during boot. Since the hang is random, ie it only hangs during some boots, identifying a bad version is easier than identifying a good version. If it hangs during one boot, the kernel is clearly bad, but if it doesn't hang I can't be sure if it's good or bad. I have to test several times to be reasonably sure that a kernel is good.

In this scenario identifying a bad kernel is easier than identifying a good kernel. This means that if I want to find the guilty commit as fast as possible the best strategy is not to split the remaining commit list in half. In this case it would be better to split closer to a known bad commit.

You can also imagine cases where identifying a bad version is more costly than identifying a good one. One example would be if a bad kernel has nasty side effects, such as file system corruption, that you have to fix up before you can continue bisecting.

To handle these cases more efficiently, I think it would be nice to be able to tell git bisect where the bisection point is wanted, for example by specifying a percentage.

Does this sound like a good idea? Would it be hard to implement?
-- 
Peter Osterlund - petero2@telia.com
http://web.telia.com/~u89404340
Next: Linus Torvalds
Message 1 of 2 in “git bisect idea: Asymmetric split points”
  1. Peter OsterlundOct 8, 2006
  2. Linus TorvaldsOct 9, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.