我正在尝试使用svn2git的帮助将SVN项目迁移到git。执行命令时,它会退出,并显示以下错误:
Running command: git branch --track "0.0.9" "remotes/svn/0.0.9"
fatal: Cannot setup tracking information; starting point 'remotes/svn/0.0.9' is not a branch.
开始于:
svn2git http://<host>/<project>
我找不到任何解决方案,似乎没有多少用户遇到同样的问题。
我该怎么做才能解决这个问题?
答案 0 :(得分:7)
我使用Debian Sid遇到了同样的问题(“git”的版本是1:1.8.3.2-1)。在我使用股票“git”包(1:1.7.2.5-3)在Debian Squeeze上失败之前。 最后我最终使用了squeeze-backport存储库(1:1.7.10.4-1~bpo60 + 1),现在它可以工作了。
你使用的是什么版本的Git?
答案 1 :(得分:6)
这应该解决它:
更改此行https://github.com/nirvdrum/svn2git/blob/master/lib/svn2git/migration.rb#L319
来自run_command("git branch --track \"#{branch}\" \"remotes/svn/#{branch}\"")
到run_command("git branch \"#{branch}\" \"remotes/svn/#{branch}\"")
应该解决它。
至少它对我来说没有任何问题。
您可以在migration.rb
下的Windows上找到C:\Ruby200-x64\lib\ruby\gems\2.0.0\gems\svn2git-2.2.2\lib\svn2git
文件或类似的内容
https://github.com/nirvdrum/svn2git/issues/132#issuecomment-31453436
答案 2 :(得分:2)
我想在不更改代码的情况下为此添加快速而肮脏的解决方案!
每次出现错误时,只需手动更改分支并继续执行svn2git
命令。
所以要完成工作流程:
svn2git ....
Running command: git branch --track "0.0.9" "remotes/svn/0.0.9"
fatal: Cannot setup tracking information; starting point 'remotes/svn/0.0.9' is not a branch.
Running command:
行并删除--track
)branch "0.0.9" "remotes/svn/0.0.9"
svn2git
svn2git ...
注意...
之后的svn2git
是你的svn2git命令
答案 3 :(得分:1)
如果你有少量分支并且不想降级git,这是一种解决问题的方法。运行“git branch -r”以获取分支列表。然后为每个分支运行以下命令(例如,名为svn / next_branch):
$ git branch "next_branch" "remotes/svn/next_branch"
唯一的区别是删除了“--track”选项。
这是适用于此Github Issue
的修复程序