2

我正在尝试将代码从半公开的 Subversion 存储库导入到我自己的 Git 存储库中。 此处解释了 Subversion 存储库访问(启用 JavaScript 读取;查看“[下载]”链接)。

我尝试过git svn clone手动以及通过svn2git实用程序使用。无论哪种方式,我都会遇到如下所示的相同错误。

我可以验证我是否可以访问 Subversion 存储库:svn co svn+ssh://harmony@eniac.seas.upenn.edu/trunk有效。

帮助!

$ svn2git svn+ssh://harmony@eniac.seas.upenn.edu -v
Running command: git svn init --prefix=svn/ --no-metadata --trunk=trunk --tags=tags --branches=branches svn+ssh://harmony@eniac.seas.upenn.edu
Running command: git svn fetch
Read access denied for root of edit: Not authorized to open root of edit operation at /usr/local/Cellar/git/1.8.5.3/lib/perl5/site_perl/Git/SVN/Ra.pm line 290

command failed:
2>&1 git svn fetch
4

1 回答 1

0

为了使克隆或 svn2git 进程正常工作,我很确定您会遇到以下两种解决方案之一:

在 svnserve.conf 设置中:

anon-access = read至:anon-access = none

或者,如果它是通过 Apache 使用 Authz 文件中的 Apache SVN 模块提供的,该模块在进行更改的评论中链接:

[/]
* = 

至:

[/]
* = r

所有这些都说:

如果您无法正确配置服务器以允许您执行此操作,则上述方法无法解决您的问题,您可以查看 svnsync 命令是否有更好的运气:

然后,您可以使用本地 SVN 创建您的 git 存储库。假设您的意图是能够将更改推送回原始 SVN 源,我认为这不需要上面讨论的初始克隆所需的配置,并且您可以从这一点开始工作......这整个建议基于“可能”链,因此如果您确实需要这样做并且不能更改服务器的配置,希望其他人有更好的解决方案。

于 2014-03-11T20:01:50.403 回答