设置 git-svn 以遵循非标准的 svn repo

Setting up git-svn to follow a non-standard svn repo

这是我的 SVN 存储库的结构:

项目最初开发为ProjectBranch1,然后复制到ProjectBranch2,最后是ProjectBranch3。我想获取包含所有历史记录的项目,并且我希望 git 了解每个分支都在前一个分支结束的地方开始。

现在,git init 命令有一个 -b 选项来指定用于分支的子文件夹。但是,svn 分支不包含在子文件夹中;如上所述,它们作为单独的子目录位于根目录中。

如何配置 git-svn 以实现此目的?

我能够使用以下 .git/config 文件完成此操作:

[svn-remote "svn"]
    url = http://server.net:8080/svn/CompanyName
    fetch = ProjectBranch3:refs/remotes/origin/trunk
    branches = {ProjectBranch1, ProjectBranch2}:refs/remotes/origin/bracnhes/*