我正在尝试将代码从半公开的Subversion存储库导入到我自己的Git存储库中。 The Subversion repo access is explained here(启用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
答案 0 :(得分:0)
为了使克隆或svn2git进程正常工作,我很确定你会遇到以下两种解决方案之一:
在svnserve.conf设置中:
anon-access = read
致:anon-access = none
或者如果它是通过Apache使用Apache SVN模块在提供更改的注释中链接的Authz文件中提供的:
[/]
* =
要:
[/]
* = r
所有这些都说:
鉴于如果您无法正确配置服务器以允许您执行此操作,上述情况是您的问题的非解决方案,您可以看看您是否对svnsync命令有更好的运气:
然后,您可以使用本地SVN创建您的git仓库。假设您的意图是能够将更改推送回原始SVN源,我认为这将不需要上面讨论的初始克隆所需的配置,并且您将能够从这一点......这整个建议都基于一系列" maybes",所以如果你真的需要这样做并且不能改变服务器的配置,那么希望其他人有更好的解决方案。