Fixing branches from a (really messed up) subversion repository
- From
- Joshua Shrader <jshrader83@gmail.com>
- Date
- Jun 15, 2010, 16:26 UTC
- Message-ID
- <AANLkTinmU3tOkv9usjGogHn5cXm07FMde8ryDKuWNKD_@mail.gmail.com>
I've finally convinced my project to switch to Git... However, when my project first began, the people responsible for branching/tagging were fairly unfamiliar with standard procedures. As such, the beginnings of our repository look a little something like this:
.
`----project
|
`branch1
| |
| `----project
| `src
`branch2
| |
| `----project
| `src
`srcThat is, the branches were essentially inside the trunk. In order to check out the "mainline" of development, you also got all of the branches. After a few branches, they realized that this was a problem, and someone found out about the trunk/branches/tags paradigm. Our branches were svn mv'd to separate directories under "branches", and all was well. Now everything looked like a sane version control repository.
Now, we want to import this into Git. I tried git svn import --stdlayout..., but this just stalled. I'm assuming because the first version didn't have a trunk/branches/tags structure. So, I had to import it leaving off the --stdlayout option. Is there any way to manually fix this in Git? After the import is complete, my master branch will have a trunk, branches, and tags directory in it. Can I create real branches out of the directories under the branches directory and then remove them from master?
Any help is greatly appreciated. I've been hoping for a while that we'd switch to Git, and I don't want this to hang us up.
Thanks,
Josh