I setup two repositories using the structure described in the Git book here: http://git-scm.com/book/ch6-7.html. Basically, I wanted to keep a relationship between the copy of one repo and it's master branch on origin. I know you can do this with submodules but the process of updating them seemed a bit cumbersome, and I was told (and read) that subtrees were easier to work with. Anyways, I setup "RepoA" to have a subtree of "RepoB" in it. I followed the steps provided in the link to a tee.
I've made major modifications to the subtree in "RepoA". At the same time, other people on my team are making modifications to the master on "RepoB". When all is said and I done, I expect that I can pull the changes from "RepoB" origin/master and subtree merge them into the subtree in RepoA. However, when I do this (using the -s subtree merge option with --squash and --no-commit), all of the changes I made to the subtree in RepoA are removed. Even new files that I added to the subtree are deleted! Why is this? Did I misunderstand the use of a subtree? Am I merging it improperly? Any help would be greatly appreciated!
Additionally, if it's impossible to properly merge these with a subtree merge, is my only choice for merging them doing it by hand, manually, and creating a new project structure?
Thanks!