Re: Reporting bugs and bisection
From: Sverre Rabbelier
Date: Wed Apr 16 2008 - 15:39:57 EST
On Wed, Apr 16, 2008 at 3:26 PM, Adrian Bunk <bunk@xxxxxxxxxx> wrote:
> On Wed, Apr 16, 2008 at 02:15:22PM +0200, Sverre Rabbelier wrote:
> At least with the data we have currently in git it's impossible to
> figure that out automatically.
I don't quite agree, as I explained in my proposal there are several
ways to detect that a commit was a bugfix. From thereon you can deduct
that if it was a bugfix, that the commit that introduced the fixed
change was a bug! From thereon you can start sifting and get more
confirmations. Junio has made several suggestions as to how this could
be implemented and I'm confident that and algorithm can be devised
that is at least capable of 'guessing' what type a commit is. Aside
from the guessing part I think a lot of information can be gathered
from commit msgs.
Of course, some commits might not be able to be typed (as there might
not be any 'follow up' information on them). Those commits can be
marked as 'unknown' and be ignored. Agreed, should all commits be
'unknown' then the command wouldn't be very useful, but especially on
large repos there is a very large dataset. As the size of the dataset
increases I estimate that the correlation between commits increases
(less commits that add new code which then is never changed
therafter). The higher the degree of correlation between individual
commits the more we can determine about the nature of a commit.
> E.g. if you look at commit f743d04dcfbeda7439b78802d35305781999aa11
> (ide/legacy/q40ide.c: add MODULE_LICENSE), how could you determine
> automatically that it is a bugfix, and the commit that introduced
> the bug?
Well, a dead giveaway would be:
"http://bugzilla.kernel.org/show_bug.cgi?id=10124"
> You can always get some data, but if you want to get usable statistics
> you need explicit tags in the commits, not some algorithm that tries
> to guess.
As said above, I don't agree, you can 'guess' very reliably on a large
dataset. Also, most commits are already 'tagged' in some way or
another. The trick is to find the pattern in this tagging and use it.
I hope this clears things up a bit,
Cheers,
Sverre Rabbelier
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/