我正在尝试提交我的本地SVN,它一直运行得很好,但今天它给出了这个错误:
Unable to open repository
'file:///C:/wamp/www/svns/[myproject]/[dir]/[subdir]'
可能是什么问题?
编辑:完整错误:
Commit failed (details follow):
Unable to open an ra_local session to URL
Unable to open repository
'file:///C:/wamp/www/svns/[myproject]/[dir]/[subdir]'
第二次编辑:
这是TortoiseSVN和SVN客户信息:
TortoiseSVN 1.5.7, Build 15182 - 32 Bit , 2009/01/24 22:44:13
Subversion 1.5.5,
apr 1.2.12
apr-utils 1.2.12
berkeley db 4.4.20
neon 0.28.3
OpenSSL 0.9.8i 15 Sep 2008
zlib 1.2.3
答案 0 :(得分:6)
您最近是否升级了一个或多个subversion客户端?
如果他们直接访问您的存储库,那么您的所有客户端应该处于同一级别(所有1.4。,全部为1.5。,或者很快全部为1.6。*)。
从技术上讲,你可以使用其他一些组合,但是因为你需要将它们作为你的工作复制品的相同版本,你应该让它们兼容...(在1.5.X版本之前你的存储库自动升级到了使用更高版本访问它们时的最新版本。)
需要注意的另一件事是并非所有客户端都支持相同的存储库格式。大多数支持fsfs,但并非所有支持BDB。更糟糕的是,有多个不兼容的BDB版本....
TortoiseSVN,AnkhSVN和Slik Subversion在相同的1.X.Y级别拥有完全相同的BDB版本..对于其他客户,您应该阅读他们的文档
小更新: TortoiseSVN 1.6.x将放弃对file://访问BDB存储库的支持。 (然后,您将需要svnserve或apache服务器来访问这些存储库)
答案 1 :(得分:4)
不要忘记运行
svnadmin verify path\to\repository
答案 2 :(得分:4)
The usage of the file:// URL scheme to access repositories might result in repository corruption因为file://协议本质上是无状态的,并且当存储库有多个用户时,通常不会使用它。
因此,您可能希望使用svn:// URL方案来验证存储库是否确实已损坏。这是因为Subversion处理不同URL方案的方式 - 它使用存储库访问层来处理URL方案。 RA层中的不同模块处理适当的协议,如file://,svn://,http://等。在您的情况下,ra_local模块报告错误,因为它处理file:// URL方案。
如果您正在使用svnserve守护程序,则可以使用svn:// URL方案。我在这里有点冒昧,但假设你有svnserve daemon configured to run as a Window Service。 svnserve的根目录在这里很重要 - URL中的路径相对于根目录。
假设C:/ wamp / www / svns / [myproject]是您的存储库并且svnserve的根目录设置为C:/ wamp / www / svns,您可以尝试使用svn://访问项目主机名 / [myproject的]。
另一方面,由于您使用的是BDB而不是FSFS,请查看Subversion网站上的以下FAQ条目:
PS:备份很有用。
答案 3 :(得分:1)
我们在过去几天也遇到过svn问题,涉及C:/ windows / temp的权限。
可能MS修复程序破坏了svn如何访问其临时文件?
这可能与您的体验完全无关,但它看起来与我们的相似。
答案 4 :(得分:1)
我认为可能是由于以下原因之一:
迁移到fsfs存储库存储也是一个好主意。
如果这没有帮助:
之后是否还有其他错误行Unable to open repository
'file:///C:/wamp/www/svns/[myproject]/[dir]/[subdir]'
答案 5 :(得分:1)
在我的情况下,它一定是SVN-Tortoise权限设置中的错误。我没有改变任何东西,但无法突然导入或提交。只有当我重新安装SVN-Tortoise并创建了一个新的存储库时,它才得以解决。
答案 6 :(得分:0)
我要检查的前三件事: