考虑安装Subversion来控制一个大型现有项目 - 六个开发人员,目前大约有6000多个源文件。
项目存在于Solaris计算机上的目录树中。开发人员telnet或ssh到机器并在复制到其主目录后使用vi或类似程序编辑程序。
鉴于我们目前的情况,我们似乎不太可能只是将新机器作为svn服务器,所以我试图确定我们是否可以简单地在开发服务器上本地安装svnserve并创建一个隐藏的文件夹有些人在盒子的内部容纳了存储库。鉴于file:/// access
方法应该有点危险,我认为我们仍然可以通过类似http://hostname/svn/our-project
的方式访问respitory。
思考?评论
干杯
N /
答案 0 :(得分:1)
大是相对的,我们(例如)使用subversion来管理80个开发者和大约180万个文件。
我很乐意建议您阅读Subversion "red book"。至少完全阅读前三章(也许是第四章),然后直接跳到svnadmin create
命令。
之后,你应该看看" svn + ssh"访问作为临时(甚至可能是永久)解决方案,直到您可以评估各种网络传输的各种优缺点。
----在有用的附加评论后编辑----
如果您当前正在进入中心位置,那么您可以ssh到subversion服务器。所以,没有额外的好处,但是再一次,也没有额外的损害。
考虑到您当前的设置,设置http服务器实际上会删除安全性。 Http流量是未加密的,但这可能不是一个大问题(取决于你是否关心)。有一点需要担心的是,您必须管理Apache Http服务器,如果您有管理员待命,将不会造成额外负担。否则它会。
此外,管理http服务器并不能帮助您摆脱管理subversion存储库的困境。 SVN存储库仍然存在,仍然需要进行管理,但您必须管理http服务器才能访问svn存储库。如果你从svn + ssh:// URL开始,你仍然可以把这个非http的reposistory放在一个http服务器后面。
最后,是的,您可以在任何现有计算机上安装subversion客户端和管理工具。我推荐一台Linux机器,但这不是解决问题的唯一方法。
至于"危险"去,文件:///访问是"危险"只有当人们习惯通过文件擦除/ rm删除存储库时。存储库的内容同样被曝光"通过所有解决方案的设计。 Http包装协议允许每个目录(因为它利用URL匹配)访问控制;但是,你可能永远不会使用它们(它们会影响性能)。
在任何情况下,不要为基于任何内容的文件而烦恼,我们的想法是使用基于网络的控件,因此svnserve / svnserver + ssh / http / https就是你想要的。然后锁定服务器以仅允许基于管理员文件访问服务器存储库数据库。
然后将cron + svnadmin转储解决方案(通过管道传输到压缩例程)放在一起作为临时备份脚本。有些人甚至用它来镜像"镜像"更接近远程系统。
不要忘记定期测试备份。有趣的是备份似乎一直有效,直到你需要它们(然后你发现它们在八个月前就已经破了,但看起来好像它们正在工作)。
祝你好运