At the beginning of the project we started REPO-A. That repo continued for several months until one of the engineers decided to fork the project. Now he did this by just duplicating the directory and starting a new repo. REPO-B. Now B has none of the history from A, and A hasn't had any further development. NOW we want to go back to A and merge everything from B back into A, and keep all the history of B while it was a separate repo. The only saving grace here is that since B started as a copy of A I should be able to graft on B's history right onto the end of A, and everything should be fine.
Unfortunately I've had a helluva time trying to do that.
I tried in (REPO-A):
git add remote new REPO-B
git checkout -b mergeAttempt
git merge -X theirs --allow-unrelated-histories new/master
Now this seems to work slightly, only REPO-B's history now overwrites any of the history that existed from REPO-A on the files that were modified, so there's no true history. So I tried:
git cherry-pick -X theirs <REPO-B first commit>..<REPO-B last commit>
This also fails because REPO-B has several merges between the branches that had been created in it and master. I also tried to create a branch in REPO-B that rebases the root of the repo to the last commit in REPO-A with hilarious consequences.
So I'm not sure where to go from here.