SVN客户端可以破坏存储库吗?

SVN客户端可以破坏存储库吗?,svn,repository,Svn,Repository,Subversion客户端是否可能以任何方式破坏存储库?这可能是任何类型的破坏性破坏,但必须是这样的:如果不从备份中恢复存储库,就无法从中恢复 显然,删除所有内容,然后检查是否可以简单地通过回滚进行修复,因此我要寻找的不仅仅是这些内容。Subversion客户端可以与服务器对话以访问存储库,也可以使用文件://URL直接访问存储库。在第一种情况下,服务器负责存储库,因此客户端不能直接“破坏”它。在第二种情况下,客户机负责存储库,因此客户机中的错误可能会影响存储库。理论上,它不会损坏存储库,因为S

Subversion客户端是否可能以任何方式破坏存储库?这可能是任何类型的破坏性破坏,但必须是这样的:如果不从备份中恢复存储库,就无法从中恢复


显然,删除所有内容,然后检查是否可以简单地通过回滚进行修复,因此我要寻找的不仅仅是这些内容。

Subversion客户端可以与服务器对话以访问存储库,也可以使用
文件://
URL直接访问存储库。在第一种情况下,服务器负责存储库,因此客户端不能直接“破坏”它。在第二种情况下,客户机负责存储库,因此客户机中的错误可能会影响存储库。

理论上,它不会损坏存储库,因为Subversion使用原子提交(尽管Subversion中存在错误)

但是,忽略访问控制,客户机当然可以在新版本中移动/复制/删除存储库的内容。旧版本仍然存在。从理论上讲,您可以始终恢复到这些旧版本,或者明智地使用svn命令,或者由管理员删除以后的版本

一般来说,这是相当安全的,但请务必注意访问控制:


注意:正如Greg所暗示的,使用本地存储库时会稍微复杂一些,因为客户端可以直接通过文件系统访问存储库。本质上,您必须信任Subversion。

如果客户机可以以任何方式破坏存储库,而需要恢复存储库,Subversion人员认为这是一个非常严重的错误


快速查看他们的bug追踪器可以发现,他们确实偶尔会有存储库损坏bug,但如果没有bug,客户端就不可能完全破坏存储库。

我认为您的回答是:可以,但前提是您直接使用file://协议访问。我说得对吗?没错。如果您使用的是诸如svn://之类的协议,并且客户端操作可能会破坏存储库,那么在svnserve而不是客户端中存在错误。