2

我刚刚尝试将 svn-repo 导入到 git repo,但我遇到了一些问题。在开始导入第一个 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。谁能给我解释一下?

4

1 回答 1

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命令已成功重用该凭据。

于 2013-10-31T09:01:15.347 回答