11

我正在尝试在 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>

我找不到任何解决方案,而且似乎没有多少用户有同样的问题。

我能做些什么来解决这个问题?

4

4 回答 4

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?

于 2013-08-08T10:54:27.943 回答
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

于 2014-01-02T14:15:38.830 回答
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 ...

注意上面是你...svn2gitsvn2git 命令是什么

于 2014-04-06T13:10:18.643 回答
1

如果您有少量分支并且不想降级 git,这里有一种解决问题的方法。运行“git branch -r”以获取分支列表。然后为每个分支运行以下命令(例如命名为 svn/next_branch):

$ git branch "next_branch" "remotes/svn/next_branch"

唯一的区别是删除了“--track”选项。

这是适用于此Github 问题的修复程序

于 2013-12-13T18:17:10.057 回答