digitalmars.D - Re: Front-end release.NEXT
- "H. S. Teoh" <hsteoh quickfur.ath.cx> Aug 30 2013
- Justin Whear <justin economicmodeling.com> Aug 30 2013
On Fri, Aug 30, 2013 at 12:43:44PM -0700, Walter Bright wrote:On 8/30/2013 11:32 AM, H. S. Teoh wrote:
I obtained a +1 Sword of Bisection from a git this morning, and decided to go commit hunting. I found the specific commits that introduced the following regressions (see bug notes for the offending commits): 10687 - Refused cast from uint[] to array of uint-based enums at compile-time 10401 - ICE(ztc/symbol.c 1035) - inline Nullable struct with JSONValue 10425 - Link error with templates 10555 - enumerator can no longer increment beyond maximum of initializer 10617 - contract with -profile -debug is not nothrow 10630 - Structs with disabled default construction can't be used as `out` parameters I would fix them myself, except that my dmd-fu level isn't high enough to take them on yet. ;-)
Thank you. This is great information.
And easily obtained with git bisect, about 5-10 minutes per bug. :) On Fri, Aug 30, 2013 at 12:45:16PM -0700, Walter Bright wrote: [...]BTW, please add this information to both the regression issues and the issues who's resolution introduced the regression.
Done. The bugs whose resolution introduced the regressions were pretty easy to find, except for 10687: I had to read up on how to work with complicated git revision ranges to isolate it. :) Turns out it's another regression from Don's epic pull: https://github.com/D-Programming-Language/dmd/pull/2136 Unfortunately, for all of its epicness, a change of such magnitude inevitably introduces/exposes other flaws, and this is one of them (already the second one noted on the pull page). One of these days I'll have to research a little more how to more easily identify the merge commit that pulled in a particular commit. Since all commits only refer to their ancestors, git has no easy way of following the chain downstream to the merge point (at least, none that I know of). If anyone knows some git-fu to do this, I'd be very much obliged. :) T -- Кто везде - тот нигде.
Aug 30 2013
On Fri, 30 Aug 2013 14:35:04 -0700, H. S. Teoh wrote:On Fri, Aug 30, 2013 at 12:43:44PM -0700, Walter Bright wrote: One of these days I'll have to research a little more how to more easily identify the merge commit that pulled in a particular commit. Since all commits only refer to their ancestors, git has no easy way of following the chain downstream to the merge point (at least, none that I know of). If anyone knows some git-fu to do this, I'd be very much obliged. :) T
I think you can find the merge which introduced the commit with something like this: git log <commit hash>..master --merges --ancestry-path Though that includes subsequent merges; I think you just want the last one.
Aug 30 2013