题
几次了,我进入的情况下我的一个SVN库得到了损坏,我们可以做任何事情的一些版本或分支机构的项目不真的知道我们做了什么。所以我问有什么可以导致一个储存库成为腐败?
它似乎之间的不兼容问题的客户可能会引起问题,更具体地字符集。
解决方案
基本上有三种不同的情况:
- 硬件故障(存储器、fs腐败,等等。)
- 用户的登录访问的服务器可以破坏库文件。
- 虫子在颠复活动。
硬件故障通常是最难以发现,除了最明显的情况下。2种情况是可以预防通过限制性的登录访问服务器。 其他的一切 是一个错误在颠复活动。(这包括兼容性问题之间的客户和服务器。) 你应该 从来没有 能够破坏的储存库,只是通过使用一个颠复客户(甚至当有一个错误,在客户、海事组织).
其他提示
潜在文件系统损坏或有人与内部SVN目录碴周围?
有始终是硬件故障的可能性。像存储器位错误的东西可能会导致无声的腐败,而不是简单地崩溃的计算机;如果一个svn服务器进程是一个受影响,存储库可能会损坏。
如果存储库不是SVN服务器本地磁盘上,但在NFS,他们可以,如果他们正在使用伯克利数据库格式损坏。在SVN 1.5 FSFS成为新的回购协议的默认 - 这是完全幸福的生活在非锁定的文件系统,如NFS
。我有它发生几次。 SVN似乎并没有在客户端消失,而服务器花费很长的时间做一些事情,以应付好。我不知道确切的细节,但我做了什么我认为是只读的过程几kill -9
s和最后不得不事后运行svnadmin cleanup
之前,服务器会再次响应。
我不得不说,我花了一段时间才能找出回购腐败。在服务器上我不小心改变了的.svn目录的所有者回购对一些无关的用户。 SVN给我损坏错误之后,直到我删除并重新创建的回购协议。即使在我纠正它。 嫌前额
这是基于file://
回购相当普遍,但是如果你有一个用户/服务接入回购,这将不会发生。
不隶属于 StackOverflow