On Sun, Jan 11, 2009 at 4:39 PM, Christian Borntraeger <borntraeger@xxxxxxxxxx> 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 X echo "${KIDSTART} $(git rev-parse --verify master)" >>.git/info/grafts git 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html