Subject: Grafting mis-aligned trees.

From: "Boyd Stephen Smith Jr." <[email-masked]>
Date: Mon, 17 Nov 2008 16:45:12 -0600

I haven't gotten a response from my subscription email, so please CC me on any replies.

So, I've been managaing the source I had from a client project in git and 
have a non-linear history.  Currently, two tips (production and testing) 
but there are many feature branches that were git-merge'd in, not rebased.

Now, I've gotten the full tree.  Turns out all the source code I was 
working on was in a subdirectory "project/web".  I'd like to "graft" the 
*changes* I made onto the full tree.

I figured this might be a job for git-filter-branch.  Certainly, that did 
the job of moving all my changes into the subdirectory.  But, now I want to 
do something that's a combination or git-rebase and git-filter-branch.  I 
want to replay the *patches/deltas* (like rebase) on top of the full tree I 
have, but *maintain the non-liear history* (like filter-branch).

Can anyone think of a recipe for me?

Trees look something like this right now.

<some history> -> FT

TI -> <non-linear history> -> A -> <non-linear history> -> C
   \                            \                           \
    -> PI ------------------------> B ------------------------> D

I'd like to have it look something like:

<some history> -> FT -> <non-linear history> -> A' -> <non-linear history> -> C'
                    \                            \                           \
                     -> PI' ----------------------> B' -----------------------> D'

A', B', C', and D' are different commits, but the diff (and history) between 
FT and A' is the same as the diff (and history) between TI and A.

Again, please CC me on any replies.
-- 
Boyd Stephen Smith Jr.                     ,= ,-_-. =. 
[email-masked]                      ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy           `-'(. .)`-' 
http://iguanasuicide.org/                      \_/