I have migrated my project's Subversion repository to Git, as per How to migrate SVN with history to a new Git repository. It worked very well except there is one disconnected branch due to some incorrect use of Subversion in our history. I'm not sure what the terminology is to describe the state of this branch. Here's what it looks like:
trunk: ...-A1---> <---A3----A4-...
beta: B1--B2--B3--B4----B5
From what I can tell, this is what happened. At revision B1 a new "beta" branch was created by using cp instead of svn cp. At revisions B4 and A3 the entire repository was moved from /svnroot/project/orig to /svnroot/project (I don't think this is related to the problem but I mention it just in case). At A4 the "beta" branch was merged back into trunk using mv and rm commands instead of svn merge.
How can I fix the Git repository history so that B1 correctly branches from A1 and B5 merges back into A4? Note there are actually 75 revisions in the "beta" branch.