Subversion代码库保护

3
我在这里看到了各种有关Subversion的问题,但没有任何与我寻找的内容相关的问题。
我将雇用一名自由职业者在我的现有项目上远程工作(扩展功能和代码维护)。虽然我将信任他处理代码,并让他拥有所有必要的访问权限来工作和测试应用程序......但如果我们之间发生争议,自由职业者通过损害代码来回退,我该如何防止他删除、损坏或破坏代码仓库?
我认为这种事情发生的可能性很小,但我仍然想采取预防措施。我们如何在Subversion中实现这样的目标?
第二个问题是,你有没有好的Subversion托管建议,可以轻松执行所有svn操作......也许有一个Web界面......(付费托管也可以,但不要太昂贵......)
3个回答

6
将某人授权访问 SVN 仓库的签入或签出代码不会让他们破坏或删除仓库,他们所做的更改可以被还原。这就是版本控制系统的全部意义。只需不要给开发人员完全访问托管 SVN 的服务器(例如 RDP 访问)即可。
然而,确保仓库本身经常备份以防数据丢失或损坏是系统管理员(您?)的责任。
关于如何提供对仓库的访问权限,我使用 VisualSVN 来设置对仓库的访问权限并取得了良好的效果。它为最终用户提供 https 访问仓库,并且他们可以使用任何客户端工具来访问代码。作为开发人员,我个人从未发现 SVN Web 接口有太多用处。

谢谢,这回答了我的问题。我只知道subversion的checkin、checkout、update和commit操作 :) 我正在考虑使用外部svn托管,所以我想系统管理员会保留备份。那么我如何确保开发人员没有完全访问托管服务器的权限呢?是否有一些特殊的特权(管理员)用户只能由我访问?也许托管公司会提供给我一些控制来分配特权访问权限?是这样吗? - user481913

2
我不确定你的特定关注点是什么。版本控制软件(尤其是Subversion)的整个目的是使任何人都无法删除、损坏或破坏代码库。
我猜想你只是不想浪费时间恢复更改。首先,你应该对自由职业者有一定的信任。毕竟他不是一名实习生,而是你付钱雇佣的人。如果你认为他不能胜任工作,你就不会雇佣他。其次,没有任何自动化系统可以替代沟通。如果你在应用程序的某个区域工作,并且不想处理来自同事的意外更新,请告诉他!
一些可以帮助你的功能:
  • 分支:复杂或实验性的功能最好通过并行开发和最终合并到主干来完成。

  • 访问控制:你可以配置存储库,使某些路径对某些用户不可读或不可写。


1

所有的更改和损坏都可以在Subversion中还原;但是,如果您仍然想要非常确定,您可以随时在其他地方备份您的关键代码,以便该自由职业者无法查看。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接