git svn clone:来自SVN的错误,(220001):项目不可读

时间:2015-10-14 02:18:47

标签: git svn git-svn

我在尝试从远程svn服务器构建一个git repo时遇到了这个错误,似乎很多人遇到这种情况的原因各不相同。所有谷歌搜索结果对我来说都不起作用,我只是用模糊解决方案修正了错误。

错误:

  

git svn fetch

     

W:项目在/Applications/Xcode.app/Contents/Developer/usr/share/git-core/perl/Git/SVN.pm第154行无法读取。

     

SVN出错,(220001):项目不可读

5 个答案:

答案 0 :(得分:1)

关键目标不是git-svn,而是svn。

我使用命令 svn list 检查了svn权限并获得了权限被拒绝错误,然后指定了参数" - 用户名myname"和" - config-dir。"对于list命令,在svn在某处保存我的svn配置后,运行" git svn clone repo_url",它可以工作!

我偶然修复了这个错误,这是我的猜测,git-svn在文件" /Applications/Xcode.app/Contents/Developer/usr/share/git-core的内部实现中调用了svn命令/perl/Git/SVN.pm第154行",所以svn必须有足够的权限来结帐回购。

我没有找到确切的答案,只是在这里分享我的代码体验。

祝你好运!

答案 1 :(得分:1)

我有类似的问题,但在我的情况下,它不是由于缺少权限,而是git-svn在.subversion下创建并使用了自己的%USERPROFILE%配置文件夹,而svn正在使用Subversion下的%APPDATA%文件夹。

我的解决方案是从.subversion删除%USERPROFILE%文件夹,并在其位置创建指向svn配置目录.subversion的符号链接(名为%APPDATA%\Subversion)。

答案 2 :(得分:0)

Git svn does not use the svn credentials

可能是凭据问题 - .subversion文件夹无法提供凭据。看到我的回答,这可能有所帮助。

  

git-svn不使用SVN的原因是它使用凭证   存储在C:\ Users \ XXXX.subversion中,由git-svn创建但是   不是SVN。就我而言,来自SVN的错误,(220001):项目不可读:   项目不可读也会发生。

     

解决方案是将凭据从SVN移动到git-svn:

     
      
  1. 使用SVN从服务器签出。记得保存身份验证。这可以为SVN创建凭据。文件存储在   C:\用户\ XXXXX \应用程序数据\漫游\颠覆
  2.   
  3. 删除位于用户目录C:\ Users \ XXXXX下的.subversion文件夹(如果存在)。然后复制   C:\ Users \ XXXXX \ AppData \ Roaming \ Subversion文件夹到C:\ Users \ XXXXX。
  4.   
  5. 然后将其重命名为.subversion。由于名称以“。”开头,因此您可能需要使用“rename”命令在cmd控制台中重命名。
  6.   
  7. 最后,您可以使用git-svn clone。
  8.   

答案 3 :(得分:0)

如果authz配置文件中缺少别名部分,则会发生

答案 4 :(得分:-1)

这是由于缺乏许可。在SVN服务器上,打开位于存储库config目录下的“authz”文件。添加以下行以允许对每个进行只读访问:

[/]
* = r

您可能希望在完成迁移后撤消访问权限。