2008-12-13 65 views
2

Subversion客户端可能以任何方式破坏存储库吗?这可能是任何形式的破坏性破坏,但它必须是无法从备份中恢复存储库才能恢复的。SVN客户端能否破坏存储库?

显然,删除所有内容然后检查它是否容易通过回滚来修复,所以我正在寻找更多的东西。

回答

6

Subversion客户端可以与服务器通信以访问存储库,也可以使用URL直接访问存储库。在第一种情况下,服务器负责存储库,因此客户端不能直接“中断”它。在第二种情况下,客户端负责存储库,因此客户端中的错误可能会影响存储库。

+0

我认为你的回应意味着:它可以,但只有当你直接访问file://协议。我对吗? – 2008-12-13 21:10:58

2

理论上,它不能破坏存储库,因为Subversion使用原子提交(Subversion中的错误)。

但是,忽略访问控制,客户端当然可以在新版本中移动/复制/删除存储库的内容。旧版本继续存在。理论上,您可以通过审慎使用svn命令或由管理员删除以后的修订版本来恢复这些旧版本。

在一般情况下,它是非常安全的,但看的访问控制:http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.serverconfig.httpd.authz

注:格雷戈已经暗示,它使用本地存储库,当作为客户端的库直接访问文件系统是稍微复杂一些。基本上,你必须信任Subversion。

1

如果客户端可以通过任何需要存储库恢复的方式来破坏存储库,那么Subversion会认为这是一个非常严重的错误。

快速查看他们的bug跟踪器,发现他们偶尔会出现库损坏错误,但是如果没有bug,客户端无法彻底破坏存储库。