我在尝试从远程svn服务器构建一个git repo时遇到了这个错误,似乎很多人遇到这种情况的原因各不相同。所有谷歌搜索结果对我来说都不起作用,我只是用模糊解决方案修正了错误。
错误:
git svn fetch
W:项目在/Applications/Xcode.app/Contents/Developer/usr/share/git-core/perl/Git/SVN.pm第154行无法读取。
SVN出错,(220001):项目不可读
答案 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:
- 使用SVN从服务器签出。记得保存身份验证。这可以为SVN创建凭据。文件存储在 C:\用户\ XXXXX \应用程序数据\漫游\颠覆
- 删除位于用户目录C:\ Users \ XXXXX下的.subversion文件夹(如果存在)。然后复制 C:\ Users \ XXXXX \ AppData \ Roaming \ Subversion文件夹到C:\ Users \ XXXXX。
- 然后将其重命名为.subversion。由于名称以“。”开头,因此您可能需要使用“rename”命令在cmd控制台中重命名。
- 最后,您可以使用git-svn clone。
醇>
答案 3 :(得分:0)
如果authz配置文件中缺少别名部分,则会发生
答案 4 :(得分:-1)
这是由于缺乏许可。在SVN服务器上,打开位于存储库config目录下的“authz”文件。添加以下行以允许对每个进行只读访问:
[/]
* = r
您可能希望在完成迁移后撤消访问权限。