Re: current git kernel has strange problems during bisect
- From
- Kyle Moffett <kyle@moffetthome.net>
- Date
- Jan 13, 2009, 20:26 UTC
- Message-ID
- <f73f7ab80901131226s6af7730cucf9c44bc2b4f9545@mail.gmail.com>
- In-Reply-To
- <200901112239.20306.borntraeger@de.ibm.com>
On Sun, Jan 11, 2009 at 4:39 PM, Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> In my opinion we should really avoid subtree merges in the future as a curtesy > to people who do the uncool work of testing, problem tracking and bisecting. > </rant>
As an alternative, you can relatively easily rewrite the following independent histories:
A -- B -- C X -- Y -- Z
To look like this:
A -- B -- C -- X' -- Y' -- Z'
Where X' is (C + sub/dir/X), Y' is (C + sub/dir/Y), etc...
Assuming the following:
"master" branch points to commit C
"child" branch points to commit Z
"${KIDSTART}" is the SHA1 id of commit Xecho "${KIDSTART} $(git rev-parse --verify master)" >>.git/info/graftsgit filter-branch --index-filter 'git read-tree master && git read-tree --prefix="sub/dir/" "${GIT_COMMIT}"' -- master..child
The one downside is then somebody actually has to *test* those commits when doing a bisect, even though they did not materially change anything. The upside is that there isn't any "what the hell just happened?" when you *do* end up in the newly-created branch.
Cheers, Kyle Moffett