我刚尝试将svn-repo导入git repo,但我遇到了一些问题。在开始使用svn2git http://path.to.repo.com/repos/a/ --username abc --verbose
导入第一个回购后,我认为“这需要太长时间”。而且由于此时它仅用于测试目的,我决定CTRL-C
并首先导入较小的存储库。所以我输入了svn2g http://path.to.repoe.com/repos/b/ --username xyz --verbose
。
这给了我这个
URL access forbidden for unknown reason: access to 'http://svn.path.to.repo.com/repos/b/' forbidden at /usr/lib/perl5/vendor_perl/5.10.0/Git/SVN.pm line 303
我确定,用户名是正确的,所以我看了一下svn_access_log,我看到,每当我用--username xyz
运行第二个命令时,我的svn_access_log会弹出:
{arbitrary IP} - - [31/Oct/2013:08:48:15 +0100] "OPTIONS /repos/b HTTP/1.1" 401 401
{arbitrary IP} - abc [31/Oct/2013:08:48:15 +0100] "OPTIONS /repos/b HTTP/1.1" 403 211
为什么svn2git在这里使用了错误的用户名,即使我提供了它?
更新:
在我运行svn co http://path.to.repo.com/repos/b/ --username xyz
之后,它运作良好。任何人都可以向我解释一下吗?
答案 0 :(得分:2)
因为这有效:
svn co http://path.to.repo.com/repos/b/ --username xyz.
svn2git http://path.to.repo.com/repos/a/ --username abc --verbose
这应该意味着svn co
已经缓存了svn端的凭据,并且svn2git
命令已成功重用。