我和我的一个 friend 正在用 perl 开发一个用于系统管理的 web 服务器,类似于 webmin。我们有一个 linux box,当前版本的服务器可以正常工作,还有其他开源网络产品,如网络邮件、日历、库存管理系统等。
目前,代码不受版本控制,我们只是定期做快照。 我们希望将代码置于修订控制之下。 我的问题是什么是设置它和使用软件解决方案的好方法:
我能想到的一个解决方案是将当前在 linux 机器上的项目的根设置为存储库的根。我们将在我们的个人机器上检查代码,对其进行处理,提交并测试结果。
还有其他想法、方法吗?
非常感谢,
斯帕斯基
最佳答案
Version Control with Subversion除了是 Subversion 本身的权威之外,还涵盖了许多基本的版本控制概念。如果您阅读了第一章,您可能会对如何设置有所了解。
在您的情况下,听起来您正在实时系统上进行实际开发。就版本控制系统而言,这并不重要。在您的情况下,您仍然可以将 Subversion 用于:
- 将提交作为备份代码和使用工作更改更新存储库的一种方式。养成在测试后提交的习惯,这样失败的提交就会尽可能少。
- 标记是跟踪您所做的事情的一种方式。添加功能后,制作标签。这样您就可以在必要时轻松恢复到“在我们实现 X 之前”。
- 分支以开发更大的更改 block 。如果一个特性需要几天的时间来开发,你可能想在开发期间提交,而不是提交到主干,因为你提交的东西只是完成了一半。在这种情况下,您应该提交给一个分支。
在何处创建存储库并不重要,但您应该只将工作副本放在实际可用的地方。在您的情况下,听起来像实时服务器是唯一这样的地方。
对于更轻量级的解决方案,开销更少,任何地方的任何文件夹都可以作为存储库,您可能需要使用 Bazaar反而。 Bazaar 是一个比 Subversion 更灵活的版本控制系统,可能更适合您的需要。使用 Bazaar,您可以创建您的实时系统的存储库,而不是在其他地方设置存储库,但仍然遵循上述 3 条准则。
关于linux - 服务器端 CGI 编程的版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2225188/