I have a git repository containing a fork of project foo:
origin/master
+src/
|  +foo/
|     +A/
|     +B/
|     +C/
+stuff/
I also have a mirror of project foo:
upstream/master
+foo/
   +A/
   +B/
   +C/
I do not yet have in git a common ancestry. I would like to both establish a common ancestry to make future merges easier and merge in any changes from the upstream foo that have been made since I forked.
I attempted to rebase my changes to foo on top of the upstream:
C:\src>git rebase -s recursive -X subtree=foo/ --root upstream/master
But, that did not work the way I desired. I ended up with origin/master looking exactly like upstream/master with none of my changes included and completely missing stuff.
origin/master
+foo/
   +A/
   +B/
   +C/
What do I need to do to merge upstream foo with my src/foo?
Am I limited to doing something like this?
C:\src>git merge upstream/master -s recursive -X subtree=foo/
 
    
 
    