目前我们正在尝试将一些更大的项目从 svn 迁移到 git。svn2git 在我们的一些项目中工作得非常好,但在我们更大的项目中却存在问题。最后我们会收到消息:
命令失败:
git checkout OldBranch 1
我们也知道为什么我们会收到消息。这是因为我们没有删除很多分支,而是将它们移到了 DEPRECATED 文件夹中。我们的svn结构基本上是这样的:
|-OurProject
| \- trunk
| \- tags
| \- branches
| | \- DEPRECATED
| | | \- OldBranch 1
| | | \- OldBranch 2
| | | \- OldBranch 3
| | \- Branch 1
| | \- Branch 2
| | \- Branch 3
错误消息总是显示到已弃用文件夹内的分支,所以我猜 svn2git 真的不喜欢那个子文件夹。
我们尝试过的:
- 使用 --exclude 参数忽略 DEPRECATED 文件夹中的所有内容,但没有运气。我们使用了几种不同的方法来排除文件夹:
--exclude 已弃用
--exclude .*DEPRECATED.*
--exclude .DEPRECATED。
- 完全删除 DEPRECATED 文件夹,但它仍会尝试查找旧分支。
- 使用 --nobranches 参数。这行得通,但我们也真的很想迁移我们当前的分支。
任何有同样问题并找到解决方案的人?